LCL: added TFileEdit.HideDirectories and published Alignment from Alexander S. Klenin (issue #13498)

git-svn-id: trunk@19551 -
This commit is contained in:
vincents 2009-04-21 12:32:56 +00:00
parent 0f06c0fbd1
commit ecb7c06a96

View File

@ -162,9 +162,9 @@ type
FDialogTitle: String; FDialogTitle: String;
FFilter: String; FFilter: String;
FFilterIndex: Integer; FFilterIndex: Integer;
FHideDirectories: Boolean;
FInitialDir: String; FInitialDir: String;
FOnAcceptFN: TAcceptFileNameEvent; FOnAcceptFN: TAcceptFileNameEvent;
function GetFileName: String;
procedure SetFileName(const AValue: String); procedure SetFileName(const AValue: String);
protected protected
function GetDefaultGlyph: TBitmap; override; function GetDefaultGlyph: TBitmap; override;
@ -172,6 +172,7 @@ type
function CreateDialog(AKind : TDialogKind) : TCommonDialog; virtual; function CreateDialog(AKind : TDialogKind) : TCommonDialog; virtual;
procedure SaveDialogResult(AKind : TDialogKind; D : TCommonDialog); virtual; procedure SaveDialogResult(AKind : TDialogKind; D : TCommonDialog); virtual;
procedure DoButtonClick (Sender: TObject); override; procedure DoButtonClick (Sender: TObject); override;
procedure RealSetText(const Value: TCaption); override;
procedure RunDialog; virtual; procedure RunDialog; virtual;
public public
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
@ -179,7 +180,7 @@ type
property DialogFiles : TStrings read FDialogFiles; property DialogFiles : TStrings read FDialogFiles;
published published
// TFileName properties. // TFileName properties.
property FileName : String read GetFileName write SetFileName; property FileName : String read FFileName write SetFileName;
property InitialDir : String read FInitialDir write FInitialDir; property InitialDir : String read FInitialDir write FInitialDir;
property OnAcceptFileName : TAcceptFileNameEvent read FOnAcceptFN write FonAcceptFN; property OnAcceptFileName : TAcceptFileNameEvent read FOnAcceptFN write FonAcceptFN;
property DialogKind : TDialogKind read FDialogKind write FDialogKind default dkOpen; property DialogKind : TDialogKind read FDialogKind write FDialogKind default dkOpen;
@ -187,6 +188,7 @@ type
property DialogOptions : TOpenOptions read FDialogOptions write FDialogOptions; property DialogOptions : TOpenOptions read FDialogOptions write FDialogOptions;
property Filter : String read FFilter write FFilter; property Filter : String read FFilter write FFilter;
property FilterIndex : Integer read FFilterIndex write FFIlterIndex; property FilterIndex : Integer read FFilterIndex write FFIlterIndex;
property HideDirectories: Boolean read FHideDirectories write FHideDirectories;
// TEditButton properties. // TEditButton properties.
property ButtonWidth; property ButtonWidth;
property DirectInput; property DirectInput;
@ -196,6 +198,7 @@ type
property Flat; property Flat;
// Other properties // Other properties
property Align; property Align;
property Alignment;
property Anchors; property Anchors;
property AutoSelect; property AutoSelect;
property BorderSpacing; property BorderSpacing;
@ -712,13 +715,19 @@ end;
procedure TFileNameEdit.SetFileName(const AValue: String); procedure TFileNameEdit.SetFileName(const AValue: String);
begin begin
FFileNAme:=AValue; FFileName := AValue;
Text:=AValue; if FHideDirectories then
inherited RealSetText(ExtractFileName(AValue))
else
inherited RealSetText(AValue)
end; end;
function TFileNameEdit.GetFileName: String; procedure TFileNameEdit.RealSetText(const Value: TCaption);
begin begin
Result:=Text; if FHideDirectories and (ExtractFilePath(Value) = '') then
FileName := ExtractFilePath(FFileName) + Value
else
FileName := Value;
end; end;
function TFileNameEdit.CreateDialog(AKind: TDialogKind): TCommonDialog; function TFileNameEdit.CreateDialog(AKind: TDialogKind): TCommonDialog;