Skip to content
Snippets Groups Projects
Commit b555e508 authored by rswindell's avatar rswindell
Browse files

Added "Reload Configuration" menu item and toolbar button.

Nodes are re-run automatically and configuration reloaded in sbbsctrl after wizard runs successfully.
Wizard loads at more appropriate time during "first run".
parent 34ab7c52
No related branches found
No related tags found
No related merge requests found
...@@ -610,7 +610,7 @@ void __fastcall TMainForm::FormCreate(TObject *Sender) ...@@ -610,7 +610,7 @@ void __fastcall TMainForm::FormCreate(TObject *Sender)
// Verify SBBS.DLL version // Verify SBBS.DLL version
long bbs_ver = bbs_ver_num(); long bbs_ver = bbs_ver_num();
if(bbs_ver < (0x300<<8) || bbs_ver > (0x399<<8)) { if(bbs_ver < (0x31000 | 'D'-'A') || bbs_ver > (0x399<<8)) {
char str[128]; char str[128];
sprintf(str,"Incorrect SBBS.DLL Version (%lX)",bbs_ver); sprintf(str,"Incorrect SBBS.DLL Version (%lX)",bbs_ver);
Application->MessageBox(str,"ERROR",MB_OK|MB_ICONEXCLAMATION); Application->MessageBox(str,"ERROR",MB_OK|MB_ICONEXCLAMATION);
...@@ -714,15 +714,6 @@ void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose) ...@@ -714,15 +714,6 @@ void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
return; return;
FtpStopExecute(Sender); FtpStopExecute(Sender);
} }
#if 0 // Moved to FormClose()
time_t start=time(NULL);
while(TelnetStop->Enabled || MailStop->Enabled || FtpStop->Enabled) {
if(time(NULL)-start>15)
break;
Application->ProcessMessages();
Sleep(1);
}
#endif
CanClose=true; CanClose=true;
} }
...@@ -1338,6 +1329,11 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender) ...@@ -1338,6 +1329,11 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender)
return; return;
} }
if(FirstRun) {
Sleep(3000); // Let 'em see the logo for a bit
BBSConfigWizardMenuItemClick(Sender);
}
if(bbs_startup.options&BBS_OPT_MUTE) if(bbs_startup.options&BBS_OPT_MUTE)
SoundToggle->Checked=false; SoundToggle->Checked=false;
else else
...@@ -1415,9 +1411,6 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender) ...@@ -1415,9 +1411,6 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender)
StatsTimer->Interval=cfg.node_stat_check*1000; StatsTimer->Interval=cfg.node_stat_check*1000;
StatsTimer->Enabled=true; StatsTimer->Enabled=true;
Initialized=true; Initialized=true;
if(FirstRun)
BBSConfigWizardMenuItemClick(Sender);
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void __fastcall TMainForm::SaveSettings(TObject* Sender) void __fastcall TMainForm::SaveSettings(TObject* Sender)
...@@ -1974,21 +1967,14 @@ void __fastcall TMainForm::RestoreTrayMenuItemClick(TObject *Sender) ...@@ -1974,21 +1967,14 @@ void __fastcall TMainForm::RestoreTrayMenuItemClick(TObject *Sender)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void __fastcall TMainForm::BBSConfigWizardMenuItemClick(TObject *Sender) void __fastcall TMainForm::BBSConfigWizardMenuItemClick(TObject *Sender)
{ {
#if 0
char str[512];
sprintf(str,"%sSCFGWIZ %s",cfg.exec_dir,cfg.ctrl_dir);
WinExec(str,SW_SHOWNORMAL);
#else
TConfigWizard* ConfigWizard; TConfigWizard* ConfigWizard;
Application->CreateForm(__classid(TConfigWizard), &ConfigWizard); Application->CreateForm(__classid(TConfigWizard), &ConfigWizard);
if(ConfigWizard->ShowModal()==mrOk) { if(ConfigWizard->ShowModal()==mrOk) {
SaveSettings(Sender); SaveSettings(Sender);
ReloadConfigExecute(Sender);
} }
delete ConfigWizard; delete ConfigWizard;
#endif
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
...@@ -2000,3 +1986,22 @@ void __fastcall TMainForm::PageControlUnDock(TObject *Sender, ...@@ -2000,3 +1986,22 @@ void __fastcall TMainForm::PageControlUnDock(TObject *Sender,
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void __fastcall TMainForm::ReloadConfigExecute(TObject *Sender)
{
if(!load_cfg(&cfg, NULL, TRUE)) {
Application->MessageBox("Failed to re-load configuration files.","ERROR"
,MB_OK|MB_ICONEXCLAMATION);
Application->Terminate();
}
node_t node;
for(int i=0;i<cfg.sys_nodes;i++) {
if(NodeForm->getnodedat(i+1,&node,true))
break;
node.misc|=NODE_RRUN;
if(NodeForm->putnodedat(i+1,&node))
break;
}
}
//---------------------------------------------------------------------------
...@@ -1939,6 +1939,19 @@ object MainForm: TMainForm ...@@ -1939,6 +1939,19 @@ object MainForm: TMainForm
Top = 0 Top = 0
Action = UserEdit Action = UserEdit
end end
object ToolButton3: TToolButton
Left = 248
Top = 0
Width = 8
Caption = 'ToolButton3'
ImageIndex = 28
Style = tbsSeparator
end
object ReloadConfigButton: TToolButton
Left = 256
Top = 0
Action = ReloadConfig
end
end end
object TopPanel: TPanel object TopPanel: TPanel
Left = 0 Left = 0
...@@ -2052,7 +2065,7 @@ object MainForm: TMainForm ...@@ -2052,7 +2065,7 @@ object MainForm: TMainForm
end end
object MainMenu: TMainMenu object MainMenu: TMainMenu
Images = ImageList Images = ImageList
Left = 296 Left = 328
object FileMenuItem: TMenuItem object FileMenuItem: TMenuItem
Caption = 'File' Caption = 'File'
object FileOpenMenuItem: TMenuItem object FileOpenMenuItem: TMenuItem
...@@ -2099,6 +2112,9 @@ object MainForm: TMainForm ...@@ -2099,6 +2112,9 @@ object MainForm: TMainForm
ImageIndex = 61 ImageIndex = 61
OnClick = BBSConfigWizardMenuItemClick OnClick = BBSConfigWizardMenuItemClick
end end
object ReloadConfigurationFiles1: TMenuItem
Action = ReloadConfig
end
object BBSLoginMenuItem: TMenuItem object BBSLoginMenuItem: TMenuItem
Caption = '&Login' Caption = '&Login'
ImageIndex = 43 ImageIndex = 43
...@@ -2640,6 +2656,12 @@ object MainForm: TMainForm ...@@ -2640,6 +2656,12 @@ object MainForm: TMainForm
ImageIndex = 49 ImageIndex = 49
OnExecute = ViewEventsExecute OnExecute = ViewEventsExecute
end end
object ReloadConfig: TAction
Caption = '&Reload Configuration'
Hint = 'Reload Configuration Files'
ImageIndex = 55
OnExecute = ReloadConfigExecute
end
end end
object ImageList: TImageList object ImageList: TImageList
Left = 360 Left = 360
...@@ -4794,7 +4816,7 @@ object MainForm: TMainForm ...@@ -4794,7 +4816,7 @@ object MainForm: TMainForm
Top = 65532 Top = 65532
end end
object TrayPopupMenu: TPopupMenu object TrayPopupMenu: TPopupMenu
Left = 266 Left = 298
Top = 4 Top = 4
object RestoreTrayMenuItem: TMenuItem object RestoreTrayMenuItem: TMenuItem
Caption = 'Restore' Caption = 'Restore'
......
...@@ -227,6 +227,10 @@ __published: // IDE-managed Components ...@@ -227,6 +227,10 @@ __published: // IDE-managed Components
TMenuItem *ConfigureTelnetTrayMenuItem; TMenuItem *ConfigureTelnetTrayMenuItem;
TMenuItem *ConfigureFtpTrayMenuItem; TMenuItem *ConfigureFtpTrayMenuItem;
TMenuItem *ConfigureMailTrayMenuItem; TMenuItem *ConfigureMailTrayMenuItem;
TAction *ReloadConfig;
TMenuItem *ReloadConfigurationFiles1;
TToolButton *ToolButton3;
TToolButton *ReloadConfigButton;
void __fastcall FileExitMenuItemClick(TObject *Sender); void __fastcall FileExitMenuItemClick(TObject *Sender);
void __fastcall ViewToolbarMenuItemClick(TObject *Sender); void __fastcall ViewToolbarMenuItemClick(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
...@@ -286,6 +290,7 @@ __published: // IDE-managed Components ...@@ -286,6 +290,7 @@ __published: // IDE-managed Components
void __fastcall BBSConfigWizardMenuItemClick(TObject *Sender); void __fastcall BBSConfigWizardMenuItemClick(TObject *Sender);
void __fastcall PageControlUnDock(TObject *Sender, void __fastcall PageControlUnDock(TObject *Sender,
TControl *Client, TWinControl *NewTarget, bool &Allow); TControl *Client, TWinControl *NewTarget, bool &Allow);
void __fastcall ReloadConfigExecute(TObject *Sender);
private: // User declarations private: // User declarations
public: // User declarations public: // User declarations
__fastcall TMainForm(TComponent* Owner); __fastcall TMainForm(TComponent* Owner);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment