From 44c02e4a3084681cbfe7830c03665bb7c39e4c4c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Thu, 13 Sep 2001 20:26:16 +0000
Subject: [PATCH] Added support for the undockable windows checkbox.

---
 src/sbbs3/ctrl/MainFormUnit.cpp      |  2 ++
 src/sbbs3/ctrl/MainFormUnit.dfm      |  4 ++++
 src/sbbs3/ctrl/PropertiesDlgUnit.dfm | 19 ++++++++++++++-----
 src/sbbs3/ctrl/PropertiesDlgUnit.h   |  1 +
 4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp
index fdd835bd4c..7893c6fd8e 100644
--- a/src/sbbs3/ctrl/MainFormUnit.cpp
+++ b/src/sbbs3/ctrl/MainFormUnit.cpp
@@ -1945,6 +1945,7 @@ void __fastcall TMainForm::PropertiesExecute(TObject *Sender)
     PropertiesDlg->NodeIntUpDown->Position=NodeDisplayInterval;
     PropertiesDlg->ClientIntUpDown->Position=ClientDisplayInterval;
     PropertiesDlg->TrayIconCheckBox->Checked=MinimizeToSysTray;
+    PropertiesDlg->UndockableCheckBox->Checked=UndockableForms;
 	if(PropertiesDlg->ShowModal()==mrOk) {
         LoginCommand=PropertiesDlg->LoginCmdEdit->Text;
         ConfigCommand=PropertiesDlg->ConfigCmdEdit->Text;
@@ -1952,6 +1953,7 @@ void __fastcall TMainForm::PropertiesExecute(TObject *Sender)
         NodeDisplayInterval=PropertiesDlg->NodeIntUpDown->Position;
         ClientDisplayInterval=PropertiesDlg->ClientIntUpDown->Position;
         MinimizeToSysTray=PropertiesDlg->TrayIconCheckBox->Checked;
+        UndockableForms=PropertiesDlg->UndockableCheckBox->Checked;
         SaveSettings(Sender);
     }
     delete PropertiesDlg;
diff --git a/src/sbbs3/ctrl/MainFormUnit.dfm b/src/sbbs3/ctrl/MainFormUnit.dfm
index 9fec7d10dd..62df01fcba 100644
--- a/src/sbbs3/ctrl/MainFormUnit.dfm
+++ b/src/sbbs3/ctrl/MainFormUnit.dfm
@@ -1968,6 +1968,7 @@ object MainForm: TMainForm
       DockSite = True
       TabOrder = 0
       Visible = False
+      OnUnDock = PageControlUnDock
     end
     object UpperRightPageControl: TPageControl
       Left = 292
@@ -1978,6 +1979,7 @@ object MainForm: TMainForm
       DockSite = True
       TabOrder = 1
       Visible = False
+      OnUnDock = PageControlUnDock
     end
   end
   object BottomPanel: TPanel
@@ -2006,6 +2008,7 @@ object MainForm: TMainForm
       DockSite = True
       TabOrder = 0
       Visible = False
+      OnUnDock = PageControlUnDock
     end
     object LowerRightPageControl: TPageControl
       Left = 292
@@ -2016,6 +2019,7 @@ object MainForm: TMainForm
       DockSite = True
       TabOrder = 1
       Visible = False
+      OnUnDock = PageControlUnDock
     end
   end
   object StatusBar: TStatusBar
diff --git a/src/sbbs3/ctrl/PropertiesDlgUnit.dfm b/src/sbbs3/ctrl/PropertiesDlgUnit.dfm
index c1a266e0af..db98779ee5 100644
--- a/src/sbbs3/ctrl/PropertiesDlgUnit.dfm
+++ b/src/sbbs3/ctrl/PropertiesDlgUnit.dfm
@@ -1,9 +1,9 @@
 object PropertiesDlg: TPropertiesDlg
-  Left = 629
-  Top = 497
+  Left = 496
+  Top = 224
   BorderStyle = bsDialog
   Caption = 'Control Panel Properties'
-  ClientHeight = 229
+  ClientHeight = 261
   ClientWidth = 433
   Color = clBtnFace
   ParentFont = True
@@ -15,7 +15,7 @@ object PropertiesDlg: TPropertiesDlg
     Left = 10
     Top = 10
     Width = 306
-    Height = 205
+    Height = 237
     Anchors = [akLeft, akTop, akRight, akBottom]
     Shape = bsFrame
   end
@@ -107,7 +107,6 @@ object PropertiesDlg: TPropertiesDlg
     Top = 182
     Width = 281
     Height = 24
-    Anchors = [akLeft, akBottom]
     Caption = 'Minimize to System Tray'
     TabOrder = 4
   end
@@ -117,6 +116,7 @@ object PropertiesDlg: TPropertiesDlg
     Width = 25
     Height = 24
     TabOrder = 3
+    Text = '1'
   end
   object NodeIntUpDown: TUpDown
     Left = 281
@@ -136,6 +136,7 @@ object PropertiesDlg: TPropertiesDlg
     Width = 25
     Height = 24
     TabOrder = 8
+    Text = '1'
   end
   object ClientIntUpDown: TUpDown
     Left = 281
@@ -149,4 +150,12 @@ object PropertiesDlg: TPropertiesDlg
     TabOrder = 9
     Wrap = False
   end
+  object UndockableCheckBox: TCheckBox
+    Left = 24
+    Top = 214
+    Width = 281
+    Height = 24
+    Caption = 'Undockable Windows'
+    TabOrder = 10
+  end
 end
diff --git a/src/sbbs3/ctrl/PropertiesDlgUnit.h b/src/sbbs3/ctrl/PropertiesDlgUnit.h
index 1ee21e3264..09cbbe2d28 100644
--- a/src/sbbs3/ctrl/PropertiesDlgUnit.h
+++ b/src/sbbs3/ctrl/PropertiesDlgUnit.h
@@ -33,6 +33,7 @@ __published:
     TLabel *Label5;
     TEdit *ClientIntEdit;
     TUpDown *ClientIntUpDown;
+    TCheckBox *UndockableCheckBox;
 private:
 public:
 	virtual __fastcall TPropertiesDlg(TComponent* AOwner);
-- 
GitLab