From 93db0e9fd359865b97ee0b0fb1136b0a6cde2685 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sun, 11 Mar 2001 14:56:06 +0000
Subject: [PATCH] Added Control Panel Properties Dialog. Added
 MinimizeToSysTray option. Close operation no longer interferes with Windows
 shutdown.

---
 src/sbbs3/ctrl/MainFormUnit.cpp |  68 +++++++++++++++--
 src/sbbs3/ctrl/MainFormUnit.dfm |  35 +++++++--
 src/sbbs3/ctrl/MainFormUnit.h   |  10 ++-
 src/sbbs3/ctrl/sbbsctrl.bpr     | 129 +++++++++++++++++---------------
 4 files changed, 165 insertions(+), 77 deletions(-)

diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp
index ad9b4ab491..be2cc8dcbf 100644
--- a/src/sbbs3/ctrl/MainFormUnit.cpp
+++ b/src/sbbs3/ctrl/MainFormUnit.cpp
@@ -61,12 +61,14 @@
 #include "CodeInputFormUnit.h"
 #include "TextFileEditUnit.h"
 #include "UserListFormUnit.h"
+#include "PropertiesDlgUnit.h"
 
 #include "sbbs.h"           // unixtodstr()
 #include "userdat.h"		// lastuser()
 
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
+#pragma link "Trayicon"
 #pragma resource "*.dfm"
 TMainForm *MainForm;
 
@@ -485,15 +487,18 @@ static void ftp_start(void)
 }
 //---------------------------------------------------------------------------
 
-#define REG_KEY "\\Software\\Swindell\\Synchronet Control Panel\\"
+#define APP_TITLE "Synchronet Control Panel"
+#define REG_KEY "\\Software\\Swindell\\"APP_TITLE"\\"
 
 //---------------------------------------------------------------------------
 __fastcall TMainForm::TMainForm(TComponent* Owner)
         : TForm(Owner)
 {
+    /* Defaults */
     CtrlDirectory="c:\\sbbs\\ctrl\\";
     LoginCommand="start telnet://localhost";
     ConfigCommand="%sSCFG %s /T2";
+    MinimizeToSysTray=false;
 
     memset(&bbs_startup,0,sizeof(bbs_startup));
     bbs_startup.size=sizeof(bbs_startup);
@@ -554,6 +559,8 @@ __fastcall TMainForm::TMainForm(TComponent* Owner)
     SpyTerminalWidth=434;
     SpyTerminalHeight=365;
     SpyTerminalKeyboardActive=true;
+
+    Application->OnMinimize=FormMinimize;    
 }
 //---------------------------------------------------------------------------
 void __fastcall TMainForm::FileExitMenuItemClick(TObject *Sender)
@@ -700,6 +707,7 @@ void __fastcall TMainForm::SaveSettings(TObject* Sender)
     Registry->WriteString("CtrlDirectory",CtrlDirectory);
     Registry->WriteString("LoginCommand",LoginCommand);
     Registry->WriteString("ConfigCommand",ConfigCommand);
+    Registry->WriteBool("MinimizeToSysTray",MinimizeToSysTray);
 
     Registry->WriteInteger("SysAutoStart",SysAutoStart);
     Registry->WriteInteger("MailAutoStart",MailAutoStart);
@@ -769,10 +777,9 @@ void __fastcall TMainForm::SaveSettings(TObject* Sender)
 
 void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
 {
-	CanClose=true;
+	CanClose=false;
 
     if(TelnetStop->Enabled) {
-	   	CanClose=false;
      	if(TelnetForm->ProgressBar->Position
 	        && Application->MessageBox("Shut down the Telnet Server?"
         	,"Telnet Server In Use", MB_OKCANCEL)!=IDOK)
@@ -781,7 +788,6 @@ void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
 	}
 
     if(MailStop->Enabled) {
-        CanClose=false;
     	if(MailForm->ProgressBar->Position
     		&& Application->MessageBox("Shut down the Mail Server?"
         	,"Mail Server In Use", MB_OKCANCEL)!=IDOK)
@@ -790,7 +796,6 @@ void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
     }
 
     if(FtpStop->Enabled) {
-        CanClose=false;
     	if(FtpForm->ProgressBar->Position
     		&& Application->MessageBox("Shut down the FTP Server?"
 	       	,"FTP Server In Use", MB_OKCANCEL)!=IDOK)
@@ -798,8 +803,10 @@ void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
         FtpStopExecute(Sender);
     }
 
-    if(CanClose==false)
-	    CloseTimer->Enabled=true;
+	while(TelnetStop->Enabled || MailStop->Enabled || FtpStop->Enabled)
+        Application->HandleMessage(); 
+
+    CanClose=true;
 }
 //---------------------------------------------------------------------------
 
@@ -1265,6 +1272,8 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender)
     	LoginCommand=Registry->ReadString("LoginCommand");
     if(Registry->ValueExists("ConfigCommand"))
     	ConfigCommand=Registry->ReadString("ConfigCommand");
+    if(Registry->ValueExists("MinimizeToSysTray"))
+    	MinimizeToSysTray=Registry->ReadBool("MinimizeToSysTray");
 
     if(Registry->ValueExists("MailLogFile"))
     	MailLogFile=Registry->ReadInteger("MailLogFile");
@@ -1635,6 +1644,19 @@ void __fastcall TMainForm::UpTimerTick(TObject *Sender)
     AnsiString Str=AnsiString(str);
     if(MainForm->StatusBar->Panels->Items[4]->Text!=Str)
 		MainForm->StatusBar->Panels->Items[4]->Text=Str;
+    if(TrayIcon->Visible) {
+        /* Animate TrayIcon when in use */
+        AnsiString NumClients;
+        if(clients) {
+            TrayIcon->IconIndex^=1;
+            NumClients=" ("+AnsiString(clients)+" client";
+            if(clients>1)
+                NumClients+="s";
+            NumClients+=")";
+        } else if(TrayIcon->IconIndex!=4)
+            TrayIcon->IconIndex=4;
+        TrayIcon->Hint=AnsiString(APP_TITLE)+NumClients;
+    }
 }
 //---------------------------------------------------------------------------
 
@@ -1776,3 +1798,35 @@ void __fastcall TMainForm::HelpIndexMenuItemClick(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
+void __fastcall TMainForm::FormMinimize(TObject *Sender)
+{
+    if(MinimizeToSysTray) {
+        TrayIcon->Visible=true;
+        TrayIcon->Minimize();
+    }
+}
+
+void __fastcall TMainForm::TrayIconRestore(TObject *Sender)
+{
+    TrayIcon->Visible=false;
+}
+//---------------------------------------------------------------------------
+
+void __fastcall TMainForm::PropertiesExecute(TObject *Sender)
+{
+    Application->CreateForm(__classid(TPropertiesDlg), &PropertiesDlg);
+    PropertiesDlg->LoginCmdEdit->Text=LoginCommand;
+    PropertiesDlg->ConfigCmdEdit->Text=ConfigCommand;
+    PropertiesDlg->CtrlDirEdit->Text=CtrlDirectory;
+    PropertiesDlg->TrayIconCheckBox->Checked=MinimizeToSysTray;
+	if(PropertiesDlg->ShowModal()==mrOk) {
+        LoginCommand=PropertiesDlg->LoginCmdEdit->Text;
+        ConfigCommand=PropertiesDlg->ConfigCmdEdit->Text;
+        CtrlDirectory=PropertiesDlg->CtrlDirEdit->Text;
+        MinimizeToSysTray=PropertiesDlg->TrayIconCheckBox->Checked;
+        SaveSettings(Sender);
+    }
+    delete PropertiesDlg;
+}
+//---------------------------------------------------------------------------
+
diff --git a/src/sbbs3/ctrl/MainFormUnit.dfm b/src/sbbs3/ctrl/MainFormUnit.dfm
index d8b5f6421f..93a57acd00 100644
--- a/src/sbbs3/ctrl/MainFormUnit.dfm
+++ b/src/sbbs3/ctrl/MainFormUnit.dfm
@@ -2049,7 +2049,9 @@ object MainForm: TMainForm
     Images = ImageList
     Left = 296
     object FileMenuItem: TMenuItem
-      Caption = '&File'
+      Caption = 'File'
+      Hint = 'Toggle All Sounds'
+      OnClick = SoundToggleExecute
       object FileOpenMenuItem: TMenuItem
         Caption = '&Open...'
         ImageIndex = 45
@@ -2071,6 +2073,12 @@ object MainForm: TMainForm
       object N5: TMenuItem
         Caption = '-'
       end
+      object FilePropertiesMenuItem: TMenuItem
+        Action = Properties
+      end
+      object N8: TMenuItem
+        Caption = '-'
+      end
       object FileExitMenuItem: TMenuItem
         Caption = 'E&xit'
         OnClick = FileExitMenuItemClick
@@ -2568,6 +2576,12 @@ object MainForm: TMainForm
       ImageIndex = 49
       OnExecute = UserListExecute
     end
+    object Properties: TAction
+      Caption = 'Properties'
+      Hint = 'Control Panel Properties'
+      ImageIndex = 4
+      OnExecute = PropertiesExecute
+    end
   end
   object ImageList: TImageList
     Left = 360
@@ -3667,17 +3681,11 @@ object MainForm: TMainForm
       00018003000180030001FFFF0001FFFF00000000000000000000000000000000
       000000000000}
   end
-  object CloseTimer: TTimer
-    Enabled = False
-    OnTimer = CloseTimerTimer
-    Left = 328
-    Top = 65534
-  end
   object StatsTimer: TTimer
     Enabled = False
     Interval = 5000
     OnTimer = StatsTimerTick
-    Left = 250
+    Left = 538
     Top = 65532
   end
   object StartupTimer: TTimer
@@ -3691,4 +3699,15 @@ object MainForm: TMainForm
     Left = 466
     Top = 65532
   end
+  object TrayIcon: TTrayIcon
+    Hint = 'Synchronet Control Panel'
+    Hide = True
+    RestoreOn = imDoubleClick
+    PopupMenuOn = imNone
+    Icons = ImageList
+    IconIndex = 4
+    OnRestore = TrayIconRestore
+    Left = 506
+    Top = 65532
+  end
 end
diff --git a/src/sbbs3/ctrl/MainFormUnit.h b/src/sbbs3/ctrl/MainFormUnit.h
index 72a2270e80..249b59cf3f 100644
--- a/src/sbbs3/ctrl/MainFormUnit.h
+++ b/src/sbbs3/ctrl/MainFormUnit.h
@@ -54,6 +54,7 @@
 #include <ImgList.hpp>
 #include <Buttons.hpp>
 #include <Graphics.hpp>
+#include "Trayicon.h"
 //---------------------------------------------------------------------------
 class TMainForm : public TForm
 {
@@ -101,7 +102,6 @@ __published:	// IDE-managed Components
 	TMenuItem *FtpConfigureMenuItem;
 	TMenuItem *FtpStartMenuItem;
 	TMenuItem *FtpStopMenuItem;
-	TTimer *CloseTimer;
 	TMenuItem *BBSMenuItem;
 	TMenuItem *BBSConfigureMenuItem;
 	TPanel *TopPanel;
@@ -199,6 +199,10 @@ __published:	// IDE-managed Components
     TToolButton *UserListButton;
     TMenuItem *HelpIndexMenuItem;
     TMenuItem *N7;
+    TMenuItem *FilePropertiesMenuItem;
+    TMenuItem *N8;
+    TTrayIcon *TrayIcon;
+    TAction *Properties;
     void __fastcall FileExitMenuItemClick(TObject *Sender);
 	void __fastcall ViewToolbarMenuItemClick(TObject *Sender);
 	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
@@ -249,6 +253,8 @@ __published:	// IDE-managed Components
     void __fastcall ViewLogClick(TObject *Sender);
     void __fastcall UserListExecute(TObject *Sender);
     void __fastcall HelpIndexMenuItemClick(TObject *Sender);
+    void __fastcall TrayIconRestore(TObject *Sender);
+    void __fastcall PropertiesExecute(TObject *Sender);
 private:	// User declarations
 public:		// User declarations
     __fastcall TMainForm(TComponent* Owner);
@@ -260,6 +266,7 @@ public:		// User declarations
     AnsiString		CtrlDirectory;
     AnsiString      LoginCommand;
     AnsiString      ConfigCommand;
+    bool            MinimizeToSysTray;
     scfg_t		    cfg;
     bbs_startup_t 	bbs_startup;
     mail_startup_t 	mail_startup;
@@ -270,6 +277,7 @@ public:		// User declarations
     bool            SpyTerminalKeyboardActive;
 	TPageControl* __fastcall PageControl(int num);
 	int __fastcall  PageNum(TPageControl* obj);
+    void __fastcall FormMinimize(TObject *Sender);    
 };
 
 //---------------------------------------------------------------------------
diff --git a/src/sbbs3/ctrl/sbbsctrl.bpr b/src/sbbs3/ctrl/sbbsctrl.bpr
index 5ef95c97f5..cb6d95d2da 100644
--- a/src/sbbs3/ctrl/sbbsctrl.bpr
+++ b/src/sbbs3/ctrl/sbbsctrl.bpr
@@ -9,7 +9,8 @@
       TextFileEditUnit.obj TelnetFormUnit.obj FtpFormUnit.obj MailFormUnit.obj 
       NodeFormUnit.obj StatsFormUnit.obj AboutBoxFormUnit.obj 
       StatsLogFormUnit.obj CodeInputFormUnit.obj ClientFormUnit.obj 
-      SpyFormUnit.obj ..\ringbuf.obj UserListFormUnit.obj UserMsgFormUnit.obj"/>
+      SpyFormUnit.obj ..\ringbuf.obj UserListFormUnit.obj UserMsgFormUnit.obj 
+      PropertiesDlgUnit.obj"/>
     <RESFILES value="sbbsctrl.res"/>
     <IDLFILES value=""/>
     <IDLGENFILES value=""/>
@@ -19,38 +20,37 @@
       TelnetFormUnit.dfm FtpFormUnit.dfm MailFormUnit.dfm NodeFormUnit.dfm 
       StatsFormUnit.dfm AboutBoxFormUnit.dfm StatsLogFormUnit.dfm 
       CodeInputFormUnit.dfm ClientFormUnit.dfm SpyFormUnit.dfm 
-      UserListFormUnit.dfm UserMsgFormUnit.dfm"/>
+      UserListFormUnit.dfm UserMsgFormUnit.dfm PropertiesDlgUnit.dfm"/>
     <LIBFILES value="sbbs.lib mailsrvr.lib ftpsrvr.lib"/>
-    <LIBRARIES value="vcl50.lib"/>
-    <SPARELIBS value="vcl50.lib"/>
+    <LIBRARIES value="VCLX50.lib bcbsmp50.lib IcsBcb50.lib vcl50.lib"/>
+    <SPARELIBS value="vcl50.lib IcsBcb50.lib bcbsmp50.lib VCLX50.lib"/>
     <PACKAGES value="vcl50.bpi vclx50.bpi vcljpg50.bpi bcbsmp50.bpi vclmid50.bpi vcldb50.bpi 
       vclbde50.bpi inet50.bpi inetdb50.bpi vcldbx50.bpi qrpt50.bpi teeui50.bpi 
       teedb50.bpi tee50.bpi dss50.bpi nmfast50.bpi dclocx50.bpi"/>
-    <PATHCPP value=".;.."/>
+    <PATHCPP value=".;..\..\sbbs3"/>
     <PATHPAS value=".;"/>
     <PATHRC value=".;"/>
     <PATHASM value=".;"/>
     <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
     <RELEASELIBPATH value="$(BCB)\lib\release"/>
     <LINKER value="ilink32"/>
-    <USERDEFINES value="SBBS;_DEBUG"/>
+    <USERDEFINES value="SBBS"/>
     <SYSDEFINES value="NO_STRICT;_VIS_NOLIB"/>
     <MAINSOURCE value="sbbsctrl.cpp"/>
-    <INCLUDEPATH value="d:\Borland\CBuilder5\Projects;..\;..;C:\Borland\CBuilder5\Projects\;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="d:\Borland\CBuilder5\Projects;..\;$(BCB)\Projects\Lib;..;C:\Borland\CBuilder5\Projects\;$(BCB)\lib\obj;$(BCB)\lib"/>
+    <INCLUDEPATH value="..\;..\..\sbbs3;d:\Borland\CBuilder5\Projects\;C:\Borland\CBuilder5\Projects\;$(BCB)\include;$(BCB)\include\vcl"/>
+    <LIBPATH value="..\;..\..\sbbs3;d:\Borland\CBuilder5\Projects\;$(BCB)\Projects\Lib;C:\Borland\CBuilder5\Projects\;$(BCB)\lib\obj;$(BCB)\lib"/>
     <WARNINGS value="-w-par -w-csu"/>
     <WARNOPTSTR value=""/>
   </MACROS>
   <OPTIONS>
-    <IDLCFLAGS value="-Id:\Borland\CBuilder5\Projects -I..\. -I.. 
+    <IDLCFLAGS value="-I..\. -I..\..\sbbs3 -Id:\Borland\CBuilder5\Projects\. 
       -IC:\Borland\CBuilder5\Projects\. -I$(BCB)\include -I$(BCB)\include\vcl 
-      -src_suffix cpp -DSBBS -D_DEBUG -boa"/>
-    <CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c 
-      -tW -tWM"/>
-    <PFLAGS value="-$Y+ -$W -$O- -v -JPHNE -M"/>
+      -src_suffix cpp -DSBBS -boa"/>
+    <CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -c -tW -tWM"/>
+    <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
     <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zi"/>
-    <LFLAGS value="-D&quot;&quot; -aa -Tpe -GD -s -Gn -v"/>
+    <AFLAGS value="/mx /w2 /zn"/>
+    <LFLAGS value="-D&quot;&quot; -aa -Tpe -GD -s -Gn"/>
   </OPTIONS>
   <LINKER>
     <ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/>
@@ -62,11 +62,11 @@
 IncludeVerInfo=1
 AutoIncBuild=1
 MajorVer=1
-MinorVer=0
-Release=1
-Build=2
-Debug=1
-PreRelease=1
+MinorVer=1
+Release=0
+Build=0
+Debug=0
+PreRelease=0
 Special=0
 Private=0
 DLL=0
@@ -76,7 +76,7 @@ CodePage=1252
 [Version Info Keys]
 CompanyName=Rob Swindell
 FileDescription=Synchronet BBS Control Panel
-FileVersion=1.0.1.2
+FileVersion=1.1.0.0
 InternalName=
 LegalCopyright=
 LegalTrademarks=
@@ -86,54 +86,61 @@ ProductVersion=3.0.0.0
 Comments=
 
 [HistoryLists\hlIncludePath]
-Count=17
-Item0=..\;C:\Borland\CBuilder5\Projects;..;$(BCB)\include;$(BCB)\include\vcl
-Item1=..;$(BCB)\include;$(BCB)\include\vcl
-Item2=D:\Borland\Shared\Images\Buttons\;..\DLL;..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
-Item3=D:\Borland\Shared\Images\Buttons\;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
-Item4=D:\Borland\Shared\Images\Buttons;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
-Item5=..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
-Item6=..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
-Item7=..;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item8=..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item9=..\;..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item10=..\;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item11=..\;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item12=..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item13=..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item14=..\;..\..\sbbs3;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item15=..\;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
-Item16=..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Count=20
+Item0=..\;..\..\sbbs3;d:\Borland\CBuilder5\Projects\;C:\Borland\CBuilder5\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;d:\Borland\CBuilder5\Projects\;..\..\sbbs3;C:\Borland\CBuilder5\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item2=d:\Borland\CBuilder5\Projects;..\;..;C:\Borland\CBuilder5\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\;C:\Borland\CBuilder5\Projects;..;$(BCB)\include;$(BCB)\include\vcl
+Item4=..;$(BCB)\include;$(BCB)\include\vcl
+Item5=D:\Borland\Shared\Images\Buttons\;..\DLL;..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item6=D:\Borland\Shared\Images\Buttons\;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item7=D:\Borland\Shared\Images\Buttons;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item8=..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item9=..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;$(BCB)\include;$(BCB)\include\vcl
+Item10=..;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item11=..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item12=..\;..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item13=..\;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item14=..\;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item15=..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item16=..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item17=..\;..\..\sbbs3;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item18=..\;..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
+Item19=..\..\..\Borland\CBuilder4\Projects;$(BCB)\include;$(BCB)\include\vcl
 
 [HistoryLists\hlLibraryPath]
-Count=17
-Item0=$(BCB)\Projects\Lib;..\;C:\Borland\CBuilder5\Projects;$(BCB)\lib\obj;$(BCB)\lib
-Item1=$(BCB)\lib\obj;$(BCB)\lib
-Item2=D:\Borland\Shared\Images\Buttons\;..\DLL;..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item3=D:\Borland\Shared\Images\Buttons\;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item4=D:\Borland\Shared\Images\Buttons;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item5=..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item6=..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item7=..;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item8=..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item9=..\;..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item10=..\;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item11=..\;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item12=..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item13=..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item14=..\;..\..\sbbs3;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item15=..\;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
-Item16=..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Count=20
+Item0=..\;..\..\sbbs3;d:\Borland\CBuilder5\Projects\;$(BCB)\Projects\Lib;C:\Borland\CBuilder5\Projects\;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..\;d:\Borland\CBuilder5\Projects\;..\..\sbbs3;$(BCB)\Projects\Lib;C:\Borland\CBuilder5\Projects\;$(BCB)\lib\obj;$(BCB)\lib
+Item2=d:\Borland\CBuilder5\Projects;..\;$(BCB)\Projects\Lib;..;C:\Borland\CBuilder5\Projects\;$(BCB)\lib\obj;$(BCB)\lib
+Item3=$(BCB)\Projects\Lib;..\;C:\Borland\CBuilder5\Projects;$(BCB)\lib\obj;$(BCB)\lib
+Item4=$(BCB)\lib\obj;$(BCB)\lib
+Item5=D:\Borland\Shared\Images\Buttons\;..\DLL;..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item6=D:\Borland\Shared\Images\Buttons\;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item7=D:\Borland\Shared\Images\Buttons;..\DLL;..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item8=..;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item9=..\..\sbbs3;D:\BORLAND\CBUILDER4\OBJREPOS\;D:\Borland\CBuilder4\Projects\;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item10=..;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item11=..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item12=..\;..\..\sbbs3;..;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item13=..\;..\..\sbbs3;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item14=..\;..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item15=..\..\..\BORLAND\CBUILDER4\OBJREPOS;..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item16=..\;..\..\sbbs3;..;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item17=..\;..\..\sbbs3;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item18=..\;..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
+Item19=..\..\..\Borland\CBuilder4\Projects;..\Lib;$(BCB)\lib\obj;$(BCB)\lib
 
 [HistoryLists\hlDebugSourcePath]
 Count=1
 Item0=$(BCB)\source\vcl
 
 [HistoryLists\hlConditionals]
-Count=3
-Item0=SBBS;_DEBUG
-Item1=SBBS;SMB_GETMSGTXT;_DEBUG
-Item2=SBBS;SMB_GETMSGTXT
+Count=4
+Item0=SBBS
+Item1=SBBS;_DEBUG
+Item2=SBBS;SMB_GETMSGTXT;_DEBUG
+Item3=SBBS;SMB_GETMSGTXT
 
 [Debugging]
 DebugSourceDirs=$(BCB)\source\vcl
-- 
GitLab