mirror of
https://github.com/lwvmobile/dsd-fme.git
synced 2026-11-09 15:27:22 -05:00
Event History Setup: #287
Allow Event History to be cycled from short string on, long string on, or of with the 'h' shortcut keyf;
This commit is contained in:
@@ -171,7 +171,7 @@ Some Keyboard Shortcuts have been implemented for testing to see how users like
|
||||
esc or arrow keys - ncurses menu
|
||||
q - quit
|
||||
c - toggle compact mode
|
||||
h - toggle event history
|
||||
h - cycle event history short, long, or off
|
||||
z - toggle console payloads
|
||||
a - toggle call alert beep
|
||||
4 - force privacy/scrambler key assertion over enc identifiers (dmr and nxdn)
|
||||
|
||||
@@ -387,9 +387,9 @@ typedef struct
|
||||
pa_simple *pulse_digi_dev_outR;
|
||||
char pa_input_idx[100];
|
||||
char pa_output_idx[100];
|
||||
int use_ncurses_terminal;
|
||||
int ncurses_compact;
|
||||
int ncurses_history;
|
||||
uint8_t use_ncurses_terminal;
|
||||
uint8_t ncurses_compact;
|
||||
uint8_t ncurses_history;
|
||||
int reset_state;
|
||||
int payload;
|
||||
char output_name[1024];
|
||||
|
||||
@@ -201,10 +201,10 @@ uint8_t ncurses_input_handler(dsd_opts * opts, dsd_state * state, int c)
|
||||
else opts->call_alert = 1;
|
||||
}
|
||||
|
||||
if (c == 104) //'h' key, toggle history
|
||||
if (c == 104) //'h' key, cycle history off, short, long
|
||||
{
|
||||
if (opts->ncurses_history == 1) opts->ncurses_history = 0;
|
||||
else opts->ncurses_history = 1;
|
||||
opts->ncurses_history++;
|
||||
opts->ncurses_history %= 3;
|
||||
}
|
||||
|
||||
if (c == 113) //'q' key, quit
|
||||
|
||||
@@ -1590,13 +1590,15 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
||||
attroff(COLOR_PAIR(3));
|
||||
}
|
||||
//only print event history if enabled
|
||||
if (opts->ncurses_history == 1)
|
||||
attron(COLOR_PAIR(4)); //cyan for history
|
||||
printw ("--Latest Event History ([|])---Slot %d (\\)---Cycle (h)-Short/Long/Off----------\n", state->eh_slot+1);
|
||||
if (opts->ncurses_history != 0)
|
||||
{
|
||||
attron(COLOR_PAIR(4)); //cyan for history
|
||||
printw ("--Latest Event History ([|])---Slot %d (\\)-------------------------------------\n", state->eh_slot+1);
|
||||
for (uint16_t i = (state->eh_index+1); i < (state->eh_index+11); i++)
|
||||
{
|
||||
|
||||
uint16_t string_size = 71; //short uniform size that doesn't exceed the fence
|
||||
if (opts->ncurses_history == 2)
|
||||
string_size = 1999; //full string size
|
||||
uint8_t slot = state->eh_slot;
|
||||
uint8_t color_pair = state->event_history_s[slot].Event_History_Items[i%255].color_pair; //this is the color pair assignment for this line
|
||||
attron(COLOR_PAIR(4));
|
||||
@@ -1605,8 +1607,8 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
||||
sprintf (text_string, "%s", "BUMBLEBEETUNA");
|
||||
if (strncmp(text_string, state->event_history_s[slot].Event_History_Items[i%255].event_string, 13) != 0)
|
||||
{
|
||||
memcpy(text_string, state->event_history_s[slot].Event_History_Items[i%255].event_string, 71*sizeof(char));
|
||||
text_string[71] = 0; //terminate string
|
||||
memcpy(text_string, state->event_history_s[slot].Event_History_Items[i%255].event_string, string_size*sizeof(char));
|
||||
text_string[string_size] = 0; //terminate string
|
||||
printw ("| #%03d ", i%255);
|
||||
attron(COLOR_PAIR(color_pair)); //this is where the custom color switch occurs for the event_string
|
||||
printw ("%s\n", text_string);
|
||||
@@ -1648,10 +1650,11 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
||||
}
|
||||
|
||||
}
|
||||
printw ("------------------------------------------------------------------------------\n");
|
||||
attroff(COLOR_PAIR(4)); //cyan for history
|
||||
}
|
||||
|
||||
printw ("------------------------------------------------------------------------------\n");
|
||||
attroff(COLOR_PAIR(4)); //cyan for history
|
||||
|
||||
refresh();
|
||||
|
||||
//handle input
|
||||
|
||||
Reference in New Issue
Block a user