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

New toggle option (SCFG->System->Toggles->Mouse Hot-spots in Menus/Prompts)

This is for sysops that never want mouse hot-spots in their BBS menus and
prompts (e.g. Kirkman, possibly Deuce) - set to "No".

Setting to "No" also disables the function of the JS console.add_hotspot()
method. Perhaps it should not. <shrug>

Setting to "No" does not disable the terminal mouse support question when
users are setting their terminal defaults. Perhaps it should.

This option should default to enabled (sysops that depend on mouse hot-spots
should double check) - it's enabled in new/stock installs.
parent c068c80a
No related branches found
No related tags found
No related merge requests found
Pipeline #6059 passed
......@@ -614,7 +614,7 @@ void sbbs_t::set_mouse(int flags)
struct mouse_hotspot* sbbs_t::add_hotspot(struct mouse_hotspot* spot)
{
if(!term_supports(MOUSE))
if(!(cfg.sys_misc & SM_MOUSE_HOT) || !term_supports(MOUSE))
return NULL;
if(spot->y < 0)
spot->y = row;
......
......@@ -157,7 +157,7 @@
#define SM_TIME_EXP (1<<22) // Set to expired values if out-of-time
#define SM_FASTMAIL (1<<23) // Fast e-mail storage mode
#define SM_NONODELIST (1<<24) // Suppress active node list during logon
#define SM_UNUSED2 (1<<25)
#define SM_MOUSE_HOT (1<<25) // Mouse hotspot support
#define SM_FWDTONET (1<<26) // Allow forwarding of e-mail to netmail
#define SM_DELREADM (1<<27) // Delete read mail automatically
#define SM_NOCDTCVT (1<<28) // No credit to minute conversions allowed
......
......@@ -1735,24 +1735,26 @@ void sys_cfg(void)
done=0;
while(!done) {
i=0;
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Allow User Aliases"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Allow User Aliases"
,cfg.uq&UQ_ALIASES ? "Yes" : "No");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Allow Time Banking"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Allow Time Banking"
,cfg.sys_misc&SM_TIMEBANK ? "Yes" : "No");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Allow Credit Conversions"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Allow Credit Conversions"
,cfg.sys_misc&SM_NOCDTCVT ? "No" : "Yes");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Short Sysop Page"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Short Sysop Page"
,cfg.sys_misc&SM_SHRTPAGE ? "Yes" : "No");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Include Sysop in Statistics"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Include Sysop in Statistics"
,cfg.sys_misc&SM_SYSSTAT ? "Yes" : "No");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Use Location in User Lists"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Use Location in User Lists"
,cfg.sys_misc&SM_LISTLOC ? "Yes" : "No");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Military (24 hour) Time Format"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Military (24 hour) Time Format"
,cfg.sys_misc&SM_MILITARY ? "Yes" : "No");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Display Sys Info During Logon"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Display Sys Info During Logon"
,cfg.sys_misc&SM_NOSYSINFO ? "No" : "Yes");
snprintf(opt[i++], MAX_OPLN, "%-33.33s%s","Display Node List During Logon"
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Display Node List During Logon"
,cfg.sys_misc&SM_NONODELIST ? "No" : "Yes");
snprintf(opt[i++], MAX_OPLN, "%-35s%s","Mouse Hot-spots in Menus/Prompts"
,cfg.sys_misc&SM_MOUSE_HOT ? "Yes" : "No");
opt[i][0]=0;
uifc.helpbuf=
"`System Toggle Options:`\n"
......@@ -1760,7 +1762,7 @@ void sys_cfg(void)
"This is a menu of system related options that can be toggled between\n"
"two or more states, such as `Yes` and `No`.\n"
;
switch(uifc.list(WIN_ACT|WIN_BOT|WIN_RHT,0,0,41,&tog_dflt,&tog_bar
switch(uifc.list(WIN_ACT|WIN_BOT|WIN_RHT,0,0,43,&tog_dflt,&tog_bar
,"Toggle Options",opt)) {
case -1:
done=1;
......@@ -1900,6 +1902,23 @@ void sys_cfg(void)
cfg.sys_misc|=SM_NONODELIST;
}
break;
case 9:
i=cfg.sys_misc&SM_MOUSE_HOT ? 0:1;
uifc.helpbuf=
"`Mouse Hot-spots in Menus and Prompts:`\n"
"\n"
"If you want to disable all mouse `Hot-spots` in the BBS menus and prompts,\n"
"set this option to `No`.\n"
;
i=uifc.list(WIN_MID|WIN_SAV,0,0,0,&i,0
,"Mouse Hot-spots in Menus and Prompts",uifcYesNoOpts);
if(i == 1 && cfg.sys_misc & SM_MOUSE_HOT) {
cfg.sys_misc &= ~SM_MOUSE_HOT;
}
else if(i == 0 && !(cfg.sys_misc & SM_MOUSE_HOT)) {
cfg.sys_misc |= SM_MOUSE_HOT;
}
break;
}
}
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment