You've already forked lazarus-ccr
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
This commit is contained in:
@ -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;
|
||||
{=====}
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
Reference in New Issue
Block a user