UI: Add time and date settings, cannot be set right now
This commit is contained in:
parent
f38ce61dc9
commit
7888a7e398
|
|
@ -37,6 +37,7 @@ enum uiScreen
|
||||||
MENU_SMS,
|
MENU_SMS,
|
||||||
MENU_GPS,
|
MENU_GPS,
|
||||||
MENU_SETTINGS,
|
MENU_SETTINGS,
|
||||||
|
SETTINGS_TIMEDATE,
|
||||||
LOW_BAT
|
LOW_BAT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -348,8 +348,8 @@ bool _ui_drawMainVFO(state_t* last_state)
|
||||||
|
|
||||||
void _ui_drawMenuTop()
|
void _ui_drawMenuTop()
|
||||||
{
|
{
|
||||||
// Print "Menu" on top bar
|
|
||||||
gfx_clearScreen();
|
gfx_clearScreen();
|
||||||
|
// Print "Menu" on top bar
|
||||||
gfx_print(layout.top_pos, "Menu", layout.top_font,
|
gfx_print(layout.top_pos, "Menu", layout.top_font,
|
||||||
TEXT_ALIGN_CENTER, color_white);
|
TEXT_ALIGN_CENTER, color_white);
|
||||||
// Print menu entries
|
// Print menu entries
|
||||||
|
|
@ -359,8 +359,8 @@ void _ui_drawMenuTop()
|
||||||
|
|
||||||
void _ui_drawMenuSettings()
|
void _ui_drawMenuSettings()
|
||||||
{
|
{
|
||||||
// Print "Settings" on top bar
|
|
||||||
gfx_clearScreen();
|
gfx_clearScreen();
|
||||||
|
// Print "Settings" on top bar
|
||||||
gfx_print(layout.top_pos, "Settings", layout.top_font,
|
gfx_print(layout.top_pos, "Settings", layout.top_font,
|
||||||
TEXT_ALIGN_CENTER, color_white);
|
TEXT_ALIGN_CENTER, color_white);
|
||||||
// Print menu entries
|
// Print menu entries
|
||||||
|
|
@ -368,6 +368,25 @@ void _ui_drawMenuSettings()
|
||||||
_ui_drawMenuList(pos, settings_items, SETTINGS_NUM, menu_selected);
|
_ui_drawMenuList(pos, settings_items, SETTINGS_NUM, menu_selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _ui_drawSettingsTimeDate(state_t* last_state)
|
||||||
|
{
|
||||||
|
gfx_clearScreen();
|
||||||
|
// Print "Time&Date" on top bar
|
||||||
|
gfx_print(layout.top_pos, "Time&Date", layout.top_font,
|
||||||
|
TEXT_ALIGN_CENTER, color_white);
|
||||||
|
// Print current time and date
|
||||||
|
char date_buf[12] = "";
|
||||||
|
char time_buf[9] = "";
|
||||||
|
snprintf(date_buf, sizeof(date_buf), "%02d/%02d/%02d",
|
||||||
|
last_state->time.date, last_state->time.month, last_state->time.year);
|
||||||
|
snprintf(time_buf, sizeof(time_buf), "%02d:%02d:%02d",
|
||||||
|
last_state->time.hour, last_state->time.minute, last_state->time.second);
|
||||||
|
gfx_print(layout.line2_pos, date_buf, layout.line2_font, TEXT_ALIGN_CENTER,
|
||||||
|
color_white);
|
||||||
|
gfx_print(layout.line3_pos, time_buf, layout.line3_font, TEXT_ALIGN_CENTER,
|
||||||
|
color_white);
|
||||||
|
}
|
||||||
|
|
||||||
void ui_init()
|
void ui_init()
|
||||||
{
|
{
|
||||||
redraw_needed = true;
|
redraw_needed = true;
|
||||||
|
|
@ -491,7 +510,22 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
|
||||||
break;
|
break;
|
||||||
// Settings menu screen
|
// Settings menu screen
|
||||||
case MENU_SETTINGS:
|
case MENU_SETTINGS:
|
||||||
if(msg.keys & KEY_ESC)
|
if(msg.keys & KEY_ENTER)
|
||||||
|
{
|
||||||
|
// Open selected menu item
|
||||||
|
switch(menu_selected)
|
||||||
|
{
|
||||||
|
// TODO: Add missing submenu states
|
||||||
|
case 0:
|
||||||
|
state.ui_screen = SETTINGS_TIMEDATE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
state.ui_screen = MENU_TOP;
|
||||||
|
}
|
||||||
|
// Reset menu selection
|
||||||
|
menu_selected = 0;
|
||||||
|
}
|
||||||
|
else if(msg.keys & KEY_ESC)
|
||||||
{
|
{
|
||||||
// Return to top menu
|
// Return to top menu
|
||||||
state.ui_screen = MENU_TOP;
|
state.ui_screen = MENU_TOP;
|
||||||
|
|
@ -499,6 +533,16 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
|
||||||
menu_selected = 0;
|
menu_selected = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
// Time&Date settingsscreen
|
||||||
|
case SETTINGS_TIMEDATE:
|
||||||
|
if(msg.keys & KEY_ESC)
|
||||||
|
{
|
||||||
|
// Return to settings menu
|
||||||
|
state.ui_screen = MENU_SETTINGS;
|
||||||
|
// Reset menu selection
|
||||||
|
menu_selected = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -529,6 +573,11 @@ bool ui_updateGUI(state_t last_state)
|
||||||
_ui_drawMenuSettings();
|
_ui_drawMenuSettings();
|
||||||
screen_update = true;
|
screen_update = true;
|
||||||
break;
|
break;
|
||||||
|
// Time&Date settings screen
|
||||||
|
case SETTINGS_TIMEDATE:
|
||||||
|
_ui_drawSettingsTimeDate(&last_state);
|
||||||
|
screen_update = true;
|
||||||
|
break;
|
||||||
// Low battery screen
|
// Low battery screen
|
||||||
case LOW_BAT:
|
case LOW_BAT:
|
||||||
screen_update = _ui_drawLowBatteryScreen();
|
screen_update = _ui_drawLowBatteryScreen();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue