From 62715af75423a35eb4d1d66cb92f3ddd750c9029 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Sat, 12 Sep 2020 23:17:38 -0700 Subject: [PATCH] Make "dark mode" the default sbbsctrl style. Read and write the Log fonts when importing/exporting sbbsctrl.ini. Use sbbsctrl*.ini as the default Import Settings file mask. --- src/sbbs3/ctrl/ClientFormUnit.dfm | 3 +- src/sbbs3/ctrl/EventsFormUnit.dfm | 5 +-- src/sbbs3/ctrl/FtpFormUnit.dfm | 5 +-- src/sbbs3/ctrl/MailFormUnit.dfm | 5 +-- src/sbbs3/ctrl/MainFormUnit.cpp | 54 ++++++++++++++++++++--------- src/sbbs3/ctrl/MainFormUnit.h | 2 +- src/sbbs3/ctrl/NodeFormUnit.dfm | 3 +- src/sbbs3/ctrl/ServicesFormUnit.dfm | 5 +-- src/sbbs3/ctrl/TelnetFormUnit.dfm | 5 +-- src/sbbs3/ctrl/WebFormUnit.dfm | 5 +-- 10 files changed, 61 insertions(+), 31 deletions(-) diff --git a/src/sbbs3/ctrl/ClientFormUnit.dfm b/src/sbbs3/ctrl/ClientFormUnit.dfm index d92199f2d1..fcab73c125 100644 --- a/src/sbbs3/ctrl/ClientFormUnit.dfm +++ b/src/sbbs3/ctrl/ClientFormUnit.dfm @@ -9,7 +9,7 @@ object ClientForm: TClientForm DragKind = dkDock DragMode = dmAutomatic Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -10 Font.Name = 'MS Sans Serif' Font.Style = [] @@ -23,6 +23,7 @@ object ClientForm: TClientForm Width = 615 Height = 307 Align = alClient + Color = clBlack Columns = < item Caption = 'Socket' diff --git a/src/sbbs3/ctrl/EventsFormUnit.dfm b/src/sbbs3/ctrl/EventsFormUnit.dfm index b584d24b9d..2791dd5943 100644 --- a/src/sbbs3/ctrl/EventsFormUnit.dfm +++ b/src/sbbs3/ctrl/EventsFormUnit.dfm @@ -23,11 +23,12 @@ object EventsForm: TEventsForm Width = 543 Height = 352 Align = alClient + Color = clBlack Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -12 Font.Name = 'MS Sans Serif' - Font.Style = [] + Font.Style = [fsBold] HideScrollBars = False ParentFont = False PopupMenu = MainForm.LogPopupMenu diff --git a/src/sbbs3/ctrl/FtpFormUnit.dfm b/src/sbbs3/ctrl/FtpFormUnit.dfm index 807ca4ad51..d4d50f3abb 100644 --- a/src/sbbs3/ctrl/FtpFormUnit.dfm +++ b/src/sbbs3/ctrl/FtpFormUnit.dfm @@ -143,11 +143,12 @@ object FtpForm: TFtpForm Width = 509 Height = 86 Align = alClient + Color = clBlack Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -12 Font.Name = 'MS Sans Serif' - Font.Style = [] + Font.Style = [fsBold] HideScrollBars = False ParentFont = False PopupMenu = MainForm.LogPopupMenu diff --git a/src/sbbs3/ctrl/MailFormUnit.dfm b/src/sbbs3/ctrl/MailFormUnit.dfm index db748b0144..ae4fd58282 100644 --- a/src/sbbs3/ctrl/MailFormUnit.dfm +++ b/src/sbbs3/ctrl/MailFormUnit.dfm @@ -146,11 +146,12 @@ object MailForm: TMailForm Width = 464 Height = 86 Align = alClient + Color = clBlack Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -12 Font.Name = 'MS Sans Serif' - Font.Style = [] + Font.Style = [fsBold] HideScrollBars = False ParentFont = False PopupMenu = MainForm.LogPopupMenu diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp index 8ee17f4972..62c35efa2b 100644 --- a/src/sbbs3/ctrl/MainFormUnit.cpp +++ b/src/sbbs3/ctrl/MainFormUnit.cpp @@ -972,7 +972,7 @@ __fastcall TMainForm::TMainForm(TComponent* Owner) for(i=LOG_EMERG;i<=LOG_DEBUG;i++) { LogFont[i] = new TFont; LogFont[i]->Color=LogLevelColor[i]; - if(i<=LOG_ERR) +// if(i <= LOG_ERR) LogFont[i]->Style = TFontStyles()<< fsBold; } } @@ -1565,12 +1565,12 @@ int __fastcall TMainForm::PageNum(TPageControl* obj) return(PAGE_LOWERRIGHT); } TColor __fastcall TMainForm::ReadColor(TRegistry* Registry - ,AnsiString name) + ,AnsiString name, TColor deflt) { if(Registry->ValueExists(name + "Color")) return(StringToColor(Registry->ReadString(name + "Color"))); - return(clWindow); // Default + return deflt; } void __fastcall TMainForm::WriteColor(TRegistry* Registry ,AnsiString name, TColor color) @@ -1755,28 +1755,30 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender) if(Registry->ValueExists("WebFormPage")) WebFormPage=Registry->ReadInteger("WebFormPage"); - TelnetForm->Log->Color=ReadColor(Registry,"TelnetLog"); + TelnetForm->Log->Color=ReadColor(Registry,"TelnetLog",TelnetForm->Log->Color); ReadFont("TelnetLog",TelnetForm->Log->Font); - EventsForm->Log->Color=ReadColor(Registry,"EventsLog"); + EventsForm->Log->Color=ReadColor(Registry,"EventsLog",EventsForm->Log->Color); ReadFont("EventsLog",EventsForm->Log->Font); - ServicesForm->Log->Color=ReadColor(Registry,"ServicesLog"); + ServicesForm->Log->Color=ReadColor(Registry,"ServicesLog",ServicesForm->Log->Color); ReadFont("ServicesLog",ServicesForm->Log->Font); - MailForm->Log->Color=ReadColor(Registry,"MailLog"); + MailForm->Log->Color=ReadColor(Registry,"MailLog",MailForm->Log->Color); ReadFont("MailLog",MailForm->Log->Font); - FtpForm->Log->Color=ReadColor(Registry,"FtpLog"); + FtpForm->Log->Color=ReadColor(Registry,"FtpLog",FtpForm->Log->Color); ReadFont("FtpLog",FtpForm->Log->Font); - WebForm->Log->Color=ReadColor(Registry,"WebLog"); + WebForm->Log->Color=ReadColor(Registry,"WebLog",WebForm->Log->Color); ReadFont("WebLog",WebForm->Log->Font); - NodeForm->ListBox->Color=ReadColor(Registry,"NodeList"); + NodeForm->ListBox->Color=ReadColor(Registry,"NodeList",NodeForm->ListBox->Color); ReadFont("NodeList",NodeForm->ListBox->Font); - ClientForm->ListView->Color=ReadColor(Registry,"ClientList"); + ClientForm->ListView->Color=ReadColor(Registry,"ClientList",ClientForm->ListView->Color); ReadFont("ClientList",ClientForm->ListView->Font); { int i; - for(i=LOG_EMERG; i<=LOG_DEBUG; i++) - ReadFont("Log" + AnsiString(LogLevelDesc[i]), LogFont[i]); + for(i=LOG_EMERG; i<=LOG_DEBUG; i++) { + if(i != LOG_INFO) + ReadFont("Log" + AnsiString(LogLevelDesc[i]), LogFont[i]); + } } if(Registry->ValueExists("TelnetFormTop")) @@ -2241,8 +2243,10 @@ void __fastcall TMainForm::SaveRegistrySettings(TObject* Sender) { int i; - for(i=LOG_EMERG;i<=LOG_DEBUG;i++) - WriteFont("Log" + AnsiString(LogLevelDesc[i]), LogFont[i]); + for(i=LOG_EMERG;i<=LOG_DEBUG;i++) { + if(i != LOG_INFO) + WriteFont("Log" + AnsiString(LogLevelDesc[i]), LogFont[i]); + } } Registry->WriteBool("ToolBarVisible",Toolbar->Visible); @@ -2358,7 +2362,7 @@ void __fastcall TMainForm::ExportFont(TMemIniFile* IniFile, const char* section, void __fastcall TMainForm::ImportSettings(TObject* Sender) { OpenDialog->Filter="Settings files (*.ini)|*.ini|All files|*.*"; - OpenDialog->FileName=AnsiString(global.ctrl_dir)+"sbbsctrl.ini"; + OpenDialog->FileName=AnsiString(global.ctrl_dir)+"sbbsctrl*.ini"; if(!OpenDialog->Execute()) return; @@ -2429,6 +2433,15 @@ void __fastcall TMainForm::ImportSettings(TObject* Sender) =IniFile->ReadInteger(section,str,0); } + { + int i; + + for(i=LOG_EMERG; i<=LOG_DEBUG; i++) { + if(i != LOG_INFO) + ImportFont(IniFile, ("Log" + AnsiString(LogLevelDesc[i]) + "Font").c_str(), "", LogFont[i]); + } + } + section = "SpyTerminal"; SpyTerminalWidth=IniFile->ReadInteger(section, "Width", SpyTerminalWidth); SpyTerminalHeight=IniFile->ReadInteger(section, "Height", SpyTerminalHeight); @@ -2513,6 +2526,15 @@ void __fastcall TMainForm::ExportSettings(TObject* Sender) ExportFont(IniFile,section,"LogFont",WebForm->Log->Font); IniFile->WriteString(section,"LogColor",ColorToString(WebForm->Log->Color)); + { + int i; + + for(i=LOG_EMERG; i<=LOG_DEBUG; i++) { + if(i != LOG_INFO) + ExportFont(IniFile, ("Log" + AnsiString(LogLevelDesc[i]) + "Font").c_str(), "", LogFont[i]); + } + } + section = "SpyTerminal"; IniFile->WriteInteger(section, "Width" ,SpyTerminalWidth); diff --git a/src/sbbs3/ctrl/MainFormUnit.h b/src/sbbs3/ctrl/MainFormUnit.h index 0c1463ede7..e8ec13c10e 100644 --- a/src/sbbs3/ctrl/MainFormUnit.h +++ b/src/sbbs3/ctrl/MainFormUnit.h @@ -493,7 +493,7 @@ public: // User declarations int __fastcall PageNum(TPageControl* obj); void __fastcall FormMinimize(TObject *Sender); void __fastcall DisplayMainPanels(TObject *Sender); - TColor __fastcall ReadColor(TRegistry*, AnsiString); + TColor __fastcall ReadColor(TRegistry*, AnsiString, TColor); void __fastcall WriteColor(TRegistry*, AnsiString, TColor); void __fastcall ReadFont(AnsiString, TFont*); void __fastcall WriteFont(AnsiString, TFont*); diff --git a/src/sbbs3/ctrl/NodeFormUnit.dfm b/src/sbbs3/ctrl/NodeFormUnit.dfm index 9c7ac1d6d8..8541939bdd 100644 --- a/src/sbbs3/ctrl/NodeFormUnit.dfm +++ b/src/sbbs3/ctrl/NodeFormUnit.dfm @@ -10,7 +10,7 @@ object NodeForm: TNodeForm DragKind = dkDock DragMode = dmAutomatic Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] @@ -114,6 +114,7 @@ object NodeForm: TNodeForm MultiSelect = True PopupMenu = PopupMenu TabOrder = 1 + Color = clBlack end object Timer: TTimer OnTimer = TimerTick diff --git a/src/sbbs3/ctrl/ServicesFormUnit.dfm b/src/sbbs3/ctrl/ServicesFormUnit.dfm index 3c1edab46c..016431acbd 100644 --- a/src/sbbs3/ctrl/ServicesFormUnit.dfm +++ b/src/sbbs3/ctrl/ServicesFormUnit.dfm @@ -127,11 +127,12 @@ object ServicesForm: TServicesForm Width = 721 Height = 144 Align = alClient + Color = clBlack Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -12 Font.Name = 'MS Sans Serif' - Font.Style = [] + Font.Style = [fsBold] HideScrollBars = False ParentFont = False PopupMenu = MainForm.LogPopupMenu diff --git a/src/sbbs3/ctrl/TelnetFormUnit.dfm b/src/sbbs3/ctrl/TelnetFormUnit.dfm index ef88ca0ba5..f05082bd12 100644 --- a/src/sbbs3/ctrl/TelnetFormUnit.dfm +++ b/src/sbbs3/ctrl/TelnetFormUnit.dfm @@ -152,11 +152,12 @@ object TelnetForm: TTelnetForm Width = 575 Height = 150 Align = alClient + Color = clBlack Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -12 Font.Name = 'MS Sans Serif' - Font.Style = [] + Font.Style = [fsBold] HideScrollBars = False ParentFont = False PopupMenu = MainForm.LogPopupMenu diff --git a/src/sbbs3/ctrl/WebFormUnit.dfm b/src/sbbs3/ctrl/WebFormUnit.dfm index 281dca6411..6d74eed36f 100644 --- a/src/sbbs3/ctrl/WebFormUnit.dfm +++ b/src/sbbs3/ctrl/WebFormUnit.dfm @@ -148,11 +148,12 @@ object WebForm: TWebForm Width = 446 Height = 165 Align = alClient + Color = clBlack Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText + Font.Color = clWhite Font.Height = -12 Font.Name = 'MS Sans Serif' - Font.Style = [] + Font.Style = [fsBold] HideScrollBars = False ParentFont = False PopupMenu = MainForm.LogPopupMenu -- GitLab