177 lines
4.3 KiB
ObjectPascal

(* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is TurboPower Abbrevia
*
* The Initial Developer of the Original Code is
* TurboPower Software
*
* Portions created by the Initial Developer are Copyright (C) 1997-2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* ***** END LICENSE BLOCK ***** *)
{*********************************************************}
{* ABBREVIA: AbPeFn.pas *}
{*********************************************************}
{* ABBREVIA: Property Editor - FileName *}
{* Use AbQPeFn.pas for CLX *}
{*********************************************************}
{$IFNDEF UsingCLX}
unit AbPeFn;
{$ENDIF}
{$I AbDefine.inc}
interface
uses
{$IFDEF UsingClx }
QDialogs, QForms,
{$ELSE}
Dialogs, Forms,
{$ENDIF}
DesignIntf,
DesignEditors,
SysUtils;
type
TAbFileNameProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes;
override;
procedure Edit;
override;
end;
TAbExeNameProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes;
override;
procedure Edit;
override;
end;
TAbCabNameProperty = class( TStringProperty )
public
function GetAttributes: TPropertyAttributes;
override;
procedure Edit;
override;
end;
TAbLogNameProperty = class( TStringProperty )
public
function GetAttributes: TPropertyAttributes;
override;
procedure Edit;
override;
end;
implementation
uses
AbResString,
AbArcTyp;
{ -------------------------------------------------------------------------- }
procedure AbGetFilename(const Ext : string;
const Filter : string;
const Title : string;
var aFilename : string);
var
D : TOpenDialog;
begin
D := TOpenDialog.Create( Application );
try
D.DefaultExt := Ext;
D.Filter := Filter;
D.FilterIndex := 0;
D.Options := [];
D.Title := Title;
D.FileName := aFilename;
if D.Execute then
aFilename := D.FileName;
finally
D.Free;
end;
end;
{ == for zip files ========================================================= }
function TAbFileNameProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
{ -------------------------------------------------------------------------- }
procedure TAbFileNameProperty.Edit;
var
FN : string;
begin
FN := Value;
AbGetFilename(AbDefaultExtS, AbFilterS, AbFileNameTitleS, FN);
Value := FN;
end;
{ == for exe files ========================================================= }
function TAbExeNameProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
{ -------------------------------------------------------------------------- }
procedure TAbExeNameProperty.Edit;
var
FN : string;
begin
FN := Value;
AbGetFilename(AbExeExtS, AbExeFilterS, AbFileNameTitleS, FN);
Value := FN;
end;
{ == for cab files ========================================================= }
function TAbCabNameProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
{ -------------------------------------------------------------------------- }
procedure TAbCabNameProperty.Edit;
var
FN : string;
begin
FN := Value;
AbGetFilename(AbCabExtS, AbCabFilterS, AbFileNameTitleS, FN);
Value := FN;
end;
{ == for log files ========================================================= }
function TAbLogNameProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
{ -------------------------------------------------------------------------- }
procedure TAbLogNameProperty.Edit;
var
FN : string;
begin
FN := Value;
AbGetFilename(AbLogExtS, AbLogFilterS, AbFileNameTitleS, FN);
Value := FN;
end;
{ -------------------------------------------------------------------------- }
end.