mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-03 18:56:15 +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:
co-authored by
Claude Sonnet 4.6
parent
51ce15bbdc
commit
fec4828124
@@ -1197,7 +1197,11 @@ public:
|
|||||||
if (the_mesh.getContactByIdx(_sorted[_contact_sel], ci)) {
|
if (the_mesh.getContactByIdx(_sorted[_contact_sel], ci)) {
|
||||||
int sel = _ctx_menu.selectedIndex();
|
int sel = _ctx_menu.selectedIndex();
|
||||||
if (sel == 0) {
|
if (sel == 0) {
|
||||||
|
int cleared = (int)_task->getDMUnread(ci.id.pub_key);
|
||||||
_task->clearDMUnread(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) {
|
} else if (sel == 3) {
|
||||||
// Pin / Unpin
|
// Pin / Unpin
|
||||||
int pinned_slot = _task->findFavouriteSlot(ci.id.pub_key);
|
int pinned_slot = _task->findFavouriteSlot(ci.id.pub_key);
|
||||||
@@ -1327,7 +1331,11 @@ public:
|
|||||||
uint8_t ch_idx = _channel_indices[_channel_sel];
|
uint8_t ch_idx = _channel_indices[_channel_sel];
|
||||||
int sel = _ctx_menu.selectedIndex();
|
int sel = _ctx_menu.selectedIndex();
|
||||||
if (sel == 0) {
|
if (sel == 0) {
|
||||||
|
int cleared = (int)_ch_unread[ch_idx];
|
||||||
_ch_unread[ch_idx] = 0;
|
_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.
|
// sel 1/2/3 already handled by LEFT/RIGHT; ENTER just closes.
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user