mirror of https://codeberg.org/cage/tinmop/
- [gemini] ensured TOC is rendered only for rendering stream.
This commit is contained in:
parent
8423ca7d38
commit
6ecc3fc5a0
|
@ -343,6 +343,9 @@
|
|||
(labels ((maybe-render-line (line-event)
|
||||
(when (eq (stream-status wrapper-object) :rendering)
|
||||
(program-events:push-event line-event)))
|
||||
(maybe-render-toc ()
|
||||
(when (eq (stream-status wrapper-object) :rendering)
|
||||
(ui:open-gemini-toc)))
|
||||
(maybe-render-preformat-wrapper (file-stream wrapper-object)
|
||||
(when (not gemini-format-p)
|
||||
(let* ((preformat-line (format nil "~a~%" gemini-parser:+preformatted-prefix+))
|
||||
|
@ -404,7 +407,7 @@
|
|||
(ui:notify (_ "Gemini document downloading aborted"))
|
||||
(progn
|
||||
(ui:notify (_ "Gemini document downloading completed"))
|
||||
(ui:open-gemini-toc)
|
||||
(maybe-render-toc)
|
||||
(setf (stream-status wrapper-object) :completed)))
|
||||
;; (allow-downloading wrapper-object)
|
||||
(gemini-client:close-ssl-socket download-socket))))))))
|
||||
|
|
|
@ -1279,10 +1279,16 @@
|
|||
(defclass gemini-toc-open (program-event) ())
|
||||
|
||||
(defmethod process-event ((object gemini-toc-open))
|
||||
(let ((win specials:*message-window*))
|
||||
(if (message-window:gemini-window-p* win)
|
||||
(gemini-page-toc:open-toc-window win)
|
||||
(ui:error-message (_ "TOC can be shown for gemini windows only.")))))
|
||||
(let ((message-win specials:*message-window*)
|
||||
(toc-win specials:*gemini-toc-window*))
|
||||
(cond
|
||||
((not (message-window:gemini-window-p* message-win))
|
||||
(ui:error-message (_ "TOC can be shown for gemini windows only.")))
|
||||
((and toc-win
|
||||
(windows:win-shown-p toc-win))
|
||||
(ui:error-message (_ "Window already active.")))
|
||||
(t
|
||||
(gemini-page-toc:open-toc-window message-win)))))
|
||||
|
||||
;;;; pleroma
|
||||
|
||||
|
|
Loading…
Reference in New Issue