mirror of
https://codeberg.org/cage/tinmop/
synced 2025-02-20 08:40:36 +01:00
- [GUI] scheduled deletion of old history entries;
- [GUI] removed scheduler's notifications.
This commit is contained in:
parent
63c35ac408
commit
22f598e485
@ -1389,7 +1389,7 @@
|
|||||||
|
|
||||||
(defun print-info-message (message &key
|
(defun print-info-message (message &key
|
||||||
(color (gui-goodies:parse-color "black"))
|
(color (gui-goodies:parse-color "black"))
|
||||||
(bold nil))
|
(bold t))
|
||||||
(let ((info-widget (info-text gui-goodies:*main-frame*)))
|
(let ((info-widget (info-text gui-goodies:*main-frame*)))
|
||||||
(setf (gui:text info-widget) message)
|
(setf (gui:text info-widget) message)
|
||||||
(let ((color-tag (gui:tag-create info-widget
|
(let ((color-tag (gui:tag-create info-widget
|
||||||
|
@ -21,28 +21,40 @@
|
|||||||
|
|
||||||
(a:define-constant +purge-gemlog-entries-frequency+ 1800000 :test #'=)
|
(a:define-constant +purge-gemlog-entries-frequency+ 1800000 :test #'=)
|
||||||
|
|
||||||
|
(a:define-constant +purge-history-frequency+ 1800000 :test #'=)
|
||||||
|
|
||||||
(defun triggedp (ticks frequency)
|
(defun triggedp (ticks frequency)
|
||||||
(= (rem ticks frequency)
|
(= (rem ticks frequency)
|
||||||
0))
|
0))
|
||||||
|
|
||||||
(defmacro define-scheduled-procedure ((name frequency) &body body)
|
(defmacro define-scheduled-procedure ((name frequency) &body body)
|
||||||
(let ((fn-name (misc:format-fn-symbol t "~a" name)))
|
(a:with-gensyms (event-fn)
|
||||||
`(defun ,fn-name ()
|
(let ((fn-name (misc:format-fn-symbol t "~a" name)))
|
||||||
(gui:after ,frequency
|
`(defun ,fn-name (&key (start-on-boot nil))
|
||||||
(lambda ()
|
(labels ((,event-fn ()
|
||||||
(ev:with-enqueued-process-and-unblock ()
|
(ev:with-enqueued-process-and-unblock
|
||||||
,@body
|
(program-events:+minimum-event-priority+)
|
||||||
(,fn-name)))))))
|
,@body
|
||||||
|
(,fn-name))))
|
||||||
|
(when start-on-boot
|
||||||
|
(funcall (function ,event-fn)))
|
||||||
|
(gui:after ,frequency (function ,event-fn)))))))
|
||||||
|
|
||||||
(define-scheduled-procedure (refresh-gemlog-subscriptions
|
(define-scheduled-procedure (refresh-gemlog-subscriptions
|
||||||
+refresh-gemlog-subscriptions-frequency+)
|
+refresh-gemlog-subscriptions-frequency+)
|
||||||
|
(client-main-window:print-info-message (_ "Gemlogs subscriptions updating in progress…"))
|
||||||
(comm:make-request :gemini-gemlog-refresh-all-subscriptions 1)
|
(comm:make-request :gemini-gemlog-refresh-all-subscriptions 1)
|
||||||
(nodgui.tklib.notify:notify-window (_ "Gemlogs subscriptions updated")))
|
(client-main-window:print-info-message (_ "Gemlogs subscriptions updated")))
|
||||||
|
|
||||||
(define-scheduled-procedure (purge-gemlogs +purge-gemlog-entries-frequency+)
|
(define-scheduled-procedure (purge-gemlogs +purge-gemlog-entries-frequency+)
|
||||||
(comm:make-request :gemini-purge-gemlog-entries 1)
|
(comm:make-request :gemini-purge-gemlog-entries 1)
|
||||||
(nodgui.tklib.notify:notify-window (_ "Old gemlog posts deleted")))
|
(client-main-window:print-info-message (_ "Old gemlog posts deleted")))
|
||||||
|
|
||||||
|
(define-scheduled-procedure (purge-history +purge-history-frequency+)
|
||||||
|
(comm:make-request :purge-history 1)
|
||||||
|
(client-main-window:print-info-message (_ "Old history entries removed")))
|
||||||
|
|
||||||
(defun start ()
|
(defun start ()
|
||||||
(refresh-gemlog-subscriptions)
|
(refresh-gemlog-subscriptions :start-on-boot t)
|
||||||
(purge-gemlogs))
|
(purge-gemlogs)
|
||||||
|
(purge-history))
|
||||||
|
@ -31,12 +31,12 @@
|
|||||||
(db-utils:close-db)
|
(db-utils:close-db)
|
||||||
(stop-server))
|
(stop-server))
|
||||||
|
|
||||||
|
(defun purge-history ()
|
||||||
|
(db:purge-history)
|
||||||
|
t)
|
||||||
|
|
||||||
(defmacro prepare-rpc (&body body)
|
(defmacro prepare-rpc (&body body)
|
||||||
`(let ((rpc:*function-db* '()))
|
`(let ((rpc:*function-db* '()))
|
||||||
(gen-rpc "add"
|
|
||||||
'+
|
|
||||||
"a" 0
|
|
||||||
"b" 1)
|
|
||||||
(gen-rpc "complete-net-address"
|
(gen-rpc "complete-net-address"
|
||||||
'complete-net-address
|
'complete-net-address
|
||||||
"hint" 0)
|
"hint" 0)
|
||||||
@ -138,4 +138,5 @@
|
|||||||
"url" 0)
|
"url" 0)
|
||||||
(gen-rpc "iri-to-parent-path" 'iri-to-parent-path "iri" 0)
|
(gen-rpc "iri-to-parent-path" 'iri-to-parent-path "iri" 0)
|
||||||
(gen-rpc "quit-program" 'quit-program)
|
(gen-rpc "quit-program" 'quit-program)
|
||||||
|
(gen-rpc "purge-history" 'purge-history)
|
||||||
,@body))
|
,@body))
|
||||||
|
@ -3646,6 +3646,7 @@
|
|||||||
:set-bookmark-button-true
|
:set-bookmark-button-true
|
||||||
:set-bookmark-button-false
|
:set-bookmark-button-false
|
||||||
:clear-gemtext
|
:clear-gemtext
|
||||||
|
:print-info-message
|
||||||
:make-internal-iri
|
:make-internal-iri
|
||||||
:internal-iri-bookmark
|
:internal-iri-bookmark
|
||||||
:show-bookmarks-page))
|
:show-bookmarks-page))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user