Implement draft of the macro menu feature

replace/4cbd31e5c6db80234eec981c58feb0d5f1ae9a58
Niccolò Izzo 2020-12-21 16:47:34 +01:00
rodzic a057d2bfee
commit 2fe6cd1cb6
3 zmienionych plików z 36 dodań i 1 usunięć

Wyświetl plik

@ -37,6 +37,7 @@ enum uiScreen
MENU_CONTACTS,
MENU_SMS,
MENU_GPS,
MENU_MACRO,
MENU_SETTINGS,
SETTINGS_TIMEDATE,
SETTINGS_TIMEDATE_SET,

Wyświetl plik

@ -684,6 +684,23 @@ bool _ui_freq_check_limits(freq_t freq)
return valid;
}
bool _ui_drawMenuMacro() {
gfx_print(layout.line1_pos, "1 2 3", FONT_SIZE_12PT, TEXT_ALIGN_CENTER,
color_white);
gfx_print(layout.line2_pos, "4 5 6", FONT_SIZE_12PT, TEXT_ALIGN_CENTER,
color_white);
gfx_print(layout.line3_pos, "7 8 9", FONT_SIZE_12PT, TEXT_ALIGN_CENTER,
color_white);
return true;
}
bool _ui_drawDarkOverlay() {
color_t alpha_grey = {0, 0, 0, 245};
point_t origin = {0, 0};
gfx_drawRect(origin, SCREEN_WIDTH, SCREEN_HEIGHT, alpha_grey, true);
return true;
}
void ui_updateFSM(event_t event, bool *sync_rtx)
{
// Check if battery has enough charge to operate
@ -732,6 +749,7 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
else if(msg.keys & KEY_ENTER)
// Open Menu
state.ui_screen = MENU_TOP;
<<<<<<< HEAD
else if(input_isNumberPressed(msg))
{
// Open Frequency input screen
@ -843,6 +861,12 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
}
}
}
else if(msg.keys & KEY_MONI)
{
// Open Macro Menu
_ui_drawDarkOverlay();
state.ui_screen = MENU_MACRO;
}
break;
// Top menu screen
case MENU_TOP:
@ -905,6 +929,12 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
menu_selected = 0;
}
break;
// Macro menu
case MENU_MACRO:
// Exit from this menu when monitor key is released
if(!(msg.keys & KEY_MONI))
state.ui_screen = MAIN_VFO;
break;
// Settings menu screen
case MENU_SETTINGS:
if(msg.keys & KEY_ENTER)
@ -1009,6 +1039,10 @@ void ui_updateGUI(state_t last_state)
case MENU_CHANNEL:
_ui_drawMenuChannel();
break;
// Macro menu
case MENU_MACRO:
screen_update = _ui_drawMenuMacro();
break;
// Settings menu screen
case MENU_SETTINGS:
_ui_drawMenuSettings();

Wyświetl plik

@ -49,7 +49,7 @@ keyboard_t kbd_getKeys() {
if (state[SDL_SCANCODE_RETURN]) keys |= KEY_ENTER;
if (state[SDL_SCANCODE_NONUSHASH]) keys |= KEY_HASH;
if (state[SDL_SCANCODE_MINUS]) keys |= KEY_F1;
if (state[SDLK_PLUS]) keys |= KEY_MONI;
if (state[SDL_SCANCODE_M]) keys |= KEY_MONI;
return keys;
}