mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 14:58:12 +00:00
fix(QuickMsgScreen): show "N marked read" alert for per-contact and per-channel mark-as-read
MODE_SELECT already showed the count; CONTACT_PICK ("Mark as read") and
CHANNEL_PICK ("Mark all read") were silently clearing unread without
any feedback. Count is read before zeroing so the alert is accurate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1197,7 +1197,11 @@ public:
|
||||
if (the_mesh.getContactByIdx(_sorted[_contact_sel], ci)) {
|
||||
int sel = _ctx_menu.selectedIndex();
|
||||
if (sel == 0) {
|
||||
int cleared = (int)_task->getDMUnread(ci.id.pub_key);
|
||||
_task->clearDMUnread(ci.id.pub_key);
|
||||
char msg[32];
|
||||
snprintf(msg, sizeof(msg), "%d marked read", cleared);
|
||||
_task->showAlert(msg, 800);
|
||||
} else if (sel == 3) {
|
||||
// Pin / Unpin
|
||||
int pinned_slot = _task->findFavouriteSlot(ci.id.pub_key);
|
||||
@@ -1327,7 +1331,11 @@ public:
|
||||
uint8_t ch_idx = _channel_indices[_channel_sel];
|
||||
int sel = _ctx_menu.selectedIndex();
|
||||
if (sel == 0) {
|
||||
int cleared = (int)_ch_unread[ch_idx];
|
||||
_ch_unread[ch_idx] = 0;
|
||||
char msg[32];
|
||||
snprintf(msg, sizeof(msg), "%d marked read", cleared);
|
||||
_task->showAlert(msg, 800);
|
||||
}
|
||||
// sel 1/2/3 already handled by LEFT/RIGHT; ENTER just closes.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user