From 045c85faf706dbdd3eeaeac5485d56da063763f8 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Fri, 25 Nov 2005 23:30:24 +0000 Subject: [PATCH] Allow changing of the current screen mode. --- src/syncterm/bbslist.c | 34 ++++++++++++++++++++++++++++++++++ src/syncterm/syncterm.c | 1 + 2 files changed, 35 insertions(+) diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c index 2d895bd43f..4193600db3 100644 --- a/src/syncterm/bbslist.c +++ b/src/syncterm/bbslist.c @@ -755,6 +755,40 @@ struct bbslist *show_bbslist(char* listpath, int mode, char *home) case 0: /* Edit default connection settings */ edit_list(&defaults,listpath,TRUE); break; + case 2: { /* Screen Setup */ + struct text_info ti; + gettextinfo(&ti); + + uifc.helpbuf= "`Screen Setup`\n\n" + "Select the new screen size.\n"; + i=ti.currmode; + i=uifc.list(WIN_SAV,0,0,0,&i,NULL,"Screen Setup",screen_modes); + if(i>=0) { + uifcbail(); + switch(i) { + case SCREEN_MODE_80X25: + textmode(C80); + break; + case SCREEN_MODE_80X28: + textmode(C80X28); + break; + case SCREEN_MODE_80X43: + textmode(C80X43); + break; + case SCREEN_MODE_80X50: + textmode(C80X50); + break; + case SCREEN_MODE_80X60: + textmode(C80X60); + break; + } + init_uifc(TRUE, TRUE); + } + val=uifc.list((listcount<MAX_OPTS?WIN_XTR:0) + |WIN_T2B|WIN_IMM|WIN_INACT + ,0,0,0,&opt,&bar,mode==BBSLIST_SELECT?"Directory":"Edit",(char **)list); + } + break; } } } diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c index f4db09085b..53b4be9737 100644 --- a/src/syncterm/syncterm.c +++ b/src/syncterm/syncterm.c @@ -309,6 +309,7 @@ int main(int argc, char **argv) return(1); while(bbs!=NULL || (bbs=show_bbslist(listpath,BBSLIST_SELECT,home))!=NULL) { + gettextinfo(&txtinfo); /* Current mode may have changed while in show_bbslist() */ if(!conn_connect(bbs->addr,bbs->port,bbs->reversed?bbs->password:bbs->user,bbs->reversed?bbs->user:bbs->password,bbs->syspass,bbs->conn_type,bbs->bpsrate)) { /* ToDo: Update the entry with new lastconnected */ /* ToDo: Disallow duplicate entries */ -- GitLab