From f517c21a5486d1eb7c0437806002243504e78e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Mon, 15 Mar 2021 06:42:28 -0400 Subject: [PATCH] Make log level selection a menu like every other non-binary option. --- src/syncterm/bbslist.c | 54 ++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c index 635a52abe9..9651052197 100644 --- a/src/syncterm/bbslist.c +++ b/src/syncterm/bbslist.c @@ -897,9 +897,9 @@ int edit_list(struct bbslist **list, struct bbslist *item,char *listpath,int isd "~ Log File ~\n" " Log file name when logging is enabled\n\n" "~ Log Transfers ~\n" - " Cycles through the various transfer log settings.\n\n" + " Selects the transfer log level.\n\n" "~ Log Telnet Cmds ~\n" - " Cycles through the various telnet command log settings.\n\n" + " Selects the telnet command log level.\n\n" "~ Append Log File ~\n" " Append log file (instead of overwrite) on each connection\n\n" "~ Comm Rate ~\n" @@ -943,9 +943,9 @@ int edit_list(struct bbslist **list, struct bbslist *item,char *listpath,int isd "~ Log File ~\n" " Log file name when logging is enabled\n\n" "~ Log Transfers ~\n" - " Cycles through the various transfer log settings.\n\n" + " Selects the transfer log level.\n\n" "~ Log Telnet Cmds ~\n" - " Cycles through the various telnet command log settings.\n\n" + " Selects the telnet command log level.\n\n" "~ Append Log File ~\n" " Append log file (instead of overwrite) on each connection\n\n" "~ Comm Rate ~\n" @@ -1209,22 +1209,40 @@ int edit_list(struct bbslist **list, struct bbslist *item,char *listpath,int isd check_exit(FALSE); break; case 12: - item->xfer_loglevel--; - if(item->xfer_loglevel<0) - item->xfer_loglevel=LOG_DEBUG; - else if(item->xfer_loglevel<LOG_ERR) - item->xfer_loglevel=0; - iniSetEnum(&inifile,itemname,"TransferLogLevel",log_levels,item->xfer_loglevel,&ini_style); - changed=1; + uifc.helpbuf= "`Log Transfers`\n\n" + "Select the varbosity level for logging.\n" + "The lower in the list the item, the more berbose the log.\n" + "Each level includes all messages in levels above it."; + i = item->xfer_loglevel; + switch(uifc.list(WIN_SAV, 0, 0, 0, &(item->xfer_loglevel), NULL, "Log Transfers", log_level_desc)) { + case -1: + item->xfer_loglevel = i; + check_exit(FALSE); + break; + default: + if (item->xfer_loglevel != i) { + iniSetEnum(&inifile,itemname,"TransferLogLevel",log_levels,item->xfer_loglevel,&ini_style); + changed=1; + } + } break; case 13: - item->telnet_loglevel--; - if(item->telnet_loglevel<0) - item->telnet_loglevel=LOG_DEBUG; - else if(item->telnet_loglevel<LOG_ERR) - item->telnet_loglevel=0; - iniSetEnum(&inifile,itemname,"TelnetLogLevel",log_levels,item->telnet_loglevel,&ini_style); - changed=1; + uifc.helpbuf= "`Log Telnet Commands`\n\n" + "Select the varbosity level for logging.\n" + "The lower in the list the item, the more berbose the log.\n" + "Each level includes all messages in levels above it."; + i = item->telnet_loglevel; + switch(uifc.list(WIN_SAV, 0, 0, 0, &(item->telnet_loglevel), NULL, "Log Transfers", log_level_desc)) { + case -1: + item->telnet_loglevel = i; + check_exit(FALSE); + break; + default: + if (item->telnet_loglevel != i) { + iniSetEnum(&inifile,itemname,"TransferLogLevel",log_levels,item->telnet_loglevel,&ini_style); + changed=1; + } + } break; case 14: item->append_logfile=!item->append_logfile; -- GitLab