diff --git a/exec/cshell.js b/exec/cshell.js index 64e926997e4f23351c76cfa61c0097b21be05de7..3b9c73a52f3a43286b847d584ff33e81be4a241c 100644 --- a/exec/cshell.js +++ b/exec/cshell.js @@ -54,9 +54,6 @@ var screen_rows=console.screen_rows; var screen_columns=console.screen_columns; var full_redraw=false; var orig_passthru=console.ctrlkey_passthru; -bbs.sys_status|=SS_MOFF; -bbs.sys_status|=SS_PAUSEOFF; -console.ctrlkey_passthru="+KOPTU"; var cmdlist=new CommandList(); var settings=new Settings(); @@ -76,7 +73,7 @@ function init() center.init(); left.init(); - if(favorites.items.length > 0) { + if(favorites.items.length > 0) { loadMenu("favorites"); showLeftWindow(); } @@ -218,6 +215,10 @@ function redraw() menuinfo[left.currentmenu](); } + bbs.sys_status|=SS_MOFF; + bbs.sys_status|=SS_PAUSEOFF; + console.ctrlkey_passthru="+KOPTU"; + full_redraw=false; } function drawTitle(x,y,str) @@ -241,7 +242,7 @@ function drawSeparator(x,y) { console.gotoxy(x,y); console.pushxy(); - console.attributes=BG_BLACK + settings.shell_fg; + console.attributes=BG_BLACK + (settings.shell_bg>>4); for(var i=0;i<settings.main_height;i++) { console.putmsg("\xB3",P_SAVEATR); console.popxy(); @@ -261,7 +262,7 @@ function drawTopline() } function drawOutline() { - console.attributes=BG_BLACK + settings.shell_fg; + console.attributes=BG_BLACK + (settings.shell_bg>>4); var outline=splitPadded("\xDD","\xDE",console.screen_columns," "); for(var l=2;l<console.screen_rows;l++) { console.gotoxy(1,l); @@ -508,6 +509,7 @@ function saveSettings() log("error opening user settings",LOG_WARNING); return; } + settings_file.iniSetObject("settings",settings); for(var f=0;f<favorites.items.length;f++) { var fav=favorites.items[f]; var value= diff --git a/exec/load/cshell_menu.js b/exec/load/cshell_menu.js index d6d10d8143bddd65012b1922c9af39472662ce23..fd32ea4136c31822e8c7ec9b8ba899716db097c6 100644 --- a/exec/load/cshell_menu.js +++ b/exec/load/cshell_menu.js @@ -99,6 +99,9 @@ menuobj["settings"]=function() { this.items=new Array(); this.addcmd("User Configuration","U"); this.addcmd("Minute Bank","B"); + this.addcmd("File Settings","F"); + this.addcmd("Chat Settings","C"); + this.addcmd("Shell Settings","S"); set_hotkeys(this); fill_menu(this); this.node_action=NODE_DFLT; @@ -283,6 +286,78 @@ menuobj["chatsettings"]=function() { fill_menu(this); this.node_action=NODE_DFLT; } +menuobj["shellsettings"]=function() { + this.title="COLOR SETTINGS"; + this.items=new Array(); + this.addcmd("Shell Background","sbg"); + this.addcmd("Main Hotkeys","mhk"); + this.addcmd("Main Foreground","mtx"); + this.addcmd("Menu Foreground","mfg"); + this.addcmd("Menu Background","mbg"); + this.addcmd("Lightbar Foreground","lfg"); + this.addcmd("Lightbar Background","lbg"); + this.addcmd("Local Chat","cl"); + this.addcmd("Remote Chat","cr"); + this.addcmd("Global Chat","cg"); + this.addcmd("Private Chat","cp"); + this.addcmd("",undefined,true); + this.addcmd("Save Settings","s"); + set_hotkeys(this); + fill_menu(this); + this.node_action=NODE_DFLT; +} +menuobj["setcolorbg"]=function() { + this.title="BACKGROUND COLORS"; + this.items=new Array(); + this.addcmd("BLACK","BG_BLACK"); + this.addcmd("BLUE","BG_BLUE"); + this.addcmd("GRAY","BG_GRAY"); + this.addcmd("GREEN","BG_GREEN"); + this.addcmd("BROWN","BG_BROWN"); + this.addcmd("RED","BG_RED"); + this.addcmd("CYAN","BG_CYAN"); + this.addcmd("MAGENTA","BG_MAGENTA"); + set_hotkeys(this); + fill_menu(this); + this.node_action=NODE_DFLT; +} +menuobj["setcolorfbg"]=function() { + this.title="COLORS"; + this.items=new Array(); + this.addcmd("BLACK","BLACK"); + this.addcmd("BLUE","BLUE"); + this.addcmd("GRAY","GRAY"); + this.addcmd("GREEN","GREEN"); + this.addcmd("BROWN","BROWN"); + this.addcmd("RED","RED"); + this.addcmd("CYAN","CYAN"); + this.addcmd("MAGENTA","MAGENTA"); + set_hotkeys(this); + fill_menu(this); + this.node_action=NODE_DFLT; +} +menuobj["setcolorfg"]=function() { + this.title="FOREGROUND COLORS"; + this.items=new Array(); + this.addcmd("BLACK","BLACK"); + this.addcmd("BLUE","BLUE"); + this.addcmd("LIGHT BLUE","LIGHTBLUE"); + this.addcmd("LIGHT GRAY","LIGHTGRAY"); + this.addcmd("DARK GRAY","DARKGRAY"); + this.addcmd("GREEN","GREEN"); + this.addcmd("LIGHT GREEN","LIGHTGREEN"); + this.addcmd("RED","RED"); + this.addcmd("LIGHT RED","LIGHTRED"); + this.addcmd("CYAN","CYAN"); + this.addcmd("LIGHT CYAN","LIGHTCYAN"); + this.addcmd("YELLOW","YELLOW"); + this.addcmd("BROWN","BROWN"); + this.addcmd("MAGENTA","MAGENTA"); + this.addcmd("LIGHT MAGENTA","LIGHTMAGENTA"); + set_hotkeys(this); + fill_menu(this); + this.node_action=NODE_DFLT; +} /* MENU COMMANDS */ var menucmd=[]; @@ -320,6 +395,7 @@ menucmd["favorites"]=function(key) { key=this.menu.items[fav.itemID].id; this.process(key); } + this.loadMenu("favorites"); } } menucmd["addfavorite"]=function(key) { @@ -424,10 +500,8 @@ menucmd["xtrnsecs"]=function(key) { } menucmd["xtrnsec"]=function(key) { clear_screen(); - var current_passthru=console.ctrlkey_passthru; bbs.exec_xtrn(xtrn_area.sec_list[this.xtrnsec].prog_list[Number(key)].number); - console.ctrlkey_passthru=current_passthru; - full_redraw=true; + console.ctrlkey_passthru=console.ctrlkey_passthru; } menucmd["file"]=function(key) { var i; @@ -931,10 +1005,10 @@ menucmd["message"]=function(key) { this.redraw(); break; case 'N': - this.loadMenu("newscan"); + this.loadMenu("newmsgscan"); break; case 'Y': - this.loadMenu("scantoyou"); + this.loadMenu("yourmsgscan"); break; case 'T': this.loadMenu("searchmsgtxt"); @@ -1004,8 +1078,11 @@ menucmd["yourmsgscan"]=function(key) { clear_screen(); console.putmsg("\r\n\x01c\x01hYour Message Scan\r\n"); for(j=0; j<msg_area.grp_list.length; j++) { - for(i=0; i<msg_area.grp_list[j].sub_list.length; i++) - bbs.scan_posts(msg_area.grp_list[bbs.curgrp].sub_list[i].number, SCAN_TOYOU); + for(i=0; i<msg_area.grp_list[j].sub_list.length; i++) { + log("scanning base: " + i); + log("scanning group: " + j); + bbs.scan_posts(msg_area.grp_list[j].sub_list[i].number, SCAN_TOYOU); + } } this.redraw(); break; @@ -1248,8 +1325,79 @@ menucmd["settings"]=function(key) { bbs.time_bank(); this.redraw(); break; + case 'F': + this.loadMenu("filesettings"); + break; + case 'C': + this.loadMenu("chatsettings"); + break; + case 'S': + this.loadMenu("shellsettings"); + break; } } +menucmd["shellsettings"]=function(key) { + switch(key) + { + case "sbg": + settings.temp="shell_bg"; + this.loadMenu("setcolorbg"); + break; + case "mhk": + settings.temp="main_hkey_color"; + this.loadMenu("setcolorfg"); + break; + case "mtx": + settings.temp="main_text_color"; + this.loadMenu("setcolorfg"); + break; + case "mfg": + settings.temp="menu_fg"; + this.loadMenu("setcolorfg"); + break; + case "mbg": + settings.temp="menu_bg"; + this.loadMenu("setcolorbg"); + break; + case "lfg": + settings.temp="menu_hfg"; + this.loadMenu("setcolorfg"); + break; + case "lbg": + settings.temp="menu_hbg"; + this.loadMenu("setcolorfbg"); + break; + case "cl": + settings.temp="chat_local_color"; + this.loadMenu("setcolorfg"); + break; + case "cr": + settings.temp="chat_remote_color"; + this.loadMenu("setcolorfg"); + break; + case "cg": + settings.temp="chat_global_color"; + this.loadMenu("setcolorfg"); + break; + case "cp": + settings.temp="chat_private_color"; + this.loadMenu("setcolorfg"); + break; + case "s": + saveSettings(); + break; + } +} +menucmd["setcolorfg"]=function(key) { + settings[settings.temp]=getColor(key); + this.init(); + var current=this.currentmenu; + this.currentmenu=""; + this.loadMenu(current); + full_redraw=true; +} +menucmd["setcolorbg"]=menucmd["setcolorfg"]; +menucmd["setcolorfbg"]=menucmd["setcolorfg"]; /* MENU INFO */ var menuinfo=[]; diff --git a/exec/load/cshell_obj.js b/exec/load/cshell_obj.js index 0a843c37d1d7b0c66075eea121021de7b81cd672..c8dc9e64a7da9385b95d8c234168b6295092768a 100644 --- a/exec/load/cshell_obj.js +++ b/exec/load/cshell_obj.js @@ -261,30 +261,9 @@ function LeftWindow() this.init=function() { SideBar.prototype=new Lightbar; - - menuobj["main"].prototype=new SideBar; - menuobj["file"].prototype=new SideBar; - menuobj["filedir"].prototype=new SideBar; - menuobj["settings"].prototype=new SideBar; - menuobj["email"].prototype=new SideBar; - menuobj["message"].prototype=new SideBar; - menuobj["chat"].prototype=new SideBar; - menuobj["xtrnsecs"].prototype=new SideBar; - menuobj["xtrnsec"].prototype=new SideBar; - menuobj["info"].prototype=new SideBar; - menuobj["userlist"].prototype=new SideBar; - menuobj["emailtarget"].prototype=new SideBar; - menuobj["download"].prototype=new SideBar; - menuobj["upload"].prototype=new SideBar; - menuobj["fileinfo"].prototype=new SideBar; - menuobj["filesettings"].prototype=new SideBar; - menuobj["newmsgscan"].prototype=new SideBar; - menuobj["yourmsgscan"].prototype=new SideBar; - menuobj["searchmsgtxt"].prototype=new SideBar; - menuobj["chatsettings"].prototype=new SideBar; - menuobj["favorites"].prototype=new SideBar; - menuobj["addfavorite"].prototype=new SideBar; - menuobj["delfavorite"].prototype=new SideBar; + for(var m in menuobj) { + menuobj[m].prototype=new SideBar; + } } this.cycle=function() { @@ -365,7 +344,6 @@ function SideBar() function Settings(list) { this.shell_bg=BG_BROWN; - this.shell_fg=BROWN; this.main_hkey_color=YELLOW; this.main_text_color=BLACK;