feat: select active on marker menu, disable if the item is active

This commit is contained in:
TT 2019-09-29 07:01:23 +09:00
parent 65a36fbf91
commit 0f24a6bd7f

37
ui.c
View file

@ -834,15 +834,38 @@ menu_marker_op_cb(int item)
//redraw_all(); //redraw_all();
} }
void
active_marker_select(int item)
{
if (item == -1) {
active_marker = previous_marker;
previous_marker = -1;
if (active_marker == -1) {
choose_active_marker();
}
} else {
if (previous_marker != active_marker)
previous_marker = active_marker;
active_marker = item;
}
}
static void static void
menu_marker_sel_cb(int item) menu_marker_sel_cb(int item)
{ {
if (item >= 0 && item < 4) { if (item >= 0 && item < 4) {
// enable specified marker if (markers[item].enabled) {
markers[item].enabled = TRUE; if (item == active_marker) {
if (previous_marker != active_marker) // disable if active trace is selected
previous_marker = active_marker; markers[item].enabled = FALSE;
active_marker = item; active_marker_select(-1);
} else {
active_marker_select(item);
}
} else {
markers[item].enabled = TRUE;
active_marker_select(item);
}
} else if (item == 4) { /* all off */ } else if (item == 4) { /* all off */
markers[0].enabled = FALSE; markers[0].enabled = FALSE;
markers[1].enabled = FALSE; markers[1].enabled = FALSE;
@ -851,10 +874,8 @@ menu_marker_sel_cb(int item)
previous_marker = -1; previous_marker = -1;
active_marker = -1; active_marker = -1;
} }
if (active_marker >= 0) redraw_marker(active_marker, TRUE);
redraw_marker(active_marker, TRUE);
draw_menu(); draw_menu();
//ui_mode_normal();
} }
const menuitem_t menu_calop[] = { const menuitem_t menu_calop[] = {