Mercurial > cdar
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.//#########################################################################################