From 7bb76255eb0b83f4c0c3d46d136c5b2706342f1c Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Sat, 7 Aug 2004 13:03:36 +0000 Subject: [PATCH] Added newuser questions for screenlen, newmail check and newfiles check --- ChangeLog | 3 ++ lang/Language.xref | 4 +-- lang/dutch.txt | 4 +-- lang/english.txt | 4 +-- lang/french.txt | 4 +-- lang/galego.txt | 4 +-- lang/german.txt | 4 +-- lang/germandu.txt | 4 +-- lang/italian.txt | 4 +-- lang/spanish.txt | 4 +-- lib/mbselib.h | 10 +++--- mbsebbs/newuser.c | 82 ++++++++++++++++++++++++++++++++++++++-------- mbsetup/ledit.c | 44 +++++++++++++++++++++++++ mbsetup/ledit.h | 3 ++ mbtask/mbtask.c | 3 ++ 15 files changed, 146 insertions(+), 35 deletions(-) diff --git a/ChangeLog b/ChangeLog index 29c8828a..dc3061a6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,9 @@ v0.61.3 25-Jul-2004 examples: Fixed 2 spelling errors in the dutch macro templates. + lang: + Added language prompts 26 and 27. + v0.61.2 11-Jul-2004 - 25-Jul-2004 diff --git a/lang/Language.xref b/lang/Language.xref index 15bdbdf5..61379146 100644 --- a/lang/Language.xref +++ b/lang/Language.xref @@ -24,8 +24,8 @@ 23 change.c |Select your preferred character set 24 change.c |Select character set (Enter to Quit): 25 change.c |Character set now set to: -26 .c | -27 .c | +26 newuser.c YN|Check for new mail at login [Y/n]: +27 newuser.c YN|Check for new files at login [Y/n]: 28 .c | 29 .c | 30 .c | diff --git a/lang/dutch.txt b/lang/dutch.txt index 689b4bfc..a9180476 100644 --- a/lang/dutch.txt +++ b/lang/dutch.txt @@ -24,8 +24,8 @@ JN| Is dit juist [j/N]: |Kies Uw karakter set |Kies karakter set (Enter is Stop): |Karakter set is nu: -| -| +JN|Kijk voor nieuwe post tijdens login [J/n]: +JN|Kijk voor nieuwe bestanden tijdens login [J/n]: | | | diff --git a/lang/english.txt b/lang/english.txt index 63e047ef..34d6c9cd 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -24,8 +24,8 @@ YN| Is this correct [y/N]: |Select your preferred character set |Select character set (Enter to Quit): |Character set now set to: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lang/french.txt b/lang/french.txt index 4e58f4b0..343a330d 100644 --- a/lang/french.txt +++ b/lang/french.txt @@ -24,8 +24,8 @@ YN| Is this correct [y/N]: |Select your preferred character set |Select character set (Enter to Quit): |Character set now set to: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lang/galego.txt b/lang/galego.txt index 00f42528..11444e04 100644 --- a/lang/galego.txt +++ b/lang/galego.txt @@ -24,8 +24,8 @@ SN| |Select your preferred character set |Select character set (Enter to Quit): |Character set now set to: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lang/german.txt b/lang/german.txt index e26b7db9..07f8604f 100644 --- a/lang/german.txt +++ b/lang/german.txt @@ -24,8 +24,8 @@ YN| Is this correct [y/N]: |Select your preferred character set |Select character set (Enter to Quit): |Character set now set to: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lang/germandu.txt b/lang/germandu.txt index ceacad34..2e8cc447 100644 --- a/lang/germandu.txt +++ b/lang/germandu.txt @@ -24,8 +24,8 @@ JN| Ist dies richtig richtig? [a/ein]: |Waehle Deinen bevorzugten Zeichensatz |Waehle Zeichensatz (beenden mit ): |Zeichensatz ist jetzt: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lang/italian.txt b/lang/italian.txt index 42996e59..66434471 100644 --- a/lang/italian.txt +++ b/lang/italian.txt @@ -24,8 +24,8 @@ YN| Is this correct [y/N]: |Select your preferred character set |Select character set (Enter to Quit): |Character set now set to: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lang/spanish.txt b/lang/spanish.txt index 91c8310b..a4b0d4c9 100644 --- a/lang/spanish.txt +++ b/lang/spanish.txt @@ -24,8 +24,8 @@ SN| Es correcto [s/N]: |Select your preferred character set |Select character set (Enter to Quit): |Character set now set to: -| -| +YN|Check for new mail at login [Y/n]: +YN|Check for new files at login [Y/n]: | | | diff --git a/lib/mbselib.h b/lib/mbselib.h index 4d90c716..9d580d58 100644 --- a/lib/mbselib.h +++ b/lib/mbselib.h @@ -379,7 +379,7 @@ struct icmp_filter { * Global typedefs. * */ -typedef enum {YES, NO, ASK, ONLY} ASKTYPE; +typedef enum {YES, NO, ASK} ASKTYPE; typedef enum {LOCALMAIL, NETMAIL, ECHOMAIL, NEWS, LIST} MSGTYPE; typedef enum {BOTH, PRIVATE, PUBLIC, RONLY, FTNMOD, USEMOD} MSGKINDSTYPE; typedef enum {IGNORE, CREATE, KILL} ORPHANTYPE; @@ -959,6 +959,7 @@ struct sysconfig { unsigned GiveEmail : 1; /* Give user email */ unsigned AskAddress : 1; /* Ask Home Address */ unsigned iOneName : 1; /* Allow one user name */ + unsigned AskScreenlen : 1; /* Ask screenlength */ unsigned iCrashLevel; /* User level for crash mail*/ unsigned iAttachLevel; /* User level for fileattach*/ @@ -989,9 +990,10 @@ struct sysconfig { char xNuScreen[50]; /* Obsolete Next User Door */ char xNuQuote[81]; - int xSafeFirstDigit; - int xSafeSecondDigit; - int xSafeThirdDigit; + int AskNewmail; /* Ask newmail check */ + int AskNewfiles; /* Ask newfiles check */ + int xAskDummy; + int xSafeMaxTrys; int xSafeMaxNumber; unsigned xSafeNumGen : 1; diff --git a/mbsebbs/newuser.c b/mbsebbs/newuser.c index 73e9d570..8d7f5025 100644 --- a/mbsebbs/newuser.c +++ b/mbsebbs/newuser.c @@ -448,19 +448,22 @@ int newuser() usrconfig.iTimeLeft = 20; /* Set Timeleft in users file to 20 */ - Enter(1); - /* Please enter your Screen Length [24]: */ - pout(LIGHTMAGENTA, BLACK, (char *) Language(64)); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - alarm_on(); - Getnum(temp, 3); + if (CFG.AskScreenlen) { + Enter(1); + /* Please enter your Screen Length [24]: */ + pout(LIGHTMAGENTA, BLACK, (char *) Language(64)); + colour(CFG.InputColourF, CFG.InputColourB); + fflush(stdout); + alarm_on(); + Getnum(temp, 3); - if(strlen(temp) == 0) + if(strlen(temp) == 0) + usrconfig.iScreenLen = 24; + else + usrconfig.iScreenLen = atoi(temp); + } else { usrconfig.iScreenLen = 24; - else - usrconfig.iScreenLen = atoi(temp); - + } TermInit(usrconfig.GraphMode, 80, usrconfig.iScreenLen); alarm_on(); @@ -470,8 +473,61 @@ int newuser() sprintf(usrconfig.sProtocol, "%s", (char *) Language(65)); usrconfig.DoNotDisturb = FALSE; - usrconfig.MailScan = TRUE; - usrconfig.ieFILE = TRUE; + + switch (CFG.Newmail) { + case NO: usrconfig.Mailscan = FALSE; + break; + case YES: usrconfig.MailScan = TRUE; + break; + default: while (TRUE) { + Enter(1); + /* Check for new mail at login [Y/n]: */ + pout(LIGHTRED, BLACK, (char *) Language(26)); + colour(CFG.InputColourF, CFG.InputColourB); + alarm_on(); + GetstrC(temp, 8); + + if ((toupper(temp[0]) == Keystroke(26, 0)) || (strcmp(temp,"") == 0)) { + usrconfig.MailScan = TRUE; + break; + } + if (toupper(temp[0]) == Keystroke(26, 1)) { + usrconfig.MailScan = FALSE; + break; + } + /* Please answer Y or N */ + pout(WHITE, BLACK, (char *) Language(63)); + } + break; + } + + switch (CFG.Newfiles) { + case NO: usrconfig.ieFILE = FALSE; + break; + case YES: usrconfig.ieFILE = TRUE; + break; + default: while (TRUE) { + Enter(1); + /* Check for new files at login [Y/n]: */ + pout(LIGHTRED, BLACK, (char *) Language(27)); + colour(CFG.InputColourF, CFG.InputColourB); + alarm_on(); + GetstrC(temp, 8); + + if ((toupper(temp[0]) == Keystroke(27, 0)) || (strcmp(temp,"") == 0)) { + usrconfig.ieFILE = TRUE; + break; + } + if (toupper(temp[0]) == Keystroke(27, 1)) { + usrconfig.ieFILE = FALSE; + break; + } + /* Please answer Y or N */ + pout(WHITE, BLACK, (char *) Language(63)); + } + break; + } + usrconfig.ieNEWS = TRUE; usrconfig.Cls = TRUE; usrconfig.More = TRUE; diff --git a/mbsetup/ledit.c b/mbsetup/ledit.c index daa8c739..666475d7 100644 --- a/mbsetup/ledit.c +++ b/mbsetup/ledit.c @@ -1901,6 +1901,50 @@ char *getmagictype(int val) +char *get_asktype(int val) +{ + switch(val) { + case YES: return (char *)"Yes"; + case NO: return (char *)"No "; + case ASK: return (char *)"Ask"; + default: return (char *)"???"; + } +} + + + +void show_asktype(int y, int x, int val) +{ + mvprintw(y, x, get_asktype(val)); +} + + + +int edit_asktype(int y, int x, int val) +{ + int ch; + + showhelp((char *)"Toggle ^Question mode^ with spacebar, press whene done."); + do { + set_color(YELLOW, BLUE); + show_asktype(y, x, val); + + ch = readkey(y, x, YELLOW, BLUE); + + if (ch == ' ') { + if (val < ASK) + val++; + else + val = YES; + } + } while (ch != KEY_ENTER && ch != '\012'); + set_color(WHITE, BLACK); + show_asktype(y, x, val); + return val; +} + + + char *get_sessiontype(int val) { switch (val) { diff --git a/mbsetup/ledit.h b/mbsetup/ledit.h index c7ac7250..5c9f89a3 100644 --- a/mbsetup/ledit.h +++ b/mbsetup/ledit.h @@ -70,6 +70,9 @@ int edit_linetype(int, int, int); char *getmagictype(int); void show_magictype(int, int, int); int edit_magictype(int, int, int); +char *get_asktype(int, int, int); +void show_asktype(int, int, int); +int edit_asktype(int, int, int); char *get_sessiontype(int); void show_sessiontype(int, int, int); int edit_sessiontype(int, int, int); diff --git a/mbtask/mbtask.c b/mbtask/mbtask.c index d7e1831e..bb0be4e8 100644 --- a/mbtask/mbtask.c +++ b/mbtask/mbtask.c @@ -219,6 +219,9 @@ void load_maincfg(void) CFG.iAttachLevel = 100; CFG.new_groups = 25; CFG.max_logins = 1; + CFG.AskScreenlen = ASK; + CFG.AskNewmail = ASK; + CFG.AskNewfiles = ASK; CFG.slow_util = TRUE; CFG.iCrashLevel = 100;