mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-24 02:37:50 +00:00
Add channel name instead of channel slot
This commit is contained in:
@@ -448,8 +448,13 @@ void menuHandler::messageViewModeMenu()
|
||||
for (int ch = 0; ch < 8; ++ch) {
|
||||
auto msgs = messageStore.getChannelMessages(ch);
|
||||
if (!msgs.empty()) {
|
||||
char buf[20];
|
||||
snprintf(buf, sizeof(buf), "Channel %d", ch);
|
||||
char buf[40];
|
||||
const char* cname = channels.getName(ch);
|
||||
if (cname && cname[0]) {
|
||||
snprintf(buf, sizeof(buf), "#%s", cname);
|
||||
} else {
|
||||
snprintf(buf, sizeof(buf), "#Ch%d", ch);
|
||||
}
|
||||
labels.push_back(buf);
|
||||
ids.push_back(100 + ch);
|
||||
}
|
||||
@@ -458,8 +463,13 @@ void menuHandler::messageViewModeMenu()
|
||||
// --- Add channels from registry ---
|
||||
for (int ch : graphics::MessageRenderer::getSeenChannels()) {
|
||||
if (std::find(ids.begin(), ids.end(), 100 + ch) == ids.end()) {
|
||||
char buf[20];
|
||||
snprintf(buf, sizeof(buf), "Channel %d", ch);
|
||||
char buf[40];
|
||||
const char* cname = channels.getName(ch);
|
||||
if (cname && cname[0]) {
|
||||
snprintf(buf, sizeof(buf), "#%s", cname);
|
||||
} else {
|
||||
snprintf(buf, sizeof(buf), "#Ch%d", ch);
|
||||
}
|
||||
labels.push_back(buf);
|
||||
ids.push_back(100 + ch);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ class menuHandler
|
||||
throttle_message,
|
||||
FrameToggles,
|
||||
message_response_menu,
|
||||
message_viewmode_menu // <-- View Mode menu entry
|
||||
message_viewmode_menu
|
||||
};
|
||||
static screenMenus menuQueue;
|
||||
|
||||
@@ -59,7 +59,7 @@ class menuHandler
|
||||
static void TwelveHourPicker();
|
||||
static void ClockFacePicker();
|
||||
static void messageResponseMenu();
|
||||
static void messageViewModeMenu(); // <-- prototype already here
|
||||
static void messageViewModeMenu();
|
||||
static void homeBaseMenu();
|
||||
static void textMessageBaseMenu();
|
||||
static void systemBaseMenu();
|
||||
|
||||
@@ -301,10 +301,16 @@ void drawTextMessageFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16
|
||||
case ThreadMode::ALL:
|
||||
titleStr = "Messages";
|
||||
break;
|
||||
case ThreadMode::CHANNEL:
|
||||
snprintf(titleBuf, sizeof(titleBuf), "Ch%d", currentChannel);
|
||||
case ThreadMode::CHANNEL: {
|
||||
const char *cname = channels.getName(currentChannel);
|
||||
if (cname && cname[0]) {
|
||||
snprintf(titleBuf, sizeof(titleBuf), "#%s", cname);
|
||||
} else {
|
||||
snprintf(titleBuf, sizeof(titleBuf), "Ch%d", currentChannel);
|
||||
}
|
||||
titleStr = titleBuf;
|
||||
break;
|
||||
}
|
||||
case ThreadMode::DIRECT: {
|
||||
meshtastic_NodeInfoLite *node = nodeDB->getMeshNode(currentPeer);
|
||||
if (node && node->has_user) {
|
||||
|
||||
Reference in New Issue
Block a user