mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-08 21:32:42 +02:00
96 lines
2.7 KiB
ObjectPascal
96 lines
2.7 KiB
ObjectPascal
unit project_lazdoc_options;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
|
StdCtrls, Buttons, Project, IDEOptionsIntf, LazarusIDEStrConsts, IDEProcs;
|
|
|
|
type
|
|
|
|
{ TProjectLazDocOptionsFrame }
|
|
|
|
TProjectLazDocOptionsFrame = class(TAbstractIDEOptionsEditor)
|
|
LazDocAddPathButton: TBitBtn;
|
|
LazDocBrowseButton: TButton;
|
|
LazDocDeletePathButton: TBitBtn;
|
|
LazDocListBox: TListBox;
|
|
LazDocPathEdit: TEdit;
|
|
SelectDirectoryDialog: TSelectDirectoryDialog;
|
|
procedure LazDocAddPathButtonClick(Sender: TObject);
|
|
procedure LazDocBrowseButtonClick(Sender: TObject);
|
|
procedure LazDocDeletePathButtonClick(Sender: TObject);
|
|
private
|
|
{ private declarations }
|
|
public
|
|
function GetTitle: string; override;
|
|
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
|
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
|
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
|
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TProjectLazDocOptionsFrame }
|
|
|
|
procedure TProjectLazDocOptionsFrame.LazDocBrowseButtonClick(Sender: TObject);
|
|
begin
|
|
if SelectDirectoryDialog.Execute then
|
|
LazDocPathEdit.Text := SelectDirectoryDialog.FileName;
|
|
end;
|
|
|
|
procedure TProjectLazDocOptionsFrame.LazDocDeletePathButtonClick(Sender: TObject);
|
|
begin
|
|
if (LazDocListBox.ItemIndex >= 0) then
|
|
LazDocListBox.Items.Delete(LazDocListBox.ItemIndex);
|
|
end;
|
|
|
|
procedure TProjectLazDocOptionsFrame.LazDocAddPathButtonClick(Sender: TObject);
|
|
begin
|
|
if LazDocPathEdit.Text <> '' then
|
|
LazDocListBox.Items.Add(LazDocPathEdit.Text);
|
|
end;
|
|
|
|
function TProjectLazDocOptionsFrame.GetTitle: string;
|
|
begin
|
|
Result := lisFPDocEditor;
|
|
end;
|
|
|
|
procedure TProjectLazDocOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
|
begin
|
|
LazDocAddPathButton.Caption := lisCodeHelpAddPathButton;
|
|
LazDocDeletePathButton.Caption := lisCodeHelpDeletePathButton;
|
|
LazDocDeletePathButton.LoadGlyphFromLazarusResource('laz_delete');
|
|
LazDocAddPathButton.LoadGlyphFromLazarusResource('laz_add');
|
|
|
|
LazDocPathEdit.Clear;
|
|
end;
|
|
|
|
procedure TProjectLazDocOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
|
begin
|
|
with AOptions as TProject do
|
|
SplitString(LazDocPaths, ';', LazDocListBox.Items, True);
|
|
end;
|
|
|
|
procedure TProjectLazDocOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
|
begin
|
|
with AOptions as TProject do
|
|
LazDocPaths := StringListToText(LazDocListBox.Items, ';', True);
|
|
end;
|
|
|
|
class function TProjectLazDocOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
|
begin
|
|
Result := TProject;
|
|
end;
|
|
|
|
initialization
|
|
RegisterIDEOptionsEditor(GroupProject, TProjectLazDocOptionsFrame, ProjectOptionsLazDoc);
|
|
|
|
end.
|
|
|