Skip to content
Snippets Groups Projects
Commit 0c0732fb authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Use the new UIFC WIN_LEFTKEY/RIGHTKEY mode flags to enable indicators

A visual clue that there was a new navigation method available on some menus (where left/right arrow keys cycle through configured item) was needed. This seems to work nicely.
parent 85dce134
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #2868 passed
...@@ -674,7 +674,12 @@ void msgs_cfg() ...@@ -674,7 +674,12 @@ void msgs_cfg()
"The left and right arrow keys may be used to cycle through message\n" "The left and right arrow keys may be used to cycle through message\n"
"groups.\n" "groups.\n"
; ;
switch(uifc.list(WIN_ACT|WIN_T2B|WIN_EXTKEYS,6,0,60,&dflt,0,str,opt)) { uifc_winmode_t wmode = WIN_ACT|WIN_T2B|WIN_EXTKEYS;
if(grpnum > 0)
wmode |= WIN_LEFTKEY;
if(grpnum + 1 < cfg.total_grps)
wmode |= WIN_RIGHTKEY;
switch(uifc.list(wmode,6,0,60,&dflt,0,str,opt)) {
case -1: case -1:
done=1; done=1;
break; break;
......
...@@ -402,16 +402,22 @@ void sub_cfg(uint grpnum) ...@@ -402,16 +402,22 @@ void sub_cfg(uint grpnum)
"\n" "\n"
"The left and right arrow keys may be used to cycle through sub-boards.\n" "The left and right arrow keys may be used to cycle through sub-boards.\n"
; ;
switch(uifc.list(WIN_ACT|WIN_SAV|WIN_BOT|WIN_L2R|WIN_EXTKEYS uifc_winmode_t wmode = WIN_ACT|WIN_SAV|WIN_BOT|WIN_L2R|WIN_EXTKEYS;
,0,0,72,&opt_dflt,0,str,opt)) { int prev = prev_subnum(cfg.sub[i]);
int next = next_subnum(cfg.sub[i]);
if(prev != i)
wmode |= WIN_LEFTKEY;
if(next != i)
wmode |= WIN_RIGHTKEY;
switch(uifc.list(wmode,0,0,72,&opt_dflt,0,str,opt)) {
case -1: case -1:
done=1; done=1;
break; break;
case -CIO_KEY_LEFT-2: case -CIO_KEY_LEFT-2:
i = prev_subnum(cfg.sub[i]); i = prev;
break; break;
case -CIO_KEY_RIGHT-2: case -CIO_KEY_RIGHT-2:
i = next_subnum(cfg.sub[i]); i = next;
break; break;
case 0: case 0:
uifc.helpbuf=sub_long_name_help; uifc.helpbuf=sub_long_name_help;
......
...@@ -439,7 +439,12 @@ void xfer_cfg() ...@@ -439,7 +439,12 @@ void xfer_cfg()
"The left and right arrow keys may be used to cycle through file\n" "The left and right arrow keys may be used to cycle through file\n"
"libraries.\n" "libraries.\n"
; ;
switch(uifc.list(WIN_ACT|WIN_EXTKEYS,6,4,60,&dflt,0,str,opt)) { uifc_winmode_t wmode = WIN_ACT|WIN_EXTKEYS;
if(libnum > 0)
wmode |= WIN_LEFTKEY;
if(libnum + 1 < cfg.total_libs)
wmode |= WIN_RIGHTKEY;
switch(uifc.list(wmode,6,4,60,&dflt,0,str,opt)) {
case -1: case -1:
done=1; done=1;
break; break;
...@@ -1275,16 +1280,22 @@ void dir_cfg(uint libnum) ...@@ -1275,16 +1280,22 @@ void dir_cfg(uint libnum)
"The left and right arrow keys may be used to cycle through file\n" "The left and right arrow keys may be used to cycle through file\n"
"directories.\n" "directories.\n"
; ;
switch(uifc.list(WIN_SAV|WIN_ACT|WIN_L2R|WIN_BOT|WIN_EXTKEYS uifc_winmode_t wmode = WIN_SAV|WIN_ACT|WIN_L2R|WIN_BOT|WIN_EXTKEYS;
,0,0,72,&opt_dflt,0,str,opt)) { int prev = prev_dirnum(cfg.dir[i]);
int next = next_dirnum(cfg.dir[i]);
if(prev != i)
wmode |= WIN_LEFTKEY;
if(next != i)
wmode |= WIN_RIGHTKEY;
switch(uifc.list(wmode,0,0,72,&opt_dflt,0,str,opt)) {
case -1: case -1:
done=1; done=1;
break; break;
case -CIO_KEY_LEFT-2: case -CIO_KEY_LEFT-2:
i = prev_dirnum(cfg.dir[i]); i = prev;
break; break;
case -CIO_KEY_RIGHT-2: case -CIO_KEY_RIGHT-2:
i = next_dirnum(cfg.dir[i]); i = next;
break; break;
case 0: case 0:
uifc.helpbuf=dir_long_name_help; uifc.helpbuf=dir_long_name_help;
......
...@@ -1224,16 +1224,23 @@ void xtrn_cfg(uint section) ...@@ -1224,16 +1224,23 @@ void xtrn_cfg(uint section)
"\n" "\n"
"The left and right arrow keys may be used to cycle through programs.\n" "The left and right arrow keys may be used to cycle through programs.\n"
; ;
switch(uifc.list(WIN_SAV|WIN_ACT|WIN_MID|WIN_EXTKEYS,0,0,60,&opt_dflt,&sub_bar,cfg.xtrn[i]->name uifc_winmode_t wmode = WIN_SAV|WIN_ACT|WIN_MID|WIN_EXTKEYS;
int prev = prev_program(i);
int next = next_program(i);
if(prev != i)
wmode |= WIN_LEFTKEY;
if(next != i)
wmode |= WIN_RIGHTKEY;
switch(uifc.list(wmode,0,0,60,&opt_dflt,&sub_bar,cfg.xtrn[i]->name
,opt)) { ,opt)) {
case -1: case -1:
done=1; done=1;
break; break;
case -CIO_KEY_LEFT-2: case -CIO_KEY_LEFT-2:
i = prev_program(i); i = prev;
break; break;
case -CIO_KEY_RIGHT-2: case -CIO_KEY_RIGHT-2:
i = next_program(i); i = next;
break; break;
case 0: case 0:
uifc.helpbuf= uifc.helpbuf=
...@@ -2421,7 +2428,12 @@ void xtrnsec_cfg() ...@@ -2421,7 +2428,12 @@ void xtrnsec_cfg()
"The left and right arrow keys may be used to cycle through program\n" "The left and right arrow keys may be used to cycle through program\n"
"sections.\n" "sections.\n"
; ;
switch(uifc.list(WIN_SAV|WIN_ACT|WIN_MID|WIN_EXTKEYS,0,0,60,&xtrnsec_opt,0,str uifc_winmode_t wmode = WIN_SAV|WIN_ACT|WIN_MID|WIN_EXTKEYS;
if(i > 0)
wmode |= WIN_LEFTKEY;
if(i + 1 < cfg.total_xtrnsecs)
wmode |= WIN_RIGHTKEY;
switch(uifc.list(wmode,0,0,60,&xtrnsec_opt,0,str
,opt)) { ,opt)) {
case -1: case -1:
done=1; done=1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment