ui: enable and all off in marker selection

This commit is contained in:
TT 2019-08-18 08:18:52 +09:00
parent 36c1d79e3c
commit b823a8060d
3 changed files with 15 additions and 16 deletions

View file

@ -287,7 +287,7 @@ extern int16_t lastsaveid;
extern properties_t *active_props;
extern properties_t current_props;
extern uint8_t previous_marker;
extern int8_t previous_marker;
#define frequency0 current_props._frequency0
#define frequency1 current_props._frequency1

2
plot.c
View file

@ -1291,7 +1291,7 @@ cell_draw_marker_info(int m, int n, int w, int h)
cell_drawstring_5x7(w, h, buf, xpos, ypos, 0xffff);
// draw marker delta
if (active_marker != previous_marker && markers[previous_marker].enabled) {
if (previous_marker >= 0 && active_marker != previous_marker && markers[previous_marker].enabled) {
int idx0 = markers[previous_marker].index;
xpos = 192;
xpos -= m * CELLWIDTH -CELLOFFSETX;

23
ui.c
View file

@ -61,7 +61,7 @@ static int8_t inhibit_until_release = FALSE;
enum { OP_NONE = 0, OP_LEVER, OP_TOUCH };
uint8_t operation_requested = OP_NONE;
uint8_t previous_marker = 0;
int8_t previous_marker = -1;
enum {
UI_NORMAL, UI_MENU, UI_NUMERIC, UI_KEYPAD
@ -673,21 +673,19 @@ menu_marker_op_cb(int item)
static void
menu_marker_sel_cb(int item)
{
if (item >= 4)
return;
if (item >= 0 && item < 4) {
if (markers[item].enabled) {
markers[item].enabled = FALSE;
if (item == active_marker) {
active_marker = previous_marker;
previous_marker = 0;
}
//choose_active_marker();
} else {
// enable specified marker
markers[item].enabled = TRUE;
if (previous_marker != active_marker)
previous_marker = active_marker;
active_marker = item;
}
} else if (item == 4) { /* all off */
markers[0].enabled = FALSE;
markers[1].enabled = FALSE;
markers[2].enabled = FALSE;
markers[3].enabled = FALSE;
previous_marker = -1;
active_marker = -1;
}
if (active_marker >= 0)
redraw_marker(active_marker, TRUE);
@ -795,6 +793,7 @@ const menuitem_t menu_marker_sel[] = {
{ MT_CALLBACK, "MARKER 2", menu_marker_sel_cb },
{ MT_CALLBACK, "MARKER 3", menu_marker_sel_cb },
{ MT_CALLBACK, "MARKER 4", menu_marker_sel_cb },
{ MT_CALLBACK, "ALL OFF", menu_marker_sel_cb },
{ MT_CANCEL, S_LARROW" BACK", NULL },
{ MT_NONE, NULL, NULL } // sentinel
};