diff unit_Editor_as.pas @ 0:ef71164288c1

begin of using hg for cdar
author "Meillo r e t u r n s <meillo@marmaro.de>"
date Sun, 03 Dec 2006 21:54:43 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/unit_Editor_as.pas	Sun Dec 03 21:54:43 2006 +0100
@@ -0,0 +1,245 @@
+unit unit_Editor_as;
+
+interface//####################################################################################
+
+uses
+  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+  Dialogs, ExtCtrls, StdCtrls, ExtDlgs;
+
+type
+  Tform_Editor_as = class(TForm)
+    gbx_AutorunIcon: TGroupBox;
+    btn_BrowseIcon: TButton;
+    tbx_IconPath: TEdit;
+    img_Icon: TImage;
+    gbx_ZielDir: TGroupBox;
+    tbx_CDRootPath: TEdit;
+    btn_BrowseCDRoot: TButton;
+    lbl_1: TLabel;
+    lbl_2: TLabel;
+    lbl_3: TLabel;
+    btn_cancel: TButton;
+    btn_apply: TButton;
+    btn_restore: TButton;
+    img_IconCDAR: TImage;
+    GroupBox1: TGroupBox;
+    lbl_4: TLabel;
+    lbl_5: TLabel;
+    tbx_StartsFD: TEdit;
+    tbx_Warnings: TMemo;
+    OpenDialog1: TOpenPictureDialog;
+    procedure FormCreate(Sender: TObject);
+    procedure FormClose(Sender: TObject; var Action: TCloseAction);
+    procedure FormShow(Sender: TObject);
+    procedure btn_BrowseIconClick(Sender: TObject);
+    procedure btn_BrowseCDRootClick(Sender: TObject);
+    procedure btn_restoreClick(Sender: TObject);
+    procedure btn_applyClick(Sender: TObject);
+    procedure btn_cancelClick(Sender: TObject);
+    procedure tbx_StartsFDChange(Sender: TObject);
+    procedure tbx_CDRootPathChange(Sender: TObject);
+  private
+    
+  public
+    { Public declarations }
+  end;
+
+var
+  form_Editor_as: Tform_Editor_as;
+
+implementation//###############################################################################
+uses unit_Editor, unit_Editor_as_BrowseDir;
+{$R *.dfm}//###################################################################################
+
+// forwardings
+  procedure Warnings();forward;
+
+//------------------------------------------------------------------------------ form create
+procedure Tform_Editor_as.FormCreate(Sender: TObject);
+begin
+  // set language
+    if form_editor.englisch = true then
+      begin // English
+        form_editor_as.Caption := 'Autorun Settings';
+        btn_BrowseIcon.Caption := 'Browse';
+        btn_BrowseCDRoot.Caption := 'Browse';
+        lbl_1.Caption := 'Autorun-Icon of the CD';
+        lbl_2.Caption := 'Directory where the Files will be copied to';
+        lbl_3.Caption := '(This Directory represents the Root-Dir of the CD)';
+        btn_cancel.Caption := 'Cancel Changes';
+        btn_apply.Caption := 'Apply Changes';
+        btn_restore.Caption := 'CDAR-Icon';
+        lbl_4.Caption := 'Choose the File which will be started by CDAR';
+        lbl_5.Caption := '(Insert a Path relative to the CD-Root-Dir!)';
+      end
+    else
+      begin // German
+        form_editor_as.Caption := 'Autorun Optionen';
+        btn_BrowseIcon.Caption := 'Durchsuchen';
+        btn_BrowseCDRoot.Caption := 'Durchsuchen';
+        lbl_1.Caption := 'Autorun-Icon der CD';
+        lbl_2.Caption := 'Ordner in den die Dateien kopiert werden';
+        lbl_3.Caption := '(Entspricht dem CD-Grund-Verzeichnis)';
+        btn_cancel.Caption := 'Abbrechen';
+        btn_apply.Caption := 'Übernehmen';
+        btn_restore.Caption := 'CDAR-Icon';
+        lbl_4.Caption := 'Datei, die von CDAR gestartet werden soll';
+        lbl_5.Caption := '(Pfad relativ zum CD-Grund-Verzeichnis)';
+      end;
+
+  // set standard path in OpenDialog
+  opendialog1.InitialDir := extractfilepath(paramstr(0));
+end;//--------------------------------------------------------------------------
+//------------------------------------------------------------------------------ form show
+procedure Tform_Editor_as.FormShow(Sender: TObject);
+begin
+  // disable drag'n'drop
+  form_editor.draggingstatus := 3;
+  // disable menu
+  form_editor.mnu_Tutorial.enabled := false;
+  form_editor.mnu_WelcomeScreen.Enabled := false;
+  form_editor.mnu_Autorun.Enabled := false;
+  form_editor.mnu_CreateAR.enabled := false;
+  form_editor.mnu_Sprache.enabled := false;
+
+  // init
+  tbx_IconPath.text := form_Editor.PfadIcon_alt;
+  if form_Editor.PfadIcon_alt = '' then
+    begin
+      img_IconCDAR.show;
+      img_icon.Hide;
+    end
+  else
+    begin
+      img_IconCDAR.hide;
+      img_Icon.Show;
+      img_icon.Picture.LoadFromFile(form_Editor.PfadIcon_alt);
+    end;
+  tbx_CDRootPath.text := form_Editor.CDRoot_alt;
+   tbx_StartsFD.Text := form_Editor.StartsFD_alt;
+end;//--------------------------------------------------------------------------
+//------------------------------------------------------------------------------ form close
+procedure Tform_Editor_as.FormClose(Sender: TObject;
+  var Action: TCloseAction);
+begin
+  // enable drag'n'drop
+  form_editor.draggingstatus := 0;
+  // enable menu
+  form_editor.mnu_Tutorial.enabled := true;
+  form_editor.mnu_WelcomeScreen.Enabled := true;
+  form_editor.mnu_Autorun.Enabled := true;
+  form_editor.mnu_CreateAR.enabled := true;
+  form_editor.mnu_Sprache.enabled := true;
+end;//--------------------------------------------------------------------------
+
+//#############################################################################################
+
+//------------------------------------------------------------------------------ browse icon
+procedure Tform_Editor_as.btn_BrowseIconClick(Sender: TObject);
+begin
+  if opendialog1.Execute then
+    begin
+      tbx_IconPath.Text := opendialog1.FileName;
+      // load picture
+      img_Icon.Picture.LoadFromFile(tbx_IconPath.text);
+      // show picture
+      img_IconCDAR.hide;
+      img_Icon.Show;
+    end;
+end;//--------------------------------------------------------------------------
+//------------------------------------------------------------------------------ restore icon
+procedure Tform_Editor_as.btn_restoreClick(Sender: TObject);
+begin
+  img_IconCDAR.show;
+  img_icon.Hide;
+  tbx_IconPath.Text := '';
+end;//--------------------------------------------------------------------------
+
+//------------------------------------------------------------------------------ browse CD-root
+procedure Tform_Editor_as.btn_BrowseCDRootClick(Sender: TObject);
+begin
+  application.CreateForm(tform_editor_as_browsedir, form_editor_as_browsedir);
+  form_editor_as_browsedir.show;
+end;//--------------------------------------------------------------------------
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//------------------------------------------------------------------------------ change CD-root
+procedure Tform_Editor_as.tbx_CDRootPathChange(Sender: TObject);
+begin
+  // format check
+  Warnings;
+end;//--------------------------------------------------------------------------
+//------------------------------------------------------------------------------ change startsFD
+procedure Tform_Editor_as.tbx_StartsFDChange(Sender: TObject);
+begin
+  // format check
+  Warnings;
+end;//--------------------------------------------------------------------------
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//------------------------------------------------------------------------------ apply
+procedure Tform_Editor_as.btn_applyClick(Sender: TObject);
+begin
+  form_Editor.PfadIcon_alt := tbx_IconPath.text;
+
+  if copy(tbx_CDRootPath.text, length(tbx_CDRootpath.text), 1) <> '\' then
+    begin
+      form_Editor.CDRoot_alt := tbx_CDRootPath.Text + '\';
+    end
+  else
+    begin
+      form_Editor.CDRoot_alt := tbx_CDRootPath.Text;
+    end;
+
+  form_Editor.StartsFD_alt := tbx_startsFD.text;
+
+  // close
+  form_editor_as.Close;
+end;//--------------------------------------------------------------------------
+//------------------------------------------------------------------------------ cancel
+procedure Tform_Editor_as.btn_cancelClick(Sender: TObject);
+begin
+  // close
+  form_editor_as.Close;
+end;//--------------------------------------------------------------------------
+
+//#############################################################################################
+
+//------------------------------------------------------------------------------ warnings
+procedure Warnings();
+begin
+  with form_Editor_as do
+    begin
+    tbx_Warnings.lines.clear;
+
+    if copy(tbx_CDRootPath.text, 2, 2) <> ':\' then
+      begin
+        btn_apply.Enabled := false;
+        tbx_Warnings.Show;
+        tbx_Warnings.Lines.Add('2nd Path must be ABSOLUTE');
+        if pos(':', tbx_StartsFD.text) <> 0 then
+          begin
+            tbx_Warnings.Lines.Add('3rd Path must be RELATIVE');
+          end;
+      end
+    else
+      begin
+        if pos(':', tbx_StartsFD.text) <> 0 then
+          begin
+            btn_apply.Enabled := false;
+            tbx_Warnings.Show;
+            tbx_Warnings.Lines.Add('3rd Path must be RELATIVE');
+          end
+        else
+          begin
+            btn_apply.Enabled := true;
+            tbx_Warnings.hide;
+          end;
+      end;
+   tbx_Warnings.Text := copy(tbx_Warnings.text, 1, length(tbx_Warnings.text)-2);
+   end;
+end;//--------------------------------------------------------------------------
+
+end.//#########################################################################################