File: frmconfigfilebrowser.pp

package info (click to toggle)
lazarus 2.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 214,460 kB
  • sloc: pascal: 1,862,622; xml: 265,709; cpp: 56,595; sh: 3,008; java: 609; makefile: 535; perl: 297; sql: 222; ansic: 137
file content (95 lines) | stat: -rw-r--r-- 1,948 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
unit frmConfigFileBrowser;

{$mode objfpc}{$H+}

interface

uses
  Classes,
  SysUtils,
  FileUtil,
  LResources,
  Forms,
  Controls,
  Graphics,
  Dialogs,
  StdCtrls,
  EditBtn,
  ButtonPanel;

type
  TStartDir = (sdProjectDir, sdLastOpened, sdCustomDir);


  TFileBrowserConfigForm = class(TForm)
    ButtonPanel1: TButtonPanel;
    DEInitial: TDirectoryEdit;
    GBStartDir: TGroupBox;
    RBThisDir: TRadioButton;
    RBLastDir: TRadioButton;
    RBUseProjectDir: TRadioButton;
    procedure FormShow(Sender: TObject);
    procedure SelectInitialDir(Sender: TObject);
  private
    function GetCustomDir: string;
    function GetStartDir: TStartDir;
    procedure SetCustomDir(const AValue: string);
    procedure SetStartDir(const AValue: TStartDir);
  public
    property StartDir: TStartDir read GetStartDir write SetStartDir;
    property CustomDir: string read GetCustomDir write SetCustomDir;
  end;

var
  FileBrowserConfigForm: TFileBrowserConfigForm;

implementation

{ TFileBrowserConfigForm }

procedure TFileBrowserConfigForm.SelectInitialDir(Sender: TObject);
begin
  DEinitial.Enabled := RBThisDir.Checked;
end;

procedure TFileBrowserConfigForm.FormShow(Sender: TObject);
begin
  SelectInitialDir(nil);
end;

function TFileBrowserConfigForm.GetCustomDir: string;
begin
  Result := DEinitial.Directory;
end;

function TFileBrowserConfigForm.GetStartDir: TStartDir;
begin
  if RBUseProjectDir.Checked then
    Result := sdProjectDir
  else if RBLastDir.Checked then
    Result := sdLastOpened
  else
    Result := sdCustomDir;
end;

procedure TFileBrowserConfigForm.SetCustomDir(const AValue: string);
begin
  DEinitial.Directory := AValue;
end;

procedure TFileBrowserConfigForm.SetStartDir(const AValue: TStartDir);
var
  RB: TRadioButton;
begin
  case AValue of
    sdProjectDir: RB := RBUseProjectDir;
    sdLastOpened: RB := RBLastDir;
    sdCustomDir: RB  := RBThisDir;
  end;
  RB.Checked := True;
end;

{$R *.lfm}

end.