Browse Source

Cleanup

master
cancel 5 years ago
parent
commit
92256d5941
  1. 273
      tui_main.c

273
tui_main.c

@ -3131,166 +3131,159 @@ int main(int argc, char **argv) {
qnav_stack_pop(); qnav_stack_pop();
break; break;
} }
if (qmenu_drive(qm, key, &act)) { if (!qmenu_drive(qm, key, &act))
switch (act.any.type) { break;
case Qmenu_action_type_canceled: switch (act.any.type) {
qnav_stack_pop(); case Qmenu_action_type_canceled:
break; qnav_stack_pop();
case Qmenu_action_type_picked: { break;
switch (qmenu_id(qm)) { case Qmenu_action_type_picked:
case Main_menu_id: { switch (qmenu_id(qm)) {
switch (act.picked.id) { case Main_menu_id:
case Main_menu_quit: switch (act.picked.id) {
goto quit; case Main_menu_quit:
case Main_menu_cosmetics: goto quit;
push_cosmetics_menu(); case Main_menu_cosmetics:
break; push_cosmetics_menu();
case Main_menu_controls: break;
push_controls_msg(); case Main_menu_controls:
break; push_controls_msg();
case Main_menu_opers_guide: break;
push_opers_guide_msg(); case Main_menu_opers_guide:
break; push_opers_guide_msg();
case Main_menu_about: break;
push_about_msg(); case Main_menu_about:
break; push_about_msg();
case Main_menu_new: break;
push_confirm_new_file_menu(); case Main_menu_new:
break; push_confirm_new_file_menu();
case Main_menu_open: break;
push_open_form(osoc(t.file_name)); case Main_menu_open:
break; push_open_form(osoc(t.file_name));
case Main_menu_save: break;
if (osolen(t.file_name) > 0) { case Main_menu_save:
try_save_with_msg(&t.ged.field, t.file_name); if (osolen(t.file_name) > 0) {
} else { try_save_with_msg(&t.ged.field, t.file_name);
push_save_as_form(""); } else {
} push_save_as_form("");
break; }
case Main_menu_save_as: break;
push_save_as_form(osoc(t.file_name)); case Main_menu_save_as:
break; push_save_as_form(osoc(t.file_name));
case Main_menu_set_tempo: break;
push_set_tempo_form(t.ged.bpm); case Main_menu_set_tempo:
break; push_set_tempo_form(t.ged.bpm);
case Main_menu_set_grid_dims: break;
push_set_grid_dims_form(t.ged.field.height, t.ged.field.width); case Main_menu_set_grid_dims:
break; push_set_grid_dims_form(t.ged.field.height, t.ged.field.width);
case Main_menu_autofit_grid: break;
push_autofit_menu(); case Main_menu_autofit_grid:
break; push_autofit_menu();
break;
#ifdef FEAT_PORTMIDI #ifdef FEAT_PORTMIDI
case Main_menu_choose_portmidi_output: case Main_menu_choose_portmidi_output:
push_portmidi_output_device_menu(&t.midi_mode); push_portmidi_output_device_menu(&t.midi_mode);
break; break;
#endif #endif
} }
break;
case Autofit_menu_id: {
Usz new_field_h, new_field_w;
bool did_get_ok_size = false;
switch (act.picked.id) {
case Autofit_nicely_id:
did_get_ok_size = tui_suggest_nice_grid_size(
&t, t.ged.win_h, t.ged.win_w, &new_field_h, &new_field_w);
break; break;
case Autofit_tightly_id:
did_get_ok_size = tui_suggest_tight_grid_size(
&t, t.ged.win_h, t.ged.win_w, &new_field_h, &new_field_w);
break;
}
if (did_get_ok_size) {
ged_resize_grid(&t.ged.field, &t.ged.mbuf_r, new_field_h,
new_field_w, t.ged.tick_num, &t.ged.scratch_field,
&t.ged.undo_hist, &t.ged.ged_cursor);
ged_update_internal_geometry(&t.ged);
t.ged.needs_remarking = true;
t.ged.is_draw_dirty = true;
ged_make_cursor_visible(&t.ged);
} }
case Autofit_menu_id: { qnav_stack_pop();
pop_qnav_if_main_menu();
break;
}
case Confirm_new_file_menu_id:
switch (act.picked.id) {
case Confirm_new_file_reject_id:
qnav_stack_pop();
break;
case Confirm_new_file_accept_id: {
Usz new_field_h, new_field_w; Usz new_field_h, new_field_w;
bool did_get_ok_size = false; if (tui_suggest_nice_grid_size(&t, t.ged.win_h, t.ged.win_w,
switch (act.picked.id) { &new_field_h, &new_field_w)) {
case Autofit_nicely_id: undo_history_push(&t.ged.undo_hist, &t.ged.field,
did_get_ok_size = tui_suggest_nice_grid_size( t.ged.tick_num);
&t, t.ged.win_h, t.ged.win_w, &new_field_h, &new_field_w); field_resize_raw(&t.ged.field, new_field_h, new_field_w);
break; memset(t.ged.field.buffer, '.',
case Autofit_tightly_id: new_field_h * new_field_w * sizeof(Glyph));
did_get_ok_size = tui_suggest_tight_grid_size( ged_cursor_confine(&t.ged.ged_cursor, new_field_h, new_field_w);
&t, t.ged.win_h, t.ged.win_w, &new_field_h, &new_field_w); mbuf_reusable_ensure_size(&t.ged.mbuf_r, new_field_h,
break; new_field_w);
}
if (did_get_ok_size) {
ged_resize_grid(&t.ged.field, &t.ged.mbuf_r, new_field_h,
new_field_w, t.ged.tick_num,
&t.ged.scratch_field, &t.ged.undo_hist,
&t.ged.ged_cursor);
ged_update_internal_geometry(&t.ged); ged_update_internal_geometry(&t.ged);
ged_make_cursor_visible(&t.ged);
t.ged.needs_remarking = true; t.ged.needs_remarking = true;
t.ged.is_draw_dirty = true; t.ged.is_draw_dirty = true;
ged_make_cursor_visible(&t.ged); osoclear(&t.file_name);
}
qnav_stack_pop();
pop_qnav_if_main_menu();
break;
}
case Confirm_new_file_menu_id: {
switch (act.picked.id) {
case Confirm_new_file_reject_id:
qnav_stack_pop(); qnav_stack_pop();
break; pop_qnav_if_main_menu();
case Confirm_new_file_accept_id: {
Usz new_field_h, new_field_w;
if (tui_suggest_nice_grid_size(&t, t.ged.win_h, t.ged.win_w,
&new_field_h, &new_field_w)) {
undo_history_push(&t.ged.undo_hist, &t.ged.field,
t.ged.tick_num);
field_resize_raw(&t.ged.field, new_field_h, new_field_w);
memset(t.ged.field.buffer, '.',
new_field_h * new_field_w * sizeof(Glyph));
ged_cursor_confine(&t.ged.ged_cursor, new_field_h,
new_field_w);
mbuf_reusable_ensure_size(&t.ged.mbuf_r, new_field_h,
new_field_w);
ged_update_internal_geometry(&t.ged);
ged_make_cursor_visible(&t.ged);
t.ged.needs_remarking = true;
t.ged.is_draw_dirty = true;
osoclear(&t.file_name);
qnav_stack_pop();
pop_qnav_if_main_menu();
}
break;
}
} }
break; break;
} }
case Cosmetics_menu_id: }
switch (act.picked.id) { break;
case Cosmetics_soft_margins_id: case Cosmetics_menu_id:
push_soft_margins_form(t.softmargin_y, t.softmargin_x); switch (act.picked.id) {
break; case Cosmetics_soft_margins_id:
case Cosmetics_grid_dots_id: push_soft_margins_form(t.softmargin_y, t.softmargin_x);
push_plainorfancy_menu(Set_fancy_grid_dots_menu_id, "Grid Dots",
t.fancy_grid_dots);
break;
case Cosmetics_grid_rulers_id:
push_plainorfancy_menu(Set_fancy_grid_rulers_menu_id,
"Grid Rulers", t.fancy_grid_rulers);
break;
}
break;
case Set_fancy_grid_dots_menu_id:
plainorfancy_menu_was_picked(&t, act.picked.id,
&t.fancy_grid_dots,
Preftouch_griddotstype);
break; break;
case Set_fancy_grid_rulers_menu_id: case Cosmetics_grid_dots_id:
plainorfancy_menu_was_picked(&t, act.picked.id, push_plainorfancy_menu(Set_fancy_grid_dots_menu_id, "Grid Dots",
&t.fancy_grid_rulers, t.fancy_grid_dots);
Preftouch_gridrulerstype);
break; break;
#ifdef FEAT_PORTMIDI case Cosmetics_grid_rulers_id:
case Portmidi_output_device_menu_id: { push_plainorfancy_menu(Set_fancy_grid_rulers_menu_id,
ged_stop_all_sustained_notes(&t.ged); "Grid Rulers", t.fancy_grid_rulers);
midi_mode_deinit(&t.midi_mode);
PmError pme =
midi_mode_init_portmidi(&t.midi_mode, act.picked.id);
qnav_stack_pop();
if (pme) {
qmsg_printf_push("PortMidi Error",
"Error setting PortMidi output device:\n%s",
Pm_GetErrorText(pme));
} else {
tui_save_prefs(&t);
}
break; break;
} }
#endif break;
case Set_fancy_grid_dots_menu_id:
plainorfancy_menu_was_picked(&t, act.picked.id, &t.fancy_grid_dots,
Preftouch_griddotstype);
break;
case Set_fancy_grid_rulers_menu_id:
plainorfancy_menu_was_picked(&t, act.picked.id,
&t.fancy_grid_rulers,
Preftouch_gridrulerstype);
break;
#ifdef FEAT_PORTMIDI
case Portmidi_output_device_menu_id: {
ged_stop_all_sustained_notes(&t.ged);
midi_mode_deinit(&t.midi_mode);
PmError pme = midi_mode_init_portmidi(&t.midi_mode, act.picked.id);
qnav_stack_pop();
if (pme) {
qmsg_printf_push("PortMidi Error",
"Error setting PortMidi output device:\n%s",
Pm_GetErrorText(pme));
} else {
tui_save_prefs(&t);
} }
break; break;
} }
#endif
} }
break;
} }
break; break;
} }

Loading…
Cancel
Save