diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2009-09-24 09:45:38 +0200 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2009-09-24 09:45:38 +0200 |
| commit | 71294c99aa628f487d2094c101ecdf1ea829b3e1 (patch) | |
| tree | 60c0e2f24907fea398c432aa94f26d93b43a5355 /USymlink.pas | |
| parent | edcba3602767534921955c9e88223c1d6375ca0a (diff) | |
| download | tuxcmd-71294c99aa628f487d2094c101ecdf1ea829b3e1.tar.xz | |
Support for relative symlink creation
Diffstat (limited to 'USymlink.pas')
| -rw-r--r-- | USymlink.pas | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/USymlink.pas b/USymlink.pas index 704b500..7ce6fda 100644 --- a/USymlink.pas +++ b/USymlink.pas @@ -29,12 +29,14 @@ type Label1, Label2: TGTKLabel; FromEntry, ToEntry: TGTKEntry; Box: TGTKVBox; + RelativeCheckButton: TGTKCheckButton; procedure FormCreate(Sender: TObject); override; procedure FormKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean); + procedure RelativeCheckButtonToggled(Sender: TObject); private { Private declarations } public - { Public declarations } + FileName, PossibleNewName: string; end; var @@ -42,7 +44,7 @@ var implementation -uses ULocale; +uses ULocale, UCoreUtils; procedure TFSymlink.FormCreate(Sender: TObject); @@ -65,8 +67,11 @@ begin Label2.XPadding := 0; ToEntry := TGTKEntry.Create(Self); Label2.FocusControl := ToEntry; + RelativeCheckButton := TGTKCheckButton.CreateWithLabel(Self, '_Relative path'); + RelativeCheckButton.OnToggled := RelativeCheckButtonToggled; Box.AddControlEx(Label1, False, False, 2); Box.AddControlEx(FromEntry, False, False, 0); + Box.AddControlEx(RelativeCheckButton, False, False, 0); Box.AddControlEx(TGTKHSeparator.Create(Self), False, False, 5); Box.AddControlEx(Label2, False, False, 2); Box.AddControlEx(ToEntry, False, False, 0); @@ -84,6 +89,12 @@ begin end; end; +procedure TFSymlink.RelativeCheckButtonToggled(Sender: TObject); +begin + if RelativeCheckButton.Checked then FromEntry.Text := StrToUTF8(BuildRelativePath(FileName, PossibleNewName)) + else FromEntry.Text := StrToUTF8(FileName); +end; + end. |
