From 7489281dc5a378407cd1f686df895062e3c7ac99 Mon Sep 17 00:00:00 2001 From: MarekZegare4 Date: Sun, 14 Jun 2026 14:40:10 +0200 Subject: [PATCH] feat(ui): show delivery marker in fullscreen message view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Draw the same delivery glyph in the inverted header bar of the fullscreen DM and channel views (DARK ink), matching the history-list behaviour: DM shows pending/delivered/failed for outgoing, channels show ✓ only on repeater echo. Co-Authored-By: Claude Opus 4.8 --- examples/companion_radio/ui-new/QuickMsgScreen.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/examples/companion_radio/ui-new/QuickMsgScreen.h b/examples/companion_radio/ui-new/QuickMsgScreen.h index 175b09f8..cd2a033b 100644 --- a/examples/companion_radio/ui-new/QuickMsgScreen.h +++ b/examples/companion_radio/ui-new/QuickMsgScreen.h @@ -884,6 +884,12 @@ public: int ret = _dm_fs.render(display, sender, e.text, _dm_hist_sel < dm_count - 1, _dm_hist_sel > 0); + if (e.outgoing) { // delivery marker in the (inverted) header bar + display.setColor(DisplayDriver::DARK); + drawAckGlyph(display, 2 + display.getTextWidth(sender) + 3, 1, + dmEffectiveStatus(e)); + display.setColor(DisplayDriver::LIGHT); + } if (_ctx_menu.active) _ctx_menu.render(display); return ret; } @@ -1016,6 +1022,12 @@ public: int ret = _fs.render(display, fsender, fmsg, _hist_sel < fs_hist_count - 1, _hist_sel > 0); + // Channels: ✓ only once a repeater echo confirms relay (see list view). + if (strcmp(fsender, "Me") == 0 && _hist[ring_pos].relay_status == ACK_OK) { + display.setColor(DisplayDriver::DARK); + drawAckGlyph(display, 2 + display.getTextWidth(fsender) + 3, 1, ACK_OK); + display.setColor(DisplayDriver::LIGHT); + } if (_ctx_menu.active) _ctx_menu.render(display); return ret; }