feat(l2): settings put in one consistent order and look

Settings: Name and Radio first, then Bluetooth, WiFi and GPS side by side
(a tap on each row opens its details: the pairing PIN, the networks, the GPS
screen with a new Options tab for power saving and the fixed position), then
Device, Mesh & data (Adverts & privacy now holds Auto-advert) and System.
Time & units, Power as one group. Row symbols get a column of their own, value
labels are as wide as their text, group headings are uppercase everywhere, the
auto-add node types show only with "By type". SOS in three groups, WiFi with
its switch, Map tools with the layers (Packet flow among them) under the trail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-11-02 09:54:08 +01:00
co-authored by Claude Opus 5.5
parent 81b74e41ce
commit 781a480aef
16 changed files with 217 additions and 144 deletions
+5 -3
View File
@@ -101,9 +101,11 @@ public:
void otaAction();
void adminPick(int row);
void pruneContacts();
// Settings > Privacy: the position adverts carry with the GPS off, the
// Bluetooth PIN; Settings: factory reset, asked twice (stage 1, 2; 3 erases).
// GPS > Options: the position that stands in for the GPS while it's off;
// Settings > Bluetooth (a tap on its row): the pairing PIN; Settings: factory
// reset, asked twice (stage 1, 2; 3 erases).
void ownPositionPopup();
void ownPositionText(char* sub, size_t n);
void ownPositionPick(int code);
void ownPositionDone(bool ok);
void blePinPopup();
@@ -449,7 +451,7 @@ private:
void fillFlush();
int fillPending() const;
void buildSettings();
static const int SETTINGS_GROUPS = 5;
static const int SETTINGS_GROUPS = 6;
void settingsGroup(int i);
void buildSchemaSettings();
void schemaRows(lv_obj_t* body, uint8_t page);