--- sbbs/sbbs3/ctrl/mainformunit.h 2018/04/24 16:39:34 1.1 +++ sbbs/sbbs3/ctrl/mainformunit.h 2018/04/24 16:40:57 1.1.1.2 @@ -1,12 +1,12 @@ /* Synchronet Control Panel (GUI Borland C++ Builder Project for Win32) */ -/* $Id: mainformunit.h,v 1.1 2018/04/24 16:39:34 root Exp $ */ +/* $Id: mainformunit.h,v 1.1.1.2 2018/04/24 16:40:57 root Exp $ */ /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -47,13 +47,22 @@ #include #include //--------------------------------------------------------------------------- +#include // Undefined symbol '_chmod' ??? #include "scfgdefs.h" // scfg_t -#include "bbs_thrd.h" // bbs_startup_t -#include "mailsrvr.h" -#include "ftpsrvr.h" +#include "ftpsrvr.h" // ftp_startup_t +#include "websrvr.h" // web_startup_t +#include "mailsrvr.h" // mail_startup_t +#include "services.h" // services_startup_t #include #include #include +#include /* TRegistry */ +#include "trayicon.h" +#include "Trayicon.h" +#include +//--------------------------------------------------------------------------- +#define APP_TITLE "Synchronet Control Panel" +#define REG_KEY "\\Software\\Swindell\\"APP_TITLE"\\" //--------------------------------------------------------------------------- class TMainForm : public TForm { @@ -101,7 +110,6 @@ __published: // IDE-managed Components TMenuItem *FtpConfigureMenuItem; TMenuItem *FtpStartMenuItem; TMenuItem *FtpStopMenuItem; - TTimer *CloseTimer; TMenuItem *BBSMenuItem; TMenuItem *BBSConfigureMenuItem; TPanel *TopPanel; @@ -168,13 +176,13 @@ __published: // IDE-managed Components TMenuItem *FtpEditHelloMessage; TMenuItem *FtpEditGoodbyeMessage; TMenuItem *N4; - TMenuItem *FileOpenMenuItem; + TMenuItem *FileEditMenuItem; TMenuItem *N5; TMenuItem *BBSEditIPFilterMsg; TMenuItem *BBSEditHostFilter; TMenuItem *BBSEditHostFilterMsg; - TMenuItem *AllowedRelayList1; - TMenuItem *SaveSettingsMenuOption; + TMenuItem *AllowedRelayList; + TMenuItem *SaveSettingsMenuItem; TMenuItem *N6; TMenuItem *TelnetEditMenuItem; TMenuItem *TelnetEditRLoginList; @@ -193,11 +201,102 @@ __published: // IDE-managed Components TMenuItem *BBSViewAnotherDaysLog; TMenuItem *BBSViewYesterdaysLog; TMenuItem *BBSViewTodaysLog; - TMenuItem *ViewErrorLog1; - TMenuItem *ViewStatisticsLog1; + TMenuItem *ViewErrorLog; + TMenuItem *ViewStatisticsLog; TAction *UserList; TToolButton *UserListButton; - void __fastcall FileExitMenuItemClick(TObject *Sender); + TMenuItem *HelpIndexMenuItem; + TMenuItem *N7; + TMenuItem *FilePropertiesMenuItem; + TMenuItem *N8; + TTrayIcon *TrayIcon; + TAction *Properties; + TPopupMenu *TrayPopupMenu; + TMenuItem *RestoreTrayMenuItem; + TMenuItem *CloseTrayMenuItem; + TMenuItem *HelpSysopMenuItem; + TAction *ViewEvents; + TMenuItem *ViewEventsMenuItem; + TMenuItem *ConfigureTrayMenuItem; + TMenuItem *BBSEditAutoMsg; + TMenuItem *BBSEditLogonMessage; + TMenuItem *BBSEditNoNodesMessage; + TMenuItem *BBSConfigWizardMenuItem; + TMenuItem *N9; + TMenuItem *UserEditTrayMenuItem; + TMenuItem *BBSEditNupGuessMenuItem; + TMenuItem *BBSEditEmailFilterMenuItem; + TMenuItem *BBSEditBadEmailMessageMenuItem; + TMenuItem *ViewHackAttemptLogMenuItem; + TMenuItem *ConfigureBBSTrayMenuItem; + TMenuItem *ConfigureTelnetTrayMenuItem; + TMenuItem *ConfigureFtpTrayMenuItem; + TMenuItem *ConfigureMailTrayMenuItem; + TAction *ReloadConfig; + TMenuItem *ReloadConfigurationFiles1; + TToolButton *ToolButton3; + TToolButton *ReloadConfigButton; + TMenuItem *MailViewSpamLog; + TMenuItem *DomainList; + TMenuItem *BBSEditSubjectFilterMenuItem; + TAction *ServicesStart; + TAction *ServicesStop; + TMenuItem *ServicesMenuItem; + TMenuItem *ServicesConfigureMenuItem; + TMenuItem *ServicesStartMenuItem; + TMenuItem *ServicesStopMenuItem; + TAction *ServicesConfigure; + TMenuItem *UserTruncateMenuItem; + TMenuItem *HelpFAQMenuItem; + TAction *MailRecycle; + TAction *FtpRecycle; + TAction *ServicesRecycle; + TMenuItem *Recycle1; + TMenuItem *Recycle2; + TMenuItem *Recycle3; + TAction *TelnetRecycle; + TMenuItem *DnsBlacklists; + TMenuItem *ExportSettingsMenuItem; + TMenuItem *ImportSettingsMenuItem; + TMenuItem *DNSBLExemptions; + TMenuItem *BBSEditIPFilterSilent; + TMenuItem *ExternalMailProc; + TOpenDialog *OpenDialog; + TSaveDialog *SaveDialog; + TMenuItem *BBSEditNewUserEmail; + TMenuItem *BBSPreviewMenuItem; + TMenuItem *FileEditTextFiles; + TMenuItem *FileEditConfigFiles; + TMenuItem *FileEditJavaScript; + TMenuItem *BBSEditBajaMenuItem; + TMenuItem *BBSEditFile; + TMenuItem *N10; + TMenuItem *SpamBaitList; + TMenuItem *SpamBlockList; + TTimer *LogTimer; + TTimer *ServiceStatusTimer; + TMenuItem *ViewWebServerMenuItem; + TAction *ViewWebServer; + TToolButton *ViewWebServerButton; + TAction *WebStart; + TAction *WebStop; + TAction *WebRecycle; + TAction *WebConfigure; + TMenuItem *WebMenuItem; + TMenuItem *Configure1; + TMenuItem *Start1; + TMenuItem *Stop1; + TMenuItem *Recycle4; + TMenuItem *N11; + TMenuItem *WebEditMenuItem; + TMenuItem *WebEditMimeTypesMenuItem; + TMenuItem *N12; + TMenuItem *ServicesEditMenuItem; + TMenuItem *ServicesEditIniMenuOption; + TAction *ViewServices; + TMenuItem *ViewServicesMenuItem; + TMenuItem *BBSEditTwitList; + void __fastcall FileExitMenuItemClick(TObject *Sender); void __fastcall ViewToolbarMenuItemClick(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose); @@ -216,7 +315,6 @@ __published: // IDE-managed Components void __fastcall FtpStartExecute(TObject *Sender); void __fastcall FtpStopExecute(TObject *Sender); void __fastcall FtpConfigureExecute(TObject *Sender); - void __fastcall CloseTimerTimer(TObject *Sender); void __fastcall BBSConfigureMenuItemClick(TObject *Sender); void __fastcall FormCreate(TObject *Sender); void __fastcall FormShow(TObject *Sender); @@ -237,36 +335,101 @@ __published: // IDE-managed Components void __fastcall TextMenuItemEditClick(TObject *Sender); void __fastcall CtrlMenuItemEditClick(TObject *Sender); void __fastcall UpTimerTick(TObject *Sender); + void __fastcall LogTimerTick(TObject *Sender); void __fastcall BBSViewErrorLogMenuItemClick(TObject *Sender); void __fastcall ChatToggleExecute(TObject *Sender); void __fastcall ViewClientsExecute(TObject *Sender); void __fastcall UserEditExecute(TObject *Sender); - void __fastcall FileOpenMenuItemClick(TObject *Sender); void __fastcall SaveSettings(TObject *Sender); + bool __fastcall SaveIniSettings(TObject* Sender); + void __fastcall SaveRegistrySettings(TObject* Sender); + void __fastcall ImportSettings(TObject *Sender); + void __fastcall ImportFormSettings(TMemIniFile* IniFile, const char* section, TForm* form); + void __fastcall ExportFormSettings(TMemIniFile* IniFile, const char* section, TForm* form); + void __fastcall ImportFont(TMemIniFile* IniFile, const char* section, AnsiString prefix, TFont* Font); + void __fastcall ExportFont(TMemIniFile* IniFile, const char* section, AnsiString prefix, TFont* Font); + void __fastcall ExportSettings(TObject *Sender); void __fastcall BBSLoginMenuItemClick(TObject *Sender); void __fastcall ViewLogClick(TObject *Sender); void __fastcall UserListExecute(TObject *Sender); + void __fastcall WebPageMenuItemClick(TObject *Sender); + void __fastcall TrayIconRestore(TObject *Sender); + void __fastcall PropertiesExecute(TObject *Sender); + void __fastcall CloseTrayMenuItemClick(TObject *Sender); + void __fastcall RestoreTrayMenuItemClick(TObject *Sender); + void __fastcall ViewEventsExecute(TObject *Sender); + void __fastcall DataMenuItemClick(TObject *Sender); + void __fastcall BBSConfigWizardMenuItemClick(TObject *Sender); + void __fastcall PageControlUnDock(TObject *Sender, + TControl *Client, TWinControl *NewTarget, bool &Allow); + void __fastcall ReloadConfigExecute(TObject *Sender); + void __fastcall ServicesStartExecute(TObject *Sender); + void __fastcall ServicesStopExecute(TObject *Sender); + void __fastcall ServicesConfigureExecute(TObject *Sender); + void __fastcall UserTruncateMenuItemClick(TObject *Sender); + void __fastcall MailRecycleExecute(TObject *Sender); + void __fastcall FtpRecycleExecute(TObject *Sender); + void __fastcall ServicesRecycleExecute(TObject *Sender); + void __fastcall TelnetRecycleExecute(TObject *Sender); + void __fastcall BBSPreviewMenuItemClick(TObject *Sender); + void __fastcall FileEditTextFilesClick(TObject *Sender); + void __fastcall BBSEditBajaMenuItemClick(TObject *Sender); + void __fastcall FileEditJavaScriptClick(TObject *Sender); + void __fastcall FileEditConfigFilesClick(TObject *Sender); + void __fastcall BBSEditFileClick(TObject *Sender); + void __fastcall ServiceStatusTimerTick(TObject *Sender); + void __fastcall ViewWebServerExecute(TObject *Sender); + void __fastcall WebStartExecute(TObject *Sender); + void __fastcall WebStopExecute(TObject *Sender); + void __fastcall WebRecycleExecute(TObject *Sender); + void __fastcall WebConfigureExecute(TObject *Sender); + void __fastcall ViewServicesExecute(TObject *Sender); private: // User declarations public: // User declarations __fastcall TMainForm(TComponent* Owner); - bool SysAutoStart; - bool MailAutoStart; - bool FtpAutoStart; + bool Initialized; + BOOL SysAutoStart; + BOOL FtpAutoStart; + BOOL WebAutoStart; + BOOL MailAutoStart; + BOOL ServicesAutoStart; bool MailLogFile; bool FtpLogFile; - AnsiString CtrlDirectory; AnsiString LoginCommand; AnsiString ConfigCommand; + AnsiString Password; + bool MinimizeToSysTray; + bool UndockableForms; + bool UseFileAssociations; scfg_t cfg; + char ini_file[MAX_PATH+1]; bbs_startup_t bbs_startup; - mail_startup_t mail_startup; ftp_startup_t ftp_startup; + web_startup_t web_startup; + mail_startup_t mail_startup; + services_startup_t services_startup; + global_startup_t global; + HANDLE bbs_log; + HANDLE event_log; + HANDLE ftp_log; + HANDLE web_log; + HANDLE mail_log; + HANDLE services_log; + int NodeDisplayInterval; + int ClientDisplayInterval; int SpyTerminalWidth; int SpyTerminalHeight; TFont* SpyTerminalFont; bool SpyTerminalKeyboardActive; TPageControl* __fastcall PageControl(int num); int __fastcall PageNum(TPageControl* obj); + void __fastcall FormMinimize(TObject *Sender); + TColor __fastcall ReadColor(TRegistry*, AnsiString); + void __fastcall WriteColor(TRegistry*, AnsiString, TColor); + void __fastcall ReadFont(AnsiString, TFont*); + void __fastcall WriteFont(AnsiString, TFont*); + void __fastcall EditFile(AnsiString filename, AnsiString Caption="Edit"); + void __fastcall ViewFile(AnsiString filename, AnsiString Caption); }; //---------------------------------------------------------------------------