From a08ec1e592390f7b6a7f923fb867276314affcd2 Mon Sep 17 00:00:00 2001 From: cage Date: Fri, 30 Aug 2024 15:21:49 +0200 Subject: [PATCH] - [GUI] added a button to popup menu to subscribe to a gemlog link. --- src/gui/client/main-window.lisp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/gui/client/main-window.lisp b/src/gui/client/main-window.lisp index 3aa98d0..730d811 100644 --- a/src/gui/client/main-window.lisp +++ b/src/gui/client/main-window.lisp @@ -674,7 +674,16 @@ local file paths." (input-file (when (string-not-empty-p output-file) (gui-goodies:with-busy* (main-window) (slurp-iri main-window link-value))))) - (fs:copy-a-file input-file output-file :overwrite t)))) + (fs:copy-a-file input-file output-file :overwrite t))) + (subscribe-as-gemlog () + (let ((subscription-ok (comm:make-request :gemini-gemlog-subscribe + 1 + link-value))) + (if subscription-ok + (gui-goodies:info-operation-completed main-window) + (gui-goodies:notify-request-error (format nil + (_ "Unable to subscribe to ~s") + link-value)))))) (lambda () (let* ((popup-menu (gui:make-menu nil (_"link menu"))) (x (gui:screen-mouse-x)) @@ -695,6 +704,7 @@ local file paths." (gui:make-menubutton popup-menu (_ "Open link in background") #'download-background-callback) + (gui:make-menubutton popup-menu (_ "Subscribe to") #'subscribe-as-gemlog) (gui:popup popup-menu x y))))) (defun scale-font (font scaling) @@ -1204,6 +1214,7 @@ local file paths." (wait-enough-data))) (buffer-filled-enough-to-open-p (buffer-size read-so-far) (declare (optimize (debug 0) (speed 3))) + (declare (fixnum buffer-size read-so-far)) (let ((filled-configuration-threshold (and buffer-size (> read-so-far buffer-size)))) (or filled-configuration-threshold