mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-05 03:36:13 +00:00
refactor(admin): make Admin remote-only, move device settings to Settings
A device administering itself via the Admin tool read as awkward, so the local mode is gone and its options relocated to Settings. - AdminScreen is remote-only: drop the CHOOSER phase, _local_mode, the LocalField/LocalKind model and activateLocalField/commitLocalField. Phases collapse to LOGIN/COMMAND/REPLY, entered only via startFor(). - Tools > Admin opens straight to the Nodes picker (ACT_ADMIN -> pickAdminTarget()). Backing out of a command screen returns to that picker; the picker's Cancel returns to Tools. gotoAdminScreen() removed. - Settings > System gains Name (keyboard-edited node_name) and Reboot (action row, placed last so it isn't the default cursor). Radio + TX power were already in Settings; Send advert is the home ADVERT page. Docs: tools_screen.md Admin section rewritten remote-only; settings_screen.md System table gains Name + Reboot. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,7 @@ class NearbyScreen : public UIScreen {
|
||||
enum Action : uint8_t { ACT_NAV, ACT_PING, ACT_WAYPOINT, ACT_LOCATOR,
|
||||
ACT_ADD, ACT_DELETE, ACT_FAV, ACT_ADMIN, ACT_SORT, ACT_SCAN };
|
||||
|
||||
// Set by UITask::pickAdminTarget() (Tools > Admin's "Remote node..." choice):
|
||||
// Set by UITask::pickAdminTarget() (Tools > Admin, which is remote-only):
|
||||
// while true, ENTER on an eligible row (a stored repeater/room contact) hands
|
||||
// the node straight to Admin instead of opening the detail view -- everything
|
||||
// else (filters, scan, ping, sort, the Hold-Enter menu) behaves identically to
|
||||
@@ -934,7 +934,7 @@ public:
|
||||
|
||||
// ── list view ───────────────────────────────────────────────────────────
|
||||
if (c == KEY_CANCEL) {
|
||||
if (_pick_admin_target) { _pick_admin_target = false; _task->gotoAdminScreen(); return true; }
|
||||
if (_pick_admin_target) { _pick_admin_target = false; _task->gotoToolsScreen(); return true; }
|
||||
if (_source == SRC_SCAN) leaveScan();
|
||||
else _task->gotoToolsScreen();
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user