From 76fbdf6763cefa539dbb67c3c7aacfb2869acf0c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 18 Jul 2001 03:37:24 +0000
Subject: [PATCH] Changed WinExec("start url") to ShellExecute("url") - used
 for default LoginCommand (telnet://localhost) and doc links from help menu.

---
 src/sbbs3/ctrl/MainFormUnit.cpp | 23 +++++++----------------
 src/sbbs3/ctrl/MainFormUnit.dfm | 10 ++++++----
 src/sbbs3/ctrl/MainFormUnit.h   |  3 +--
 3 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp
index 496246a6f4..7102c1ee2c 100644
--- a/src/sbbs3/ctrl/MainFormUnit.cpp
+++ b/src/sbbs3/ctrl/MainFormUnit.cpp
@@ -519,7 +519,7 @@ __fastcall TMainForm::TMainForm(TComponent* Owner)
 {
     /* Defaults */
     CtrlDirectory="c:\\sbbs\\ctrl\\";
-    LoginCommand="start telnet://localhost";
+    LoginCommand="telnet://localhost";
     ConfigCommand="%sSCFG %s /T2";
     MinimizeToSysTray=false;
     NodeDisplayInterval=1;  /* seconds */
@@ -1819,9 +1819,11 @@ void __fastcall TMainForm::BBSLoginMenuItemClick(TObject *Sender)
 {
     if(!strnicmp(LoginCommand.c_str(),"start ",6))
         WinExec(LoginCommand.c_str(),SW_SHOWMINNOACTIVE);
+    else if(!strnicmp(LoginCommand.c_str(),"telnet:",7))
+        ShellExecute(Handle, "open", LoginCommand.c_str(),
+            NULL,NULL,SW_SHOWDEFAULT);
     else
         WinExec(LoginCommand.c_str(),SW_SHOWNORMAL);
-
 }
 //---------------------------------------------------------------------------
 
@@ -1878,12 +1880,10 @@ void __fastcall TMainForm::UserListExecute(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TMainForm::HelpIndexMenuItemClick(TObject *Sender)
+void __fastcall TMainForm::WebPageMenuItemClick(TObject *Sender)
 {
-    char str[512];
-
-    sprintf(str,"start http://synchro.net/docs/");
-    WinExec(str,SW_SHOWMINNOACTIVE);
+    ShellExecute(Handle, "open", ((TMenuItem*)Sender)->Hint.c_str(),
+        NULL,NULL,SW_SHOWDEFAULT);
 }
 //---------------------------------------------------------------------------
 
@@ -1935,15 +1935,6 @@ void __fastcall TMainForm::RestoreTrayMenuItemClick(TObject *Sender)
     Application->Restore();
 }
 //---------------------------------------------------------------------------
-
-void __fastcall TMainForm::HelpSysopMenuItemClick(TObject *Sender)
-{
-    char str[512];
-
-    sprintf(str,"start http://synchro.net/docs/sysop.html");
-    WinExec(str,SW_SHOWMINNOACTIVE);
-}
-//---------------------------------------------------------------------------
 void __fastcall TMainForm::BBSConfigWizardMenuItemClick(TObject *Sender)
 {
 #if 0
diff --git a/src/sbbs3/ctrl/MainFormUnit.dfm b/src/sbbs3/ctrl/MainFormUnit.dfm
index c2d52ac0ab..c31ae9bf17 100644
--- a/src/sbbs3/ctrl/MainFormUnit.dfm
+++ b/src/sbbs3/ctrl/MainFormUnit.dfm
@@ -1,6 +1,6 @@
 object MainForm: TMainForm
-  Left = 446
-  Top = 149
+  Left = 573
+  Top = 540
   Width = 640
   Height = 400
   Caption = 'Synchronet Control Panel'
@@ -2472,11 +2472,13 @@ object MainForm: TMainForm
       Caption = '&Help'
       object HelpIndexMenuItem: TMenuItem
         Caption = '&Index'
-        OnClick = HelpIndexMenuItemClick
+        Hint = 'http://www.synchro.net/docs/'
+        OnClick = WebPageMenuItemClick
       end
       object HelpSysopMenuItem: TMenuItem
         Caption = 'Sysop Manual'
-        OnClick = HelpSysopMenuItemClick
+        Hint = 'http://www.synchro.net/docs/sysop.html'
+        OnClick = WebPageMenuItemClick
       end
       object N7: TMenuItem
         Caption = '-'
diff --git a/src/sbbs3/ctrl/MainFormUnit.h b/src/sbbs3/ctrl/MainFormUnit.h
index b7cbc74b45..dddbf0ae87 100644
--- a/src/sbbs3/ctrl/MainFormUnit.h
+++ b/src/sbbs3/ctrl/MainFormUnit.h
@@ -269,12 +269,11 @@ __published:	// IDE-managed Components
     void __fastcall BBSLoginMenuItemClick(TObject *Sender);
     void __fastcall ViewLogClick(TObject *Sender);
     void __fastcall UserListExecute(TObject *Sender);
-    void __fastcall HelpIndexMenuItemClick(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 HelpSysopMenuItemClick(TObject *Sender);
     void __fastcall ViewEventsExecute(TObject *Sender);
     void __fastcall DataMenuItemClick(TObject *Sender);
     void __fastcall BBSConfigWizardMenuItemClick(TObject *Sender);
-- 
GitLab