From 4493e2689896ae511c24d6eee117a261a3ffb48e Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Tue, 14 Jun 2016 10:33:10 +0000 Subject: [PATCH] tvplanit: Cosmetic changes in WavDlg (use ModalResult) git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4745 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/tvplanit/source/vpevnteditdlg.pas | 7 +- components/tvplanit/source/vpwavdlg.lfm | 6 +- components/tvplanit/source/vpwavdlg.pas | 112 ++++++------------- 3 files changed, 42 insertions(+), 83 deletions(-) diff --git a/components/tvplanit/source/vpevnteditdlg.pas b/components/tvplanit/source/vpevnteditdlg.pas index a9baec3a4..77758aaba 100644 --- a/components/tvplanit/source/vpevnteditdlg.pas +++ b/components/tvplanit/source/vpevnteditdlg.pas @@ -670,21 +670,20 @@ procedure TDlgEventEdit.SoundFinderBtnClick(Sender: TObject); var SoundFinder: TfrmSoundDialog; begin - Application.CreateForm(TfrmSoundDialog, SoundFinder); + SoundFinder := TFrmSoundDialog.Create(nil); try SoundFinder.DingPath := AlarmWavPath; SoundFinder.MediaFolder := Datastore.MediaFolder; SoundFinder.OnPlaySound := DoPlaySound; SoundFinder.Populate; - SoundFinder.ShowModal; - if SoundFinder.ReturnCode = TvpEditorReturnCode(rtCommit) then begin + if SoundFinder.ShowModal = mrOK then begin if SoundFinder.CBDefault.Checked then AlarmWavPath := '' else AlarmWavPath := SoundFinder.GetSelectedFilename; end; finally - SoundFinder.Release; + SoundFinder.Free; end; end; {=====} diff --git a/components/tvplanit/source/vpwavdlg.lfm b/components/tvplanit/source/vpwavdlg.lfm index b35a45d30..57e76aaa8 100644 --- a/components/tvplanit/source/vpwavdlg.lfm +++ b/components/tvplanit/source/vpwavdlg.lfm @@ -10,7 +10,6 @@ object FrmSoundDialog: TFrmSoundDialog ClientWidth = 736 KeyPreview = True OnCreate = FormCreate - OnKeyDown = FormKeyDown Position = poScreenCenter LCLVersion = '1.7' object PageControl1: TPageControl @@ -102,7 +101,7 @@ object FrmSoundDialog: TFrmSoundDialog Anchors = [akTop, akRight] Caption = 'OkBtn' Default = True - OnClick = OkBtnClick + ModalResult = 1 TabOrder = 0 end object CancelBtn: TButton @@ -111,8 +110,9 @@ object FrmSoundDialog: TFrmSoundDialog Top = 8 Width = 75 Anchors = [akTop, akRight] + Cancel = True Caption = 'CancelBtn' - OnClick = CancelBtnClick + ModalResult = 2 TabOrder = 1 end end diff --git a/components/tvplanit/source/vpwavdlg.pas b/components/tvplanit/source/vpwavdlg.pas index 25dd579ff..415df892d 100644 --- a/components/tvplanit/source/vpwavdlg.pas +++ b/components/tvplanit/source/vpwavdlg.pas @@ -62,24 +62,17 @@ type CBDefault: TCheckBox; OkBtn: TButton; CancelBtn: TButton; - procedure FileListBox1Change(Sender: TObject); - procedure PlayButtonClick(Sender: TObject); procedure CBDefaultClick(Sender: TObject); procedure FormCreate(Sender: TObject); - procedure OkBtnClick(Sender: TObject); - procedure CancelBtnClick(Sender: TObject); - procedure FormKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); + procedure PlayButtonClick(Sender: TObject); private - FMediaFolder: String; FOnPlaySound: TVpPlaySoundEvent; function FindFileItem(AFilename: String): TListItem; public DingPath: string; - ReturnCode : TVpEditorReturnCode; + MediaFolder: String; function GetSelectedFileName: String; procedure Populate; - property MediaFolder: String read FMediaFolder write FMediaFolder; property OnPlaySound: TVpPlaySoundEvent read FOnPlaySound write FOnPlaySound; end; @@ -95,25 +88,13 @@ uses {$R *.dfm} {$ENDIF} -procedure TFrmSoundDialog.FileListBox1Change(Sender: TObject); +procedure TFrmSoundDialog.CBDefaultClick(Sender: TObject); begin - if ShellListview.Items.Count > 0 then begin - PlayButton.Enabled := true; - DingPath := GetSelectedFileName; - end else begin - PlayButton.Enabled := false; - DingPath := ''; - end; -end; -{=====} - -procedure TFrmSoundDialog.PlayButtonClick(Sender: TObject); -begin - if Assigned(FOnPlaySound) then begin - PlayButton.Enabled := false; - FOnPlaySound(self, GetSelectedFileName, psmSync); - PlayButton.Enabled := true; - end; + ShellTreeview.Visible := not CBDefault.Checked; + ShellListview.Visible := not CBDefault.Checked; + Panel3.Visible := CBDefault.Checked; + Panel4.Visible := CBDefault.Checked; + PlayButton.Visible := not CBDefault.Checked; end; {=====} @@ -130,6 +111,32 @@ begin Result := nil; end; +procedure TFrmSoundDialog.FormCreate(Sender: TObject); +begin + Panel3.Align := alClient; + Panel4.Align := alClient; +end; +{=====} + +function TFrmSoundDialog.GetSelectedFileName: String; +begin + if ShellListview.Selected <> nil then + Result := IncludeTrailingPathDelimiter(ShellTreeView.Path) + ShellListview.Selected.Caption + else + Result := ''; +end; + +procedure TFrmSoundDialog.PlayButtonClick(Sender: TObject); +begin + DingPath := GetSelectedFileName; + if Assigned(FOnPlaySound) then begin + PlayButton.Enabled := false; + FOnPlaySound(self, DingPath, psmSync); + PlayButton.Enabled := true; + end; +end; +{=====} + procedure TFrmSoundDialog.Populate; begin TabSheet1.Caption := RSSelectASound; @@ -141,64 +148,17 @@ begin Panel4.Caption := RSNothingToSelectFrom; if DingPath = '' then begin CBDefault.Checked := true; - ShellTreeView.Path := FMediaFolder; //ExtractFileDir(ParamStr(0)); + ShellTreeView.Path := MediaFolder; end else if FileExists(DingPath) then begin ShellTreeview.Path := ExtractFileDir(DingPath); ShellListview.Selected := FindFileItem(DingPath); end else begin - ShellTreeView.Path := FMediaFolder; //ExtractFileDir(ParamStr(0)); + ShellTreeView.Path := MediaFolder; end; CBDefaultClick(nil); end; - {=====} -procedure TFrmSoundDialog.CBDefaultClick(Sender: TObject); -begin - ShellTreeview.Visible := not CBDefault.Checked; - ShellListview.Visible := not CBDefault.Checked; - Panel3.Visible := CBDefault.Checked; - Panel4.Visible := CBDefault.Checked; - PlayButton.Visible := not CBDefault.Checked; -end; -{=====} - -procedure TFrmSoundDialog.FormCreate(Sender: TObject); -begin - Panel3.Align := alClient; - Panel4.Align := alClient; - ReturnCode := rtAbandon; -end; -{=====} - -procedure TFrmSoundDialog.OkBtnClick(Sender: TObject); -begin - ReturnCode := rtCommit; - Close; -end; -{=====} - -procedure TFrmSoundDialog.CancelBtnClick(Sender: TObject); -begin - Close; -end; -{=====} - -procedure TFrmSoundDialog.FormKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); -begin - if Key = VK_ESCAPE then - Close; -end; - -function TFrmSoundDialog.GetSelectedFileName: String; -begin - if ShellListview.ItemFocused <> nil then - Result := IncludeTrailingPathDelimiter(ShellTreeView.Path) + ShellListview.ItemFocused.Caption - else - Result := ''; -end; - end.