example 'meshtastic': make use of new 'qml:hex' convenience function; revisions

This commit is contained in:
pls.153 2023-09-19 12:51:58 +02:00
parent eff04b90f2
commit 1469595633
8 changed files with 14 additions and 10 deletions

View file

@ -18,9 +18,10 @@
(qjs |addPerson| ui:*group*
(list :radio-name lora:*broadcast-name*
:custom-name (tr "Broadcast")
:node-num lora:+broadcast-id+
:node-num (hex lora:+broadcast-id+)
:current (equal (app:setting :latest-receiver)
lora:*broadcast-name*))))
(setf (getf person :node-num) (hex (getf person :node-num)))
(qjs |addPerson| ui:*group* person))
(defun clear ()

View file

@ -23,6 +23,7 @@
#+mobile
(defun update-my-position (&optional (sec 60)) ; try for 1 min
"Mobile only: update position from GPS of mobile device."
;; see also Timer in 'qml/ext/Radios.qml'
(destructuring-bind (lat lon time)
(last-gps-position)
(if (zerop lat)

View file

@ -28,7 +28,10 @@
(parse-integer x:it :radix 16) ; uid
(prin1-to-string message)))
(if (or loading (show-message-p message))
(qjs |addMessage| ui:*messages* message)
(progn
(setf (getf message :timestamp) (hex (getf message :timestamp))
(getf message :mid) (hex (getf message :mid)))
(qjs |addMessage| ui:*messages* message))
(let* ((sender (getf message :sender))
(unread (1+ (or (app:setting sender :unread-messages) 0))))
(app:change-setting sender unread :sub-key :unread-messages)
@ -44,7 +47,7 @@
(setf (getf message :ack-state) i-state)
(db:update-message mid (prin1-to-string message))
(qjs |changeState| ui:*messages*
i-state mid))))
i-state (hex mid)))))
(defun show-messages ()
(x:when-it (app:setting :latest-receiver)

View file

@ -49,7 +49,7 @@ Rectangle {
// hack to define all model key _types_
ListElement {
radioName: ""; customName: ""; nodeNum: 0; unread: 0; current: false
radioName: ""; customName: ""; nodeNum: ""; unread: 0; current: false
}
function addPerson(person) {
@ -154,7 +154,7 @@ Rectangle {
function selected() {
view.currentIndex = index
Lisp.call("lora:change-receiver", model.nodeNum>>>0) // uint32
Lisp.call("lora:change-receiver", model.nodeNum)
rootItem.broadcast = (index === 0)
}

View file

@ -1,5 +1,4 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Rectangle {
anchors.fill: parent

View file

@ -78,7 +78,7 @@ Rectangle {
MouseArea {
anchors.fill: parent
onClicked: Lisp.call("msg:show-date", model.timestamp>>>0) // uint32
onClicked: Lisp.call("msg:show-date", model.timestamp)
}
}
@ -136,7 +136,7 @@ Rectangle {
onClicked: {
var mid = model.mid
view.model.remove(index)
Lisp.call("db:delete-message", mid>>>0) // uint32
Lisp.call("db:delete-message", mid)
}
}
}
@ -149,8 +149,8 @@ Rectangle {
// hack to define all model key _types_
ListElement {
receiver: ""; sender: ""; senderName: ""; timestamp: 0; hour: "";
text: ""; text2: ""; mid: 0; ackState: 0; me: true; hidden: false
receiver: ""; sender: ""; senderName: ""; timestamp: ""; hour: "";
text: ""; text2: ""; mid: ""; ackState: 0; me: true; hidden: false
}
function addMessage(message) { append(message) }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB