From c16e88ad998f2e3af8425c892117e15c547b5a87 Mon Sep 17 00:00:00 2001 From: cage Date: Sat, 11 Nov 2023 18:13:58 +0100 Subject: [PATCH] - improved formatting of text in window that shows the parent of a message. --- src/ui-goodies.lisp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/ui-goodies.lisp b/src/ui-goodies.lisp index a8c90ea..1d4920d 100644 --- a/src/ui-goodies.lisp +++ b/src/ui-goodies.lisp @@ -3497,13 +3497,21 @@ gemini client certificates!)." (new-window-width (truncate (* (windows:win-width *main-window*) 2/3))) (status-id (actual-author-message-id selected-row)) (parent-row (db:get-parent-status-row status-id)) - (words (split-words (db:row-message-rendered-text parent-row))) - (lines (flush-left-mono-text words new-window-width)) + (lines (split-lines (db:row-message-rendered-text parent-row))) (bg (swconf:win-bg swconf:+key-help-dialog+)) (fg (swconf:win-fg swconf:+key-help-dialog+))) - (windows:make-blocking-message-dialog *main-window* - nil - (_ "Parent message") - lines - bg - fg))) + (let ((actual-lines '())) + (loop for line in lines do + (if (< (length line) + new-window-width) + (push line actual-lines) + (let* ((words (split-words line)) + (formatted-lines (flush-left-mono-text words new-window-width))) + (loop for formatted-line in formatted-lines do + (push formatted-line actual-lines))))) + (windows:make-blocking-message-dialog *main-window* + nil + (_ "Parent message") + (nreverse actual-lines) + bg + fg))))