mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-01 22:00:20 +02:00
* Conversion to LFM of Path Editor Dialog and improved localization by Maxim Ganetsky
git-svn-id: trunk@13975 -
This commit is contained in:
parent
75dbc4459a
commit
1932501559
@ -3571,6 +3571,7 @@ resourcestring
|
|||||||
lisDebugOptionsFrmHandledByDebugger = 'Handled by Debugger';
|
lisDebugOptionsFrmHandledByDebugger = 'Handled by Debugger';
|
||||||
lisDebugOptionsFrmResumeHandled = 'Resume Handled';
|
lisDebugOptionsFrmResumeHandled = 'Resume Handled';
|
||||||
lisDebugOptionsFrmResumeUnhandled = 'Resume Unhandled';
|
lisDebugOptionsFrmResumeUnhandled = 'Resume Unhandled';
|
||||||
|
dlgDebugOptionsPathEditorDlgCaption = 'Path Editor';
|
||||||
lisHFMHelpForFreePascalCompilerMessage = 'Help for FreePascal Compiler '
|
lisHFMHelpForFreePascalCompilerMessage = 'Help for FreePascal Compiler '
|
||||||
+'message';
|
+'message';
|
||||||
lisRelativePaths = 'Relative paths';
|
lisRelativePaths = 'Relative paths';
|
||||||
|
@ -32,27 +32,29 @@ uses
|
|||||||
LResources, FileUtil, LazarusIDEStrConsts;
|
LResources, FileUtil, LazarusIDEStrConsts;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
{ TPathEditorDialog }
|
||||||
|
|
||||||
TPathEditorDialog = class(TForm)
|
TPathEditorDialog = class(TForm)
|
||||||
PathGroupBox: TGroupBox;
|
AddTemplateButton: TButton;
|
||||||
PathEdit: TSynEdit;
|
OKBitBtn: TBitBtn;
|
||||||
|
CancelBitBtn: TBitBtn;
|
||||||
|
TemplatesListBox: TListBox;
|
||||||
|
TemplateGroupBox: TGroupBox;
|
||||||
MoveUpButton: TButton;
|
MoveUpButton: TButton;
|
||||||
MoveDownButton: TButton;
|
MoveDownButton: TButton;
|
||||||
BrowseButton: TButton;
|
BrowseButton: TButton;
|
||||||
DeleteButton: TButton;
|
DeleteButton: TButton;
|
||||||
TemplateGroupBox: TGroupBox;
|
PathGroupBox: TGroupBox;
|
||||||
TemplatesListBox: TListBox;
|
PathEdit: TSynEdit;
|
||||||
AddTemplateButton: TButton;
|
|
||||||
OkButton: TButton;
|
|
||||||
CancelButton: TButton;
|
|
||||||
BrowseDialog: TSelectDirectoryDialog;
|
BrowseDialog: TSelectDirectoryDialog;
|
||||||
procedure AddTemplateButtonClick(Sender: TObject);
|
procedure AddTemplateButtonClick(Sender: TObject);
|
||||||
procedure BrowseButtonClick(Sender: TObject);
|
procedure BrowseButtonClick(Sender: TObject);
|
||||||
procedure CancelButtonClick(Sender: TObject);
|
|
||||||
procedure DeleteButtonClick(Sender: TObject);
|
procedure DeleteButtonClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormResize(Sender: TObject);
|
||||||
procedure MoveDownButtonClick(Sender: TObject);
|
procedure MoveDownButtonClick(Sender: TObject);
|
||||||
procedure MoveUpButtonClick(Sender: TObject);
|
procedure MoveUpButtonClick(Sender: TObject);
|
||||||
procedure OkButtonClick(Sender: TObject);
|
|
||||||
procedure PathEditorDialogResize(Sender: TObject);
|
|
||||||
private
|
private
|
||||||
function GetPath: string;
|
function GetPath: string;
|
||||||
function GetTemplates: string;
|
function GetTemplates: string;
|
||||||
@ -60,11 +62,7 @@ type
|
|||||||
procedure SelectCurrentPath;
|
procedure SelectCurrentPath;
|
||||||
procedure SetPath(const AValue: string);
|
procedure SetPath(const AValue: string);
|
||||||
procedure SetTemplates(const AValue: string);
|
procedure SetTemplates(const AValue: string);
|
||||||
procedure SetupComponents;
|
|
||||||
function TextToPath(const AText: string): string;
|
function TextToPath(const AText: string): string;
|
||||||
public
|
|
||||||
constructor Create(TheOwner: TComponent); override;
|
|
||||||
destructor Destroy; override;
|
|
||||||
public
|
public
|
||||||
property Path: string read GetPath write SetPath;
|
property Path: string read GetPath write SetPath;
|
||||||
property Templates: string read GetTemplates write SetTemplates;
|
property Templates: string read GetTemplates write SetTemplates;
|
||||||
@ -119,10 +117,6 @@ end;
|
|||||||
procedure TPathEditorDialog.BrowseButtonClick(Sender: TObject);
|
procedure TPathEditorDialog.BrowseButtonClick(Sender: TObject);
|
||||||
var y: integer;
|
var y: integer;
|
||||||
begin
|
begin
|
||||||
if BrowseDialog=nil then begin
|
|
||||||
BrowseDialog:=TSelectDirectoryDialog.Create(Self);
|
|
||||||
BrowseDialog.Options := BrowseDialog.Options + [ofFileMustExist];
|
|
||||||
end;
|
|
||||||
with BrowseDialog do begin
|
with BrowseDialog do begin
|
||||||
Title:=lisPathEditSelectDirectory;
|
Title:=lisPathEditSelectDirectory;
|
||||||
if (not Execute) then exit;
|
if (not Execute) then exit;
|
||||||
@ -134,11 +128,6 @@ begin
|
|||||||
SelectCurrentPath;
|
SelectCurrentPath;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPathEditorDialog.CancelButtonClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
ModalResult:=mrCancel;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TPathEditorDialog.DeleteButtonClick(Sender: TObject);
|
procedure TPathEditorDialog.DeleteButtonClick(Sender: TObject);
|
||||||
var y: integer;
|
var y: integer;
|
||||||
begin
|
begin
|
||||||
@ -149,6 +138,34 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPathEditorDialog.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Caption:=dlgDebugOptionsPathEditorDlgCaption;
|
||||||
|
|
||||||
|
PathGroupBox.Caption:=lisPathEditSearchPaths;
|
||||||
|
MoveUpButton.Caption:=lisPathEditMovePathUp;
|
||||||
|
MoveDownButton.Caption:=lisPathEditMovePathDown;
|
||||||
|
BrowseButton.Caption:=lisPathEditBrowse;
|
||||||
|
DeleteButton.Caption:=dlgEdDelete;
|
||||||
|
|
||||||
|
TemplateGroupBox.Caption:=lisPathEditPathTemplates;
|
||||||
|
AddTemplateButton.Caption:=lisCodeTemplAdd;
|
||||||
|
|
||||||
|
OKBitBtn.Caption:=lisOkBtn;
|
||||||
|
CancelBitBtn.Caption:=dlgCancel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPathEditorDialog.FormResize(Sender: TObject);
|
||||||
|
var PathGroupBoxHeight: integer;
|
||||||
|
begin
|
||||||
|
PathGroupBoxHeight:=((ClientHeight-70)*2) div 3;
|
||||||
|
if PathGroupBoxHeight<10 then PathGroupBoxHeight:=10;
|
||||||
|
|
||||||
|
PathGroupBox.Height:=PathGroupBoxHeight;
|
||||||
|
|
||||||
|
SelectCurrentPath;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPathEditorDialog.MoveDownButtonClick(Sender: TObject);
|
procedure TPathEditorDialog.MoveDownButtonClick(Sender: TObject);
|
||||||
var y: integer;
|
var y: integer;
|
||||||
begin
|
begin
|
||||||
@ -171,55 +188,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPathEditorDialog.OkButtonClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
ModalResult:=mrOk;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TPathEditorDialog.PathEditorDialogResize(Sender: TObject);
|
|
||||||
var MaxX, MaxY, PathGroupBoxHeight: integer;
|
|
||||||
begin
|
|
||||||
MaxX:=ClientWidth;
|
|
||||||
MaxY:=ClientHeight;
|
|
||||||
PathGroupBoxHeight:=((MaxY-70)*2) div 3;
|
|
||||||
if PathGroupBoxHeight<10 then PathGroupBoxHeight:=10;
|
|
||||||
|
|
||||||
// path groupbox
|
|
||||||
PathGroupBox.SetBounds(6,6,MaxX-2*6,PathGroupBoxHeight);
|
|
||||||
PathEdit.SetBounds(2,2,
|
|
||||||
Max(1,PathGroupBox.Width-10),Max(1,PathGroupBox.Height-57));
|
|
||||||
MoveUpButton.SetBounds(8,PathEdit.Top+PathEdit.Height+8,
|
|
||||||
120,MoveUpButton.Height);
|
|
||||||
MoveDownButton.SetBounds(MoveUpButton.Left+MoveUpButton.Width+8,
|
|
||||||
MoveUpButton.Top,
|
|
||||||
MoveUpButton.Width,MoveUpButton.Height);
|
|
||||||
BrowseButton.SetBounds(MoveDownButton.Left+MoveDownButton.Width+8,
|
|
||||||
MoveDownButton.Top,
|
|
||||||
90,MoveDownButton.Height);
|
|
||||||
DeleteButton.SetBounds(BrowseButton.Left+BrowseButton.Width+8,
|
|
||||||
BrowseButton.Top,
|
|
||||||
BrowseButton.Width,BrowseButton.Height);
|
|
||||||
|
|
||||||
// template groupbox
|
|
||||||
with TemplateGroupBox do begin
|
|
||||||
Left:=PathGroupBox.Left;
|
|
||||||
Top:=PathGroupBox.Top+PathGroupBox.Height+8;
|
|
||||||
Width:=PathGroupBox.Width;
|
|
||||||
Height:=Max(1,MaxY-50-Top);
|
|
||||||
end;
|
|
||||||
TemplatesListBox.SetBounds(2,2,Max(1,TemplateGroupBox.Width-10),
|
|
||||||
Max(1,TemplateGroupBox.Height-57));
|
|
||||||
AddTemplateButton.SetBounds(8,TemplatesListBox.Top+TemplatesListBox.Height+8,
|
|
||||||
100,AddTemplateButton.Height);
|
|
||||||
|
|
||||||
// buttons at bottom
|
|
||||||
OkButton.SetBounds(20,Max(1,MaxY-35),100,OkButton.Height);
|
|
||||||
CancelButton.SetBounds(OkButton.Left+OkButton.Width+10,OkButton.Top,
|
|
||||||
OkButton.Width,OkButton.Height);
|
|
||||||
|
|
||||||
SelectCurrentPath;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TPathEditorDialog.GetPath: string;
|
function TPathEditorDialog.GetPath: string;
|
||||||
begin
|
begin
|
||||||
Result:=TextToPath(PathEdit.Text);
|
Result:=TextToPath(PathEdit.Text);
|
||||||
@ -261,107 +229,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPathEditorDialog.SetupComponents;
|
|
||||||
begin
|
|
||||||
PathGroupBox:=TGroupBox.Create(Self);
|
|
||||||
with PathGroupBox do begin
|
|
||||||
Name:='PathGroupBox';
|
|
||||||
Parent:=Self;
|
|
||||||
Caption:=lisPathEditSearchPaths;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
PathEdit:=TSynEdit.Create(Self);
|
|
||||||
with PathEdit do begin
|
|
||||||
Name:='PathEdit';
|
|
||||||
Parent:=PathGroupBox;
|
|
||||||
Options:=[eoBracketHighlight, eoHideRightMargin, eoDragDropEditing,
|
|
||||||
eoHalfPageScroll, eoScrollByOneLess, eoScrollPastEol,
|
|
||||||
eoSmartTabs, eoTabsToSpaces, eoTrimTrailingSpaces];
|
|
||||||
Gutter.Visible:=false;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
MoveUpButton:=TButton.Create(Self);
|
|
||||||
with MoveUpButton do begin
|
|
||||||
Name:='MoveUpButton';
|
|
||||||
Parent:=PathGroupBox;
|
|
||||||
Caption:=lisPathEditMovePathUp;
|
|
||||||
OnClick:=@MoveUpButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
MoveDownButton:=TButton.Create(Self);
|
|
||||||
with MoveDownButton do begin
|
|
||||||
Name:='MoveDownButton';
|
|
||||||
Parent:=PathGroupBox;
|
|
||||||
Caption:=lisPathEditMovePathDown;
|
|
||||||
OnClick:=@MoveDownButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
BrowseButton:=TButton.Create(Self);
|
|
||||||
with BrowseButton do begin
|
|
||||||
Name:='BrowseButton';
|
|
||||||
Parent:=PathGroupBox;
|
|
||||||
Caption:=lisPathEditBrowse;
|
|
||||||
OnClick:=@BrowseButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
DeleteButton:=TButton.Create(Self);
|
|
||||||
with DeleteButton do begin
|
|
||||||
Name:='DeleteButton';
|
|
||||||
Parent:=PathGroupBox;
|
|
||||||
Caption:=dlgEdDelete;
|
|
||||||
OnClick:=@DeleteButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TemplateGroupBox:=TGroupBox.Create(Self);
|
|
||||||
with TemplateGroupBox do begin
|
|
||||||
Name:='TemplateGroupBox';
|
|
||||||
Parent:=Self;
|
|
||||||
Caption:=lisPathEditPathTemplates;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TemplatesListBox:=TListBox.Create(Self);
|
|
||||||
with TemplatesListBox do begin
|
|
||||||
Name:='TemplatesListBox';
|
|
||||||
Parent:=TemplateGroupBox;
|
|
||||||
MultiSelect:=true;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
AddTemplateButton:=TButton.Create(Self);
|
|
||||||
with AddTemplateButton do begin
|
|
||||||
Name:='AddTemplateButton';
|
|
||||||
Parent:=TemplateGroupBox;
|
|
||||||
Caption:=lisCodeTemplAdd;
|
|
||||||
OnClick:=@AddTemplateButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
OkButton:=TButton.Create(Self);
|
|
||||||
with OkButton do begin
|
|
||||||
Name:='OkButton';
|
|
||||||
Parent:=Self;
|
|
||||||
Caption:=lisLazBuildOk;
|
|
||||||
OnClick:=@OkButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
CancelButton:=TButton.Create(Self);
|
|
||||||
with CancelButton do begin
|
|
||||||
Name:='CancelButton';
|
|
||||||
Parent:=Self;
|
|
||||||
Caption:=dlgCancel;
|
|
||||||
OnClick:=@CancelButtonClick;
|
|
||||||
Visible:=true;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TPathEditorDialog.TextToPath(const AText: string): string;
|
function TPathEditorDialog.TextToPath(const AText: string): string;
|
||||||
var i, j: integer;
|
var i, j: integer;
|
||||||
PathAsText: string;
|
PathAsText: string;
|
||||||
@ -426,25 +293,6 @@ begin
|
|||||||
PathEdit.BlockEnd:=Point(length(PathEdit.Lines[y-1])+1,y);
|
PathEdit.BlockEnd:=Point(length(PathEdit.Lines[y-1])+1,y);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TPathEditorDialog.Create(TheOwner: TComponent);
|
|
||||||
begin
|
|
||||||
inherited Create(TheOwner);
|
|
||||||
if LazarusResources.Find(ClassName)=nil then begin
|
|
||||||
Width:=500;
|
|
||||||
Height:=400;
|
|
||||||
Position:=poScreenCenter;
|
|
||||||
OnResize:=@PathEditorDialogResize;
|
|
||||||
|
|
||||||
SetupComponents;
|
|
||||||
end;
|
|
||||||
PathEditorDialogResize(nil);
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TPathEditorDialog.Destroy;
|
|
||||||
begin
|
|
||||||
inherited Destroy;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TPathEditorButton }
|
{ TPathEditorButton }
|
||||||
|
|
||||||
procedure TPathEditorButton.Click;
|
procedure TPathEditorButton.Click;
|
||||||
@ -464,5 +312,8 @@ begin
|
|||||||
if Assigned(OnExecuted) then OnExecuted(Self);
|
if Assigned(OnExecuted) then OnExecuted(Self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
{$I patheditordlg.lrs}
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user