Not redraw menu then need step back and leave ui

pull/4/head
DiSlord 6 years ago
parent 29fe6898ed
commit 800fa5ea66

16
ui.c

@ -129,6 +129,7 @@ static void ui_process_keypad(void);
static void ui_process_numeric(void); static void ui_process_numeric(void);
static void choose_active_marker(void); static void choose_active_marker(void);
static void menu_move_back(void); static void menu_move_back(void);
static void menu_move_back_and_leave_ui(void);
static void menu_push_submenu(const menuitem_t *submenu); static void menu_push_submenu(const menuitem_t *submenu);
//static const menuitem_t menu_marker_type[]; //static const menuitem_t menu_marker_type[];
@ -767,8 +768,7 @@ menu_marker_op_cb(int item, uint8_t data)
break; break;
#endif #endif
} }
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
redraw_request |= REDRAW_CAL_STATUS; redraw_request |= REDRAW_CAL_STATUS;
//redraw_all(); //redraw_all();
} }
@ -1145,6 +1145,18 @@ menu_move_back(void)
draw_menu(); draw_menu();
} }
static void
menu_move_back_and_leave_ui(void)
{
if (menu_current_level == 0)
return;
menu_current_level--;
if (selection >= 0)
selection = 0;
ensure_selection();
ui_mode_normal();
}
static void static void
menu_push_submenu(const menuitem_t *submenu) menu_push_submenu(const menuitem_t *submenu)
{ {

@ -553,14 +553,12 @@ extern const menuitem_t menu_topultra[];
case 0: case 0:
// if (setting.mode != M_LOW) // if (setting.mode != M_LOW)
// set_mode(M_LOW); // set_mode(M_LOW);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
break; break;
case 1: case 1:
// if (setting.mode != M_HIGH) // if (setting.mode != M_HIGH)
// set_mode(M_HIGH); // set_mode(M_HIGH);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
break; break;
case 2: case 2:
menu_push_submenu(menu_lowoutputmode); menu_push_submenu(menu_lowoutputmode);
@ -588,8 +586,7 @@ void menu_load_preset_cb(int item, uint8_t data)
return; return;
} }
} }
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
} }
void menu_store_preset_cb(int item, uint8_t data) void menu_store_preset_cb(int item, uint8_t data)
@ -601,8 +598,7 @@ void menu_store_preset_cb(int item, uint8_t data)
data = 0; data = 0;
} }
caldata_save(data); caldata_save(data);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
} }
@ -636,8 +632,7 @@ static void menu_calibrate_cb(int item, uint8_t data)
switch (item) { switch (item) {
case 1: case 1:
sweep_mode = SWEEP_CALIBRATE; sweep_mode = SWEEP_CALIBRATE;
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
break; break;
case 2: case 2:
reset_calibration(); reset_calibration();
@ -672,8 +667,7 @@ static void menu_config_cb(int item, uint8_t data)
break; break;
case 2: case 2:
sweep_mode = 0; // Suspend sweep to save time sweep_mode = 0; // Suspend sweep to save time
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
setting.test = 0; setting.test = 0;
setting.test_argument = 0; setting.test_argument = 0;
sweep_mode = SWEEP_SELFTEST; sweep_mode = SWEEP_SELFTEST;
@ -868,8 +862,7 @@ static void menu_atten_cb(int item, uint8_t data)
(void)item; (void)item;
(void)data; (void)data;
set_auto_attenuation(); set_auto_attenuation();
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
} }
static void menu_atten_high_cb(int item, uint8_t data) static void menu_atten_high_cb(int item, uint8_t data)
@ -877,8 +870,7 @@ static void menu_atten_high_cb(int item, uint8_t data)
(void)item; (void)item;
setting.auto_attenuation = false; setting.auto_attenuation = false;
set_attenuation(data); set_attenuation(data);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
} }
static void menu_reflevel_cb(int item, uint8_t data) static void menu_reflevel_cb(int item, uint8_t data)
@ -886,8 +878,7 @@ static void menu_reflevel_cb(int item, uint8_t data)
(void)item; (void)item;
(void)data; (void)data;
set_auto_reflevel(true); set_auto_reflevel(true);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
} }
static void menu_storage_cb(int item, uint8_t data) static void menu_storage_cb(int item, uint8_t data)
@ -910,8 +901,7 @@ static void menu_storage_cb(int item, uint8_t data)
toggle_waterfall(); toggle_waterfall();
break; break;
} }
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
// draw_cal_status(); // draw_cal_status();
} }
@ -919,8 +909,7 @@ static void menu_average_cb(int item, uint8_t data)
{ {
(void)data; (void)data;
set_average(item); set_average(item);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
redraw_request |= REDRAW_CAL_STATUS; redraw_request |= REDRAW_CAL_STATUS;
} }
@ -979,17 +968,14 @@ static void menu_rbw_cb(int item, uint8_t data)
{ {
(void)item; (void)item;
set_RBW(rbwsel_x10[data]); set_RBW(rbwsel_x10[data]);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
// draw_cal_status();
} }
static void menu_unit_cb (int item, uint8_t data) static void menu_unit_cb (int item, uint8_t data)
{ {
(void)item; (void)item;
set_unit(data); set_unit(data);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
} }
enum { enum {
@ -1001,9 +987,7 @@ static void menu_scale_per_cb(int item, uint8_t data)
{ {
(void)item; (void)item;
set_scale(menu_scale_per_value[data]); set_scale(menu_scale_per_value[data]);
menu_move_back(); menu_move_back_and_leave_ui();
ui_mode_normal();
// draw_cal_status();
} }
static void menu_trigger_cb(int item, uint8_t data) static void menu_trigger_cb(int item, uint8_t data)

Loading…
Cancel
Save

Powered by TurnKey Linux.