mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-03 18:56:15 +00:00
feat(ui): status-bar mini-icons + settings fixes
- Replace single-letter M/B/A/G top-bar indicators with scalable mini-icons: ICON_MUTE (speaker+cross), ICON_BLUETOOTH (rune), ICON_ADVERT (broadcast mast+waves), ICON_TRAIL (map pin). Centred in the cw+2 indicator box; disconnected BT shows the plain glyph instead of lowercase b. - fix(settings): right-side values used display.valCol() without the scrollbar reserve, so after expanding a section they rendered under the indicator. Route all value cursors through valCol(display) = display.valCol() - _reserve. - fix(settings): font toggle used ^=1, which on a stale value of 2 (older Hybrid build) flips 2<->3 — both nonzero, locking applyFont() on Lemon with no way back. Normalise: use_lemon_font = use_lemon_font ? 0 : 1. - docs(settings): document Messages > Resend setting. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -445,8 +445,7 @@ class HomeScreen : public UIScreen {
|
||||
int mx = battLeftX - ind - ind_gap;
|
||||
display.fillRect(mx, 0, ind, ind_h);
|
||||
display.setColor(DisplayDriver::DARK);
|
||||
display.setCursor(mx + 1, 0);
|
||||
display.print("M");
|
||||
miniIconDraw(display, mx + (ind - ICON_MUTE.w * miniIconScale(display)) / 2, 0, ICON_MUTE);
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
battLeftX = mx;
|
||||
}
|
||||
@@ -456,16 +455,15 @@ class HomeScreen : public UIScreen {
|
||||
int leftmostX = battLeftX;
|
||||
if (_task->isSerialEnabled()) {
|
||||
int btX = battLeftX - ind - ind_gap;
|
||||
int btIconX = btX + (ind - ICON_BLUETOOTH.w * miniIconScale(display)) / 2;
|
||||
if (_task->isBLEConnected()) { // BT icon reflects BLE link, not USB
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
display.fillRect(btX, 0, ind, ind_h);
|
||||
display.setColor(DisplayDriver::DARK);
|
||||
display.setCursor(btX + 1, 0);
|
||||
display.print("B");
|
||||
miniIconDraw(display, btIconX, 0, ICON_BLUETOOTH);
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
} else {
|
||||
display.setCursor(btX + 1, 0);
|
||||
display.print("b");
|
||||
miniIconDraw(display, btIconX, 0, ICON_BLUETOOTH); // plain glyph: available, not linked
|
||||
}
|
||||
leftmostX = btX - ind_gap;
|
||||
|
||||
@@ -477,8 +475,7 @@ class HomeScreen : public UIScreen {
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
display.fillRect(aX, 0, ind, ind_h);
|
||||
display.setColor(DisplayDriver::DARK);
|
||||
display.setCursor(aX + 1, 0);
|
||||
display.print("A");
|
||||
miniIconDraw(display, aX + (ind - ICON_ADVERT.w * miniIconScale(display)) / 2, 0, ICON_ADVERT);
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
}
|
||||
leftmostX = aX - 1;
|
||||
@@ -492,8 +489,7 @@ class HomeScreen : public UIScreen {
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
display.fillRect(gX, 0, ind, ind_h);
|
||||
display.setColor(DisplayDriver::DARK);
|
||||
display.setCursor(gX + 1, 0);
|
||||
display.print("G");
|
||||
miniIconDraw(display, gX + (ind - ICON_TRAIL.w * miniIconScale(display)) / 2, 0, ICON_TRAIL);
|
||||
display.setColor(DisplayDriver::LIGHT);
|
||||
}
|
||||
leftmostX = gX - 1;
|
||||
|
||||
Reference in New Issue
Block a user