Skip to content
Snippets Groups Projects
Commit dfd30386 authored by deuce's avatar deuce
Browse files

Do not erase/redraw top bar unless necessary (looks bad)

parent faff91d8
Branches
Tags
No related merge requests found
...@@ -215,9 +215,10 @@ mainbar.add("|Info","I"); ...@@ -215,9 +215,10 @@ mainbar.add("|Info","I");
infomenu.add("\xc0\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xd9",undefined,undefined,"",""); infomenu.add("\xc0\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xd9",undefined,undefined,"","");
mainbar.add("|Goodbye","G"); mainbar.add("|Goodbye","G");
draw_main(true);
while(1) { while(1) {
var done=0; var done=0;
draw_main(); draw_main(false);
switch(mainbar.getval()) { switch(mainbar.getval()) {
case 'F': case 'F':
done=0; done=0;
...@@ -230,7 +231,7 @@ while(1) { ...@@ -230,7 +231,7 @@ while(1) {
console.attributes=7; console.attributes=7;
clear_screen(); clear_screen();
bbs.batch_menu(); bbs.batch_menu();
draw_main(); draw_main(true);
break; break;
case 'D': case 'D':
download: do { download: do {
...@@ -277,7 +278,7 @@ while(1) { ...@@ -277,7 +278,7 @@ while(1) {
} }
} }
} while(0); } while(0);
draw_main(); draw_main(true);
break; break;
case 'I': case 'I':
var info_done=0; var info_done=0;
...@@ -321,7 +322,7 @@ while(1) { ...@@ -321,7 +322,7 @@ while(1) {
console.cleartoeol(); console.cleartoeol();
} }
else { else {
draw_main(); draw_main(true);
filemenu.draw(); filemenu.draw();
} }
} }
...@@ -357,19 +358,19 @@ while(1) { ...@@ -357,19 +358,19 @@ while(1) {
} }
} }
} }
draw_main(); draw_main(true);
break; break;
case 'S': case 'S':
clear_screen(); clear_screen();
console.putmsg("\r\nchFind Text in File Descriptions (no wildcards)\r\n"); console.putmsg("\r\nchFind Text in File Descriptions (no wildcards)\r\n");
bbs.scan_dirs(FL_FINDDESC); bbs.scan_dirs(FL_FINDDESC);
draw_main(); draw_main(true);
break; break;
case 'F': case 'F':
clear_screen(); clear_screen();
console.putmsg("\r\nchSearch for Filename(s)\r\n"); console.putmsg("\r\nchSearch for Filename(s)\r\n");
bbs.scan_dirs(FL_NO_HDR); bbs.scan_dirs(FL_NO_HDR);
draw_main(); draw_main(true);
break; break;
case 'C': case 'C':
clear_screen(); clear_screen();
...@@ -442,7 +443,7 @@ while(1) { ...@@ -442,7 +443,7 @@ while(1) {
break changedir; break changedir;
} }
} while(0); } while(0);
draw_main(); draw_main(true);
break; break;
case 'L': case 'L':
clear_screen(); clear_screen();
...@@ -453,13 +454,13 @@ while(1) { ...@@ -453,13 +454,13 @@ while(1) {
else else
console.putmsg(bbs.text(NFilesListed,i),P_SAVEATR); console.putmsg(bbs.text(NFilesListed,i),P_SAVEATR);
} }
draw_main(); draw_main(true);
break; break;
case 'N': case 'N':
clear_screen(); clear_screen();
console.putmsg("\r\nchNew File Scan\r\n"); console.putmsg("\r\nchNew File Scan\r\n");
bbs.scan_dirs(FL_ULTIME); bbs.scan_dirs(FL_ULTIME);
draw_main(); draw_main(true);
break; break;
case 'R': case 'R':
clear_screen(); clear_screen();
...@@ -494,7 +495,7 @@ while(1) { ...@@ -494,7 +495,7 @@ while(1) {
} }
} }
} while(0); } while(0);
draw_main(); draw_main(true);
break; break;
case 'U': case 'U':
clear_screen(); clear_screen();
...@@ -512,7 +513,7 @@ while(1) { ...@@ -512,7 +513,7 @@ while(1) {
i=file_area.upload_dir.number; i=file_area.upload_dir.number;
} }
bbs.upload_file(i); bbs.upload_file(i);
draw_main(); draw_main(true);
break; break;
case 'V': case 'V':
clear_screen(); clear_screen();
...@@ -543,7 +544,7 @@ while(1) { ...@@ -543,7 +544,7 @@ while(1) {
} }
} }
} while(0); } while(0);
draw_main(); draw_main(true);
break; break;
} }
} }
...@@ -555,22 +556,22 @@ while(1) { ...@@ -555,22 +556,22 @@ while(1) {
case 'U': case 'U':
clear_screen(); clear_screen();
bbs.user_config(); bbs.user_config();
draw_main(); draw_main(true);
break; break;
case 'M': case 'M':
clear_screen(); clear_screen();
bbs.cfg_msg_scan(SCAN_CFG_NEW); bbs.cfg_msg_scan(SCAN_CFG_NEW);
draw_main(); draw_main(true);
break; break;
case 'Y': case 'Y':
clear_screen(); clear_screen();
bbs.cfg_msg_scan(SCAN_CFG_TOYOU); bbs.cfg_msg_scan(SCAN_CFG_TOYOU);
draw_main(); draw_main(true);
break; break;
case 'P': case 'P':
clear_screen(); clear_screen();
bbs.cfg_msg_ptrs(); bbs.cfg_msg_ptrs();
draw_main(); draw_main(true);
break; break;
case 'F': case 'F':
var xfercfgdone=0; var xfercfgdone=0;
...@@ -579,7 +580,7 @@ while(1) { ...@@ -579,7 +580,7 @@ while(1) {
case 'S': case 'S':
clear_screen(); clear_screen();
bbs.get_newscantime(bbs.new_file_time); bbs.get_newscantime(bbs.new_file_time);
draw_main(); draw_main(true);
settingsmenu.draw(); settingsmenu.draw();
break; break;
case 'B': case 'B':
...@@ -592,7 +593,7 @@ while(1) { ...@@ -592,7 +593,7 @@ while(1) {
xfercfgdone=1; xfercfgdone=1;
} }
} }
draw_main(); draw_main(false);
break; break;
case 'R': case 'R':
bbs.reinit_msg_ptrs(); bbs.reinit_msg_ptrs();
...@@ -608,7 +609,7 @@ while(1) { ...@@ -608,7 +609,7 @@ while(1) {
case 'B': case 'B':
clear_screen(); clear_screen();
bbs.time_bank(); bbs.time_bank();
draw_main(); draw_main(true);
break; break;
case '-': case '-':
done=1; done=1;
...@@ -635,7 +636,7 @@ while(1) { ...@@ -635,7 +636,7 @@ while(1) {
if(i>0) if(i>0)
bbs.email(i,WM_EMAIL); bbs.email(i,WM_EMAIL);
} }
draw_main(); draw_main(true);
break; break;
case 'N': case 'N':
clear_screen(); clear_screen();
...@@ -647,22 +648,22 @@ while(1) { ...@@ -647,22 +648,22 @@ while(1) {
str=console.getstr("",60,K_LINE); str=console.getstr("",60,K_LINE);
if(str!=null && str !="") if(str!=null && str !="")
bbs.netmail(str,i); bbs.netmail(str,i);
draw_main(); draw_main(true);
break; break;
case 'F': case 'F':
clear_screen(); clear_screen();
bbs.email(1,WM_EMAIL,bbs.text(ReFeedback)); bbs.email(1,WM_EMAIL,bbs.text(ReFeedback));
draw_main(); draw_main(true);
break; break;
case 'R': case 'R':
clear_screen(); clear_screen();
bbs.read_mail(MAIL_YOUR);; bbs.read_mail(MAIL_YOUR);;
draw_main(); draw_main(true);
break; break;
case 'Y': case 'Y':
clear_screen(); clear_screen();
bbs.read_mail(MAIL_SENT);; bbs.read_mail(MAIL_SENT);;
draw_main(); draw_main(true);
break; break;
case 'U': case 'U':
clear_screen(); clear_screen();
...@@ -679,7 +680,7 @@ while(1) { ...@@ -679,7 +680,7 @@ while(1) {
if(i>0) if(i>0)
bbs.email(i,WM_EMAIL|WM_FILE); bbs.email(i,WM_EMAIL|WM_FILE);
} }
draw_main(); draw_main(true);
break; break;
case '-': case '-':
done=1; done=1;
...@@ -695,51 +696,51 @@ while(1) { ...@@ -695,51 +696,51 @@ while(1) {
clear_screen(); clear_screen();
console.putmsg("\r\n\x01c\x01hNew Message Scan\r\n"); console.putmsg("\r\n\x01c\x01hNew Message Scan\r\n");
bbs.scan_subs(SCAN_NEW); bbs.scan_subs(SCAN_NEW);
draw_main(); draw_main(true);
break; break;
case 'R': case 'R':
clear_screen(); clear_screen();
bbs.scan_posts(); bbs.scan_posts();
draw_main(); draw_main(true);
break; break;
case 'C': case 'C':
clear_screen(); clear_screen();
console.putmsg("\r\n\x01c\x01hContinuous New Message Scan\r\n"); console.putmsg("\r\n\x01c\x01hContinuous New Message Scan\r\n");
bbs.scan_subs(SCAN_NEW|SCAN_CONST); bbs.scan_subs(SCAN_NEW|SCAN_CONST);
draw_main(); draw_main(true);
break; break;
case 'B': case 'B':
clear_screen(); clear_screen();
console.putmsg("\r\n\x01c\x01hBrowse/New Message Scan\r\n"); console.putmsg("\r\n\x01c\x01hBrowse/New Message Scan\r\n");
bbs.scan_subs(SCAN_NEW|SCAN_BACK); bbs.scan_subs(SCAN_NEW|SCAN_BACK);
draw_main(); draw_main(true);
break; break;
case 'Q': case 'Q':
clear_screen(); clear_screen();
bbs.qwk_sec(); bbs.qwk_sec();
draw_main(); draw_main(true);
break; break;
case 'P': case 'P':
clear_screen(); clear_screen();
bbs.post_msg(); bbs.post_msg();
draw_main(); draw_main(true);
break; break;
case 'A': case 'A':
clear_screen(); clear_screen();
bbs.auto_msg(); bbs.auto_msg();
draw_main(); draw_main(true);
break; break;
case 'F': case 'F':
clear_screen(); clear_screen();
console.putmsg("\r\n\x01c\x01hFind Text in Messages\r\n"); console.putmsg("\r\n\x01c\x01hFind Text in Messages\r\n");
bbs.scan_subs(SCAN_FIND); bbs.scan_subs(SCAN_FIND);
draw_main(); draw_main(true);
break; break;
case 'S': case 'S':
clear_screen(); clear_screen();
console.putmsg("\r\n\x01c\x01hScan for Messages Posted to You\r\n"); console.putmsg("\r\n\x01c\x01hScan for Messages Posted to You\r\n");
bbs.scan_subs(SCAN_TOYOU); bbs.scan_subs(SCAN_TOYOU);
draw_main(); draw_main(true);
break; break;
case 'J': case 'J':
clear_screen(); clear_screen();
...@@ -816,7 +817,7 @@ while(1) { ...@@ -816,7 +817,7 @@ while(1) {
bbs.cursub=i; bbs.cursub=i;
break; break;
} }
draw_main(); draw_main(true);
break; break;
case '-': case '-':
done=1; done=1;
...@@ -831,28 +832,28 @@ while(1) { ...@@ -831,28 +832,28 @@ while(1) {
case 'J': case 'J':
clear_screen(); clear_screen();
bbs.multinode_chat(); bbs.multinode_chat();
draw_main(); draw_main(true);
break; break;
case 'P': case 'P':
clear_screen(); clear_screen();
bbs.private_chat(); bbs.private_chat();
draw_main(); draw_main(true);
break; break;
case 'C': case 'C':
clear_screen(); clear_screen();
if(!bbs.page_sysop()) if(!bbs.page_sysop())
bbs.page_guru(); bbs.page_guru();
draw_main(); draw_main(true);
break; break;
case 'T': case 'T':
clear_screen(); clear_screen();
bbs.page_guru(); bbs.page_guru();
draw_main(); draw_main(true);
break; break;
case 'F': case 'F':
clear_screen(); clear_screen();
bbs.exec("?finger"); bbs.exec("?finger");
draw_main(); draw_main(true);
break; break;
case 'R': case 'R':
clear_screen(); clear_screen();
...@@ -861,12 +862,12 @@ while(1) { ...@@ -861,12 +862,12 @@ while(1) {
str=console.getstr(str, 50, K_EDIT|K_LINE|K_AUTODEL); str=console.getstr(str, 50, K_EDIT|K_LINE|K_AUTODEL);
if(!console.aborted) if(!console.aborted)
bbs.exec("?irc -a "+str); bbs.exec("?irc -a "+str);
draw_main(); draw_main(true);
break; break;
case 'I': case 'I':
clear_screen(); clear_screen();
bbs.exec("?sbbsimsg"); bbs.exec("?sbbsimsg");
draw_main(); draw_main(true);
break; break;
case 'S': case 'S':
user.chat_settings ^= CHAT_SPLITP; user.chat_settings ^= CHAT_SPLITP;
...@@ -892,12 +893,12 @@ while(1) { ...@@ -892,12 +893,12 @@ while(1) {
break; break;
clear_screen(); clear_screen();
bbs.exec_xtrn(xtrn_area.sec_list[curr_xtrnsec].prog_list[parseInt(x_prog)].number); bbs.exec_xtrn(xtrn_area.sec_list[curr_xtrnsec].prog_list[parseInt(x_prog)].number);
draw_main(); draw_main(true);
xtrnsec.draw(); xtrnsec.draw();
} }
draw_main(); draw_main(false);
} }
draw_main(); draw_main(false);
break; break;
case 'I': case 'I':
infoloop: while(1) { infoloop: while(1) {
...@@ -905,22 +906,22 @@ while(1) { ...@@ -905,22 +906,22 @@ while(1) {
case 'I': case 'I':
clear_screen(); clear_screen();
bbs.sys_info(); bbs.sys_info();
draw_main(); draw_main(true);
break; break;
case 'V': case 'V':
clear_screen(); clear_screen();
bbs.ver(); bbs.ver();
draw_main(); draw_main(true);
break; break;
case 'S': case 'S':
clear_screen(); clear_screen();
bbs.sub_info(); bbs.sub_info();
draw_main(); draw_main(true);
break; break;
case 'Y': case 'Y':
clear_screen(); clear_screen();
bbs.user_info(); bbs.user_info();
draw_main(); draw_main(true);
break; break;
case 'U': case 'U':
userlistloop: while(1) { userlistloop: while(1) {
...@@ -928,41 +929,41 @@ while(1) { ...@@ -928,41 +929,41 @@ while(1) {
case '-': case '-':
clear_screen(); clear_screen();
break userlistloop; break userlistloop;
draw_main(); draw_main(true);
infomenu.draw(); infomenu.draw();
break; break;
case 'L': case 'L':
clear_screen(); clear_screen();
bbs.list_logons(); bbs.list_logons();
draw_main(); draw_main(true);
infomenu.draw(); infomenu.draw();
break; break;
case 'S': case 'S':
clear_screen(); clear_screen();
bbs.list_users(UL_SUB); bbs.list_users(UL_SUB);
draw_main(); draw_main(true);
infomenu.draw(); infomenu.draw();
break; break;
case 'A': case 'A':
clear_screen(); clear_screen();
bbs.list_users(UL_ALL); bbs.list_users(UL_ALL);
draw_main(); draw_main(true);
infomenu.draw(); infomenu.draw();
break; break;
} }
} }
draw_main(); draw_main(false);
break; break;
case 'T': case 'T':
clear_screen(); clear_screen();
bbs.text_sec(); bbs.text_sec();
draw_main(); draw_main(true);
break; break;
case '-': case '-':
break infoloop; break infoloop;
} }
} }
draw_main(); draw_main(false);
break; break;
case 'G': case 'G':
exit(1); exit(1);
...@@ -1010,16 +1011,31 @@ function clear_screen() ...@@ -1010,16 +1011,31 @@ function clear_screen()
console.clear(); console.clear();
} }
function draw_main() function draw_main(topline)
{ {
/* /*
* Called to re-display the main menu. * Called to re-display the main menu.
* topline is false when the top line doesn't need redrawing.
*/
console.attributes=7;
if(topline) {
console.clear();
console.attributes=0x17;
console.clearline();
mainbar.draw();
}
else {
console.gotoxy(1,1);
var i;
for(i=1;i<console.screen_rows;i++) {
console.line_counter=0;
console.write("\n");
console.cleartoeol();
}
console.gotoxy(1,1);
}
/*
* If you want a background ANSI or something for the menus, * If you want a background ANSI or something for the menus,
* this is the place to draw it from. * this is the place to draw it from.
*/ */
console.attributes=7;
console.clear();
console.attributes=0x17;
console.clearline();
mainbar.draw();
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment