From 4dde0c12e078e3e9084de110abba590e0337ee60 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 7 Nov 2026 12:29:36 +0100 Subject: sonix: upload a boot logo saved earlier Upload saved... picks a PNG or JPEG from the output folder and sends it through the same path as Upload, waiting for Wi-Fi transfer as well. Co-Authored-By: Claude Opus 5.5 --- desktop/modules/sonix/BootlogoTab.qml | 19 +++++++++++++++++-- desktop/modules/sonix/README.md | 3 ++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/desktop/modules/sonix/BootlogoTab.qml b/desktop/modules/sonix/BootlogoTab.qml index 799f4fe..70c9fdd 100644 --- a/desktop/modules/sonix/BootlogoTab.qml +++ b/desktop/modules/sonix/BootlogoTab.qml @@ -74,7 +74,9 @@ Row { // The wait for Wi-Fi transfer is capped by time, 60s from the click. property real deadline: 0 - function upload() { tab.save(file => { tab.deadline = Date.now() + 60000; tab.send(file); }); } + function upload() { tab.save(file => tab.uploadFile(file)); } + // Also for a logo saved earlier, picked from the output folder. + function uploadFile(file) { tab.deadline = Date.now() + 60000; tab.send(file); } function send(file) { tab.busy = true; Sonix.upload(file, tab.cardDir, (code, out) => { @@ -312,10 +314,15 @@ Row { } Button { text: "Change…"; onClicked: pickFolder.open() } } + Button { + text: "Upload saved…" + enabled: Sonix.present && !tab.busy && !tab.waiting + onClicked: pickSaved.open() + } Text { width: parent.width wrapMode: Text.Wrap - text: "Save writes the logo and a transparent mask of the text. Upload also sends the logo to the card's Bootlogo folder; Wi-Fi transfer must be open on the player." + text: "Save writes the logo and a transparent mask of the text. Upload also sends the logo to the card's Bootlogo folder; Upload saved sends one saved earlier. Wi-Fi transfer must be open on the player." font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 5 } color: Theme.subtext } @@ -341,4 +348,12 @@ Row { currentFolder: "file://" + tab.folder onAccepted: tab.set({ folder: tab.pathOf(pickFolder.folder) }) } + P.FileDialog { + id: pickSaved + title: "Upload a saved logo" + fileMode: P.FileDialog.OpenFile + folder: "file://" + tab.folder + nameFilters: ["Boot logos (bootlogo-*.png)", "Pictures (*.png *.jpg *.jpeg *.PNG *.JPG *.JPEG)"] + onAccepted: tab.uploadFile(tab.pathOf(pickSaved.file)) + } } diff --git a/desktop/modules/sonix/README.md b/desktop/modules/sonix/README.md index 945b62e..386a1a9 100644 --- a/desktop/modules/sonix/README.md +++ b/desktop/modules/sonix/README.md @@ -58,7 +58,8 @@ OFL, in `fonts/`) in two colours: the six player accents, white, black, or the udt accent. Save writes `bootlogo-.png` and `bootlogo--mask.png`, the text on transparency, to the output folder. Upload saves, then sends the PNG to `Bootlogo/` on the card through Wi-Fi -transfer, waiting up to 60s for it to be opened on the player. The logo is +transfer, waiting up to 60s for it to be opened on the player. Upload saved… +sends a logo saved earlier, picked from the output folder, the same way. The logo is then picked on the player: Settings > Appearance > Boot logo. ## Tests -- cgit v1.2.3