example 'meshtastic': fix 'unread messages'; let user choose region after app install

This commit is contained in:
pls.153 2024-03-04 19:03:17 +01:00
parent b7e23aec5a
commit bf912d817a
10 changed files with 63 additions and 35 deletions

View file

@ -42,18 +42,22 @@
(defun set-unread (name n)
(unless (string= lora:*broadcast-name* name)
(qjs |setUnread| ui:*group*
name (float n)) ; see 'qml:hex'
name (float n)) ; 'float': see 'qml:hex'
(when (plusp n)
(set-unread-state t))))
(defun unread-messages-p ()
(dolist (name (radio-names))
(x:when-it (app:setting name :unread-messages)
(unless (zerop x:it)
(return-from unread-messages-p t))))
nil)
(defun receiver-changed ()
(let ((curr-name (app:setting :latest-receiver)))
(unless (string= lora:*broadcast-name* curr-name)
(app:change-setting curr-name 0 :sub-key :unread-messages)
(set-unread curr-name 0)
(dolist (name (radio-names))
(x:when-it (app:setting name :unread-messages)
(unless (zerop x:it)
(return-from receiver-changed))))
(set-unread-state nil))))
(unless (unread-messages-p)
(set-unread-state nil)))))