diff --git a/exec/upgrade_to_v320.js b/exec/upgrade_to_v320.js index 415faa92d20b3671bc56bbf0b396e08493cb0d31..5e41102bf4c8f4ebb9318cd6bae5f9ae5a592ecd 100755 --- a/exec/upgrade_to_v320.js +++ b/exec/upgrade_to_v320.js @@ -118,6 +118,7 @@ if(node_settings & NM_LOGON_P) cnf.login |= LOGIN_PWPROMPT; if(!(node_settings & NM_NO_NUM)) cnf.login |= LOGIN_USERNUM; +cnf.spinning_pause_prompt = (node_settings & NM_NOPAUSESPIN) ? "false" : "true"; for(var i in cnf.validation_set) ini.iniSetObject("valset:" + i, cnf.validation_set[i]); diff --git a/src/sbbs3/getkey.cpp b/src/sbbs3/getkey.cpp index b26f5a1ee0fc0dcafb0dc609988aa6291c6e6314..fedcccd048c28c46d64b3f4858c7ce3efebbf15e 100644 --- a/src/sbbs3/getkey.cpp +++ b/src/sbbs3/getkey.cpp @@ -438,7 +438,7 @@ bool sbbs_t::pause(bool set_abort) bputs(text[Pause]); len = bstrlen(text[Pause]); if(sys_status&SS_USERON && !(useron.misc&(HTML|WIP|NOPAUSESPIN)) - && !(cfg.node_misc&NM_NOPAUSESPIN)) + && cfg.spinning_pause_prompt) l|=K_SPIN; ch=getkey(l); if(pause_hotspot) { diff --git a/src/sbbs3/scfg/scfgnode.c b/src/sbbs3/scfg/scfgnode.c index 94381f0b1f2199b3f288d755c0a1fae8c02ba5c6..5a0663517caefdeee38a852734cab7eb942b7e94 100644 --- a/src/sbbs3/scfg/scfgnode.c +++ b/src/sbbs3/scfg/scfgnode.c @@ -238,8 +238,6 @@ void node_cfg() done=0; while(!done) { i=0; - snprintf(opt[i++], MAX_OPLN, "%-27.27s%s","Spinning Pause Prompt" - ,cfg.node_misc&NM_NOPAUSESPIN ? "No":"Yes"); snprintf(opt[i++], MAX_OPLN, "%-27.27s%s","Keep Node File Open" ,cfg.node_misc&NM_CLOSENODEDAB ? "No":"Yes"); @@ -258,25 +256,6 @@ void node_cfg() done=1; break; case 0: - i=cfg.node_misc&NM_NOPAUSESPIN ? 1:0; - uifc.helpbuf= - "`Spinning Pause Prompt:`\n" - "\n" - "If you want to display a spinning cursor at the [Hit a key] prompt,\n" - "set this option to `Yes`.\n" - ; - i=uifc.list(WIN_MID|WIN_SAV,0,10,0,&i,0 - ,"Spinning Cursor at Pause Prompt",uifcYesNoOpts); - if(i==0 && cfg.node_misc&NM_NOPAUSESPIN) { - cfg.node_misc&=~NM_NOPAUSESPIN; - uifc.changes=1; - } - else if(i==1 && !(cfg.node_misc&NM_NOPAUSESPIN)) { - cfg.node_misc|=NM_NOPAUSESPIN; - uifc.changes=1; - } - break; - case 1: i=cfg.node_misc&NM_CLOSENODEDAB ? 1:0; uifc.helpbuf= "`Keep Node File Open:`\n" diff --git a/src/sbbs3/scfg/scfgsys.c b/src/sbbs3/scfg/scfgsys.c index 82fcd82a0181e289f8379bf4fc10d9c168f26d11..29f95875ddf02bc9d87180f61e90577d645322ba 100644 --- a/src/sbbs3/scfg/scfgsys.c +++ b/src/sbbs3/scfg/scfgsys.c @@ -1755,6 +1755,8 @@ void sys_cfg(void) ,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"); + snprintf(opt[i++], MAX_OPLN, "%-35s%s","Spinning Cursor at Pause Prompts" + ,cfg.spinning_pause_prompt ? "Yes" : "No"); opt[i][0]=0; uifc.helpbuf= "`System Toggle Options:`\n" @@ -1919,6 +1921,20 @@ void sys_cfg(void) cfg.sys_misc |= SM_MOUSE_HOT; } break; + case 10: + i=cfg.spinning_pause_prompt ? 0:1; + uifc.helpbuf= + "`Spinning Cursor at Pause Prompts:`\n" + "\n" + "If you want to display a spinning cursor at the [Hit a key] prompt,\n" + "set this option to `Yes`.\n" + ; + i=uifc.list(WIN_MID|WIN_SAV,0,10,0,&i,0 + ,"Spinning Cursor at Pause Prompts",uifcYesNoOpts); + if(i >= 0) + cfg.spinning_pause_prompt = !cfg.spinning_pause_prompt; + break; + } } break; diff --git a/src/sbbs3/scfgdefs.h b/src/sbbs3/scfgdefs.h index af782e784947e8aedb2c4da3597512d23dca7225..660f6acffee4a97d6f000546741863256b01647c 100644 --- a/src/sbbs3/scfgdefs.h +++ b/src/sbbs3/scfgdefs.h @@ -488,6 +488,7 @@ typedef struct char node_daily[LEN_CMD+1]; /* Name of node's daily event */ uint32_t node_misc; /* Misc bits for node setup */ + bool spinning_pause_prompt; uint16_t valuser; /* User validation mail goes to */ uint16_t erruser; /* User error messages goes to */ uchar errlevel; /* Log level threshold to notify user (erruser) */ diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c index cda1bbd196f699823fb84c0941ed64cf8d693904..90f724f6f10a2e4d46014433ebc3549766697889 100644 --- a/src/sbbs3/scfglib1.c +++ b/src/sbbs3/scfglib1.c @@ -123,6 +123,7 @@ bool read_main_cfg(scfg_t* cfg, char* error, size_t maxerrlen) cfg->ctrlkey_passthru = iniGetInteger(ini, ROOT_SECTION, "ctrlkey_passthru", 0); cfg->max_getkey_inactivity = (uint)iniGetDuration(ini, ROOT_SECTION, "max_getkey_inactivity", 300); cfg->inactivity_warn = (uchar)iniGetUInteger(ini, ROOT_SECTION, "inactivity_warn", 75); + cfg->spinning_pause_prompt = iniGetBool(ini, ROOT_SECTION, "spinning_pause_prompt", true); cfg->user_backup_level = iniGetUInteger(ini, ROOT_SECTION, "user_backup_level", 5); cfg->mail_backup_level = iniGetUInteger(ini, ROOT_SECTION, "mail_backup_level", 5); diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c index 6f7870e9d245a6b0fb017d298866cbe37d465fa5..1541e7e482a21140600b600e37be772e814c6082 100644 --- a/src/sbbs3/scfgsave.c +++ b/src/sbbs3/scfgsave.c @@ -143,6 +143,7 @@ bool write_main_cfg(scfg_t* cfg) iniSetHexInt(&ini, ROOT_SECTION, "ctrlkey_passthru", cfg->ctrlkey_passthru, NULL); iniSetDuration(&ini, ROOT_SECTION, "max_getkey_inactivity", cfg->max_getkey_inactivity, NULL); iniSetUInteger(&ini, ROOT_SECTION, "inactivity_warn", cfg->inactivity_warn, NULL); + iniSetBool(&ini, ROOT_SECTION, "spinning_pause_prompt", cfg->spinning_pause_prompt, NULL); iniSetUInteger(&ini, ROOT_SECTION, "user_backup_level", cfg->user_backup_level, NULL); iniSetUInteger(&ini, ROOT_SECTION, "mail_backup_level", cfg->mail_backup_level, NULL); iniSetUInteger(&ini, ROOT_SECTION, "config_backup_level", cfg->config_backup_level, NULL);