From 52aa1067feefd07cf08ca49a6fbb8274a3caab92 Mon Sep 17 00:00:00 2001 From: cancel Date: Sat, 4 Jan 2020 22:58:55 +0900 Subject: [PATCH] Add closing of main menu after using New file item --- tui_main.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tui_main.c b/tui_main.c index a0f7eb6..21cfa49 100644 --- a/tui_main.c +++ b/tui_main.c @@ -1897,6 +1897,13 @@ void push_main_menu(void) { qmenu_push_to_nav(qm); } +void pop_qnav_if_main_menu(void) { + Qblock* qb = qnav_top_block(); + if (qb && qb->tag == Qblock_type_qmenu && + qmenu_id(qmenu_of(qb)) == Main_menu_id) + qnav_stack_pop(); +} + void push_autofit_menu(void) { Qmenu* qm = qmenu_create(Autofit_menu_id); qmenu_set_title(qm, "Auto-fit Grid"); @@ -2810,6 +2817,7 @@ int main(int argc, char** argv) { ged_state.is_draw_dirty = true; heapstr_set_cstr(&file_name, ""); ged_state.filename = "unnamed"; // slightly redundant + pop_qnav_if_main_menu(); } } break; case Main_menu_open: @@ -2863,10 +2871,7 @@ int main(int argc, char** argv) { ged_make_cursor_visible(&ged_state); } qnav_stack_pop(); - qb = qnav_top_block(); - if (qb && qb->tag == Qblock_type_qmenu && - qmenu_id(qmenu_of(qb)) == Main_menu_id) - qnav_stack_pop(); + pop_qnav_if_main_menu(); } } break; } @@ -2905,11 +2910,7 @@ int main(int argc, char** argv) { ged_make_cursor_visible(&ged_state); ged_state.needs_remarking = true; ged_state.is_draw_dirty = true; - // Pop main menu if it's open, too - qb = qnav_top_block(); - if (qb && qb->tag == Qblock_type_qmenu && - qmenu_id(qmenu_of(qb)) == Main_menu_id) - qnav_stack_pop(); + pop_qnav_if_main_menu(); } else { undo_history_pop(&ged_state.undo_hist, &ged_state.field, &ged_state.tick_num);