mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-03 10:46:12 +00:00
feat: add reply action to channel and DM message history
Long-press Enter (KEY_CONTEXT_MENU) on a selected message shows an 'Options / Reply' popup in both list and fullscreen views. Confirming opens MSG_PICK with 'RE: nick' title — the reply can be sent via keyboard or quick message templates, both automatically prefixed with '@nick '. - Channel: reply prefix extracted from 'sender: message' format - DM: reply available only on incoming messages, uses contact name - FullscreenMsgView: REPLY added to Result enum, KEY_CONTEXT_MENU handled - MSG_PICK: _reply_mode flag routes prefix through keyboard and templates - Guard: prevent sending empty reply (prefix-only keyboard input ignored) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
8f566732ed
commit
6f7de3ed20
@@ -14,7 +14,7 @@ struct FullscreenMsgView {
|
||||
|
||||
FullscreenMsgView() : scroll(0), active(false) {}
|
||||
|
||||
enum Result { NONE, PREV, NEXT, CLOSE };
|
||||
enum Result { NONE, PREV, NEXT, CLOSE, REPLY };
|
||||
|
||||
void begin() { scroll = 0; active = true; }
|
||||
|
||||
@@ -109,10 +109,11 @@ struct FullscreenMsgView {
|
||||
}
|
||||
|
||||
Result handleInput(char c) {
|
||||
if (c == KEY_UP) { if (scroll > 0) scroll--; return NONE; }
|
||||
if (c == KEY_DOWN) { scroll++; return NONE; }
|
||||
if (c == KEY_LEFT) return NEXT;
|
||||
if (c == KEY_RIGHT) return PREV;
|
||||
if (c == KEY_UP) { if (scroll > 0) scroll--; return NONE; }
|
||||
if (c == KEY_DOWN) { scroll++; return NONE; }
|
||||
if (c == KEY_LEFT) return NEXT;
|
||||
if (c == KEY_RIGHT) return PREV;
|
||||
if (c == KEY_CONTEXT_MENU) return REPLY;
|
||||
if (c == KEY_ENTER || c == KEY_CANCEL) return CLOSE;
|
||||
return NONE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user