aboutsummaryrefslogtreecommitdiff
path: root/Source/configureunit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'Source/configureunit.pas')
-rw-r--r--Source/configureunit.pas120
1 files changed, 120 insertions, 0 deletions
diff --git a/Source/configureunit.pas b/Source/configureunit.pas
new file mode 100644
index 0000000..88dff73
--- /dev/null
+++ b/Source/configureunit.pas
@@ -0,0 +1,120 @@
+unit configureunit;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
+ StdCtrls, ExtCtrls, ComCtrls;
+
+type
+ Tconfigure = class(TForm)
+ PageControl1: TPageControl;
+ TSConnections: TTabSheet;
+ Panel1: TPanel;
+ ButtonOk: TButton;
+ ButtonCancel: TButton;
+ Label1: TLabel;
+ EditPdHost: TEdit;
+ Label2: TLabel;
+ EditPdReceivePort: TEdit;
+ Label3: TLabel;
+ EditPdSendPort: TEdit;
+ Label4: TLabel;
+ Label5: TLabel;
+ EditFsPort: TEdit;
+ CBEnableFSConns: TCheckBox;
+ TSGeneral: TTabSheet;
+ CBDockMain: TCheckBox;
+ procedure ButtonCancelClick(Sender: TObject);
+ procedure ButtonOkClick(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ procedure Execute;
+ end;
+
+var
+ configure: Tconfigure;
+
+implementation
+
+uses
+ Registry,
+ mainunit;
+
+{$R *.DFM}
+
+procedure Tconfigure.ButtonOkClick(Sender: TObject);
+var
+ Reg: TRegistry;
+begin
+ Reg := TRegistry.Create;
+ Reg.RootKey := HKEY_CURRENT_USER;
+
+ main.PdHost := EditPdHost.Text;
+ main.PdReceivePort := StrToInt(EditPdReceivePort.Text);
+ main.PdSendPort := StrToInt(EditPdSendPort.Text);
+ main.FSPort := StrToInt(EditFsPort.Text);
+ main.EnableFSConns := CBEnableFSConns.Checked;
+ main.DockMain := CBDockMain.Checked;
+
+ try
+ if Reg.OpenKey('\Software\Framestein', True) then begin
+ Reg.WriteString('PdHost', main.PdHost);
+ Reg.WriteInteger('PDReceivePort', main.PDReceivePort);
+ Reg.WriteInteger('PDSendPort', main.PDSendPort);
+ Reg.WriteInteger('FSPort', main.FSPort);
+ Reg.WriteBool('EnableFSConns', main.EnableFSConns);
+ Reg.WriteBool('DockMain', main.DockMain);
+ end;
+ except
+ end;
+
+ Reg.CloseKey;
+ Reg.Free;
+
+ main.ss1.Active := False;
+ main.ss1.Port := main.PDReceivePort;
+ main.ss1.Active := True;
+
+ main.csToPd.Active := False;
+ main.csToPd.Host := main.PdHost;
+ main.csToPd.Port := main.PdSendPort;
+ main.csToPd.Active := True;
+
+ main.ssfs.Active := False;
+ main.ssfs.Port := main.FSPort;
+ main.ssfs.Active := main.EnableFSConns;
+
+ ModalResult := mrOk;
+end;
+
+procedure Tconfigure.ButtonCancelClick(Sender: TObject);
+begin
+ ModalResult := mrCancel;
+end;
+
+procedure Tconfigure.Execute;
+begin
+ // load values from main
+ EditPdHost.Text := main.PdHost;
+ if EditPdHost.Text='' then EditPdHost.Text:='localhost';
+ EditPdReceivePort.Text := IntToStr(main.PdReceivePort);
+ EditPdSendPort.Text := IntToStr(main.PdSendPort);
+ EditFsPort.Text := IntToStr(main.FSPort);
+ CBEnableFSConns.Checked := main.EnableFSConns;
+ CBDockMain.Checked := main.DockMain;
+ // show
+ ShowModal;
+end;
+
+procedure Tconfigure.FormCreate(Sender: TObject);
+begin
+ if main.RunConfig then
+ Execute;
+end;
+
+end.
+