summaryrefslogtreecommitdiff
path: root/USymlink.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-09-24 09:45:38 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-09-24 09:45:38 +0200
commit71294c99aa628f487d2094c101ecdf1ea829b3e1 (patch)
tree60c0e2f24907fea398c432aa94f26d93b43a5355 /USymlink.pas
parentedcba3602767534921955c9e88223c1d6375ca0a (diff)
downloadtuxcmd-71294c99aa628f487d2094c101ecdf1ea829b3e1.tar.xz
Support for relative symlink creation
Diffstat (limited to 'USymlink.pas')
-rw-r--r--USymlink.pas15
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.