summaryrefslogtreecommitdiff
path: root/URunFromVFS.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2024-12-24 12:41:48 +0100
committerTomas Bzatek <tbzatek@redhat.com>2025-11-27 19:39:51 +0100
commit1b2b4bb4f3ecc034a6e9364d8768e50b167a9680 (patch)
tree065ddde53b64f7957a30b7dc9d83a748f309868c /URunFromVFS.pas
parentb9703b29819b619037cc282d719c187e51bacd30 (diff)
downloadtuxcmd-1b2b4bb4f3ecc034a6e9364d8768e50b167a9680.tar.xz
Rough GTK3 port
Diffstat (limited to 'URunFromVFS.pas')
-rw-r--r--URunFromVFS.pas190
1 files changed, 133 insertions, 57 deletions
diff --git a/URunFromVFS.pas b/URunFromVFS.pas
index 4710a33..3654abc 100644
--- a/URunFromVFS.pas
+++ b/URunFromVFS.pas
@@ -22,8 +22,8 @@ unit URunFromVFS;
interface
uses
- gtk2, SysUtils, Classes, GTKControls, GTKForms, GTKStdCtrls, GTKExtCtrls, GTKConsts,
- GTKPixbuf, UCoreClasses;
+ SysUtils, Classes, lazgdk3, lazgtk3, GTKControls, GTKForms, GTKStdCtrls, GTKExtCtrls, GTKPixbuf,
+ UCoreClasses;
type
TFRunFromVFS = class(TGTKDialog)
@@ -35,14 +35,14 @@ type
ButtonBox: TGTKHButtonBox;
CloseButton: TGTKButton;
- Table: TGTKTable;
- ExecuteButton, ExecuteAllButton: TGTKImageButton;
-
+ Grid: TGTKGrid;
+ ExecuteButton, ExecuteAllButton: TGTKButton;
+
FileNameLabel, FileNameLabel2, FileTypeLabel, FileTypeLabel2, SizeLabel, SizeLabel2, PackedSizeLabel, PackedSizeLabel2,
DateLabel, DateLabel2: TGTKLabel;
OpensWithLabel, OpensWithLabel2, InfoLabel: TGTKLabel;
InfoIcon: TGTKImage;
-
+
HBox1, HBox2: TGTKHBox;
procedure FormCreate(Sender: TObject); override;
procedure FormKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean);
@@ -60,23 +60,25 @@ uses ULocale;
procedure TFRunFromVFS.FormCreate(Sender: TObject);
+var VBox: TGTKVBox;
begin
// SetDefaultSize(55, 40);
Caption := LANGFRunFromVFS_Caption;
Buttons := [];
- ShowSeparator := False;
TitleEventBox := TGTKEventBox.Create(Self);
TitleLabel := TGTKLabel.Create(Self);
TitleLabel.Caption := Format('<span size="x-large" weight="ultrabold">%s</span>', [LANGFRunFromVFS_TitleLabel]);
TitleLabel.UseMarkup := True;
TitleLabel.XAlign := 0;
- TitleLabel.XPadding := 0;
- TitleLabel.YPadding := 3;
+ TitleLabel.MarginStart := 0;
+ TitleLabel.MarginEnd := 0;
+ TitleLabel.MarginTop := 3;
+ TitleLabel.MarginBottom := 3;
TitleEventBox.ControlState := csPrelight;
TitleFrame := TGTKFrame.CreateWithoutLabel(Self);
TitleFrame.ShadowType := stShadowOut;
TitleIcon := TGTKImage.Create(Self);
- TitleIcon.SetFromStock('gtk-properties', isLargeToolbar);
+ TitleIcon.SetFromIconName('gtk-properties', isLargeToolbar);
TitleHBox := TGTKHBox.Create(Self);
TitleHBox.Homogeneous := False;
TitleHBox.AddControlEx(TGTKVBox.Create(Self), False, False, 5);
@@ -86,7 +88,8 @@ begin
TitleFrame.AddControl(TitleEventBox);
ClientArea.AddControlEx(TitleFrame, False, True, 0);
- CloseButton := TGTKButton.CreateFromStock(Self, GTK_STOCK_CLOSE);
+ CloseButton := TGTKButton.CreateFromIconName(Self, GTK_STOCK_CLOSE);
+ CloseButton.Caption := 'Close';
// CloseButton.Default := True;
// Default := CloseButton;
CloseButton.OnClick := @CloseButtonClick;
@@ -96,114 +99,187 @@ begin
ButtonBox.BorderWidth := 0;
FileNameLabel := TGTKLabel.Create(Self);
- FileNameLabel.XAlign := 1;
- FileNameLabel.YAlign := 0;
FileNameLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGFRunFromVFS_FileNameLabel]);
FileNameLabel.UseMarkup := True;
+ FileNameLabel.XAlign := 1;
+ FileNameLabel.YAlign := 0;
+ FileNameLabel.MarginStart := 10;
+ FileNameLabel.MarginEnd := 10;
+ FileNameLabel.MarginTop := 2;
+ FileNameLabel.MarginBottom := 2;
FileNameLabel2 := TGTKLabel.Create(Self);
FileNameLabel2.Caption := Format('%s<span weight="ultrabold"> </span>', ['/tmp/t/bbbbb.txt']);
- FileNameLabel2.XAlign := 0;
FileNameLabel2.UseMarkup := True;
FileNameLabel2.Selectable := True;
FileNameLabel2.CanFocus := False;
FileNameLabel2.LineWrap := True;
+ FileNameLabel2.XAlign := 0;
+ FileNameLabel2.MarginStart := 10;
+ FileNameLabel2.MarginEnd := 10;
+ FileNameLabel2.MarginTop := 2;
+ FileNameLabel2.MarginBottom := 2;
FileTypeLabel := TGTKLabel.Create(Self);
FileTypeLabel.XAlign := 1;
+ FileTypeLabel.MarginStart := 10;
+ FileTypeLabel.MarginEnd := 10;
+ FileTypeLabel.MarginTop := 2;
+ FileTypeLabel.MarginBottom := 2;
FileTypeLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGFRunFromVFS_FileTypeLabel]);
FileTypeLabel.UseMarkup := True;
FileTypeLabel2 := TGTKLabel.Create(Self);
FileTypeLabel2.Caption := Format('%s<span weight="ultrabold"> </span>', ['HTML page']);
FileTypeLabel2.XAlign := 0;
+ FileTypeLabel2.MarginStart := 10;
+ FileTypeLabel2.MarginEnd := 10;
+ FileTypeLabel2.MarginTop := 2;
+ FileTypeLabel2.MarginBottom := 2;
FileTypeLabel2.UseMarkup := True;
SizeLabel := TGTKLabel.Create(Self);
- SizeLabel.XAlign := 1;
SizeLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGFRunFromVFS_SizeLabel]);
SizeLabel.UseMarkup := True;
+ SizeLabel.XAlign := 1;
+ SizeLabel.MarginStart := 10;
+ SizeLabel.MarginEnd := 10;
+ SizeLabel.MarginTop := 2;
+ SizeLabel.MarginBottom := 2;
SizeLabel2 := TGTKLabel.Create(Self);
SizeLabel2.Caption := Format('%s<span weight="ultrabold"> </span>', ['192 168 bytes']);
- SizeLabel2.XAlign := 0;
SizeLabel2.UseMarkup := True;
+ SizeLabel2.XAlign := 0;
+ SizeLabel2.MarginStart := 10;
+ SizeLabel2.MarginEnd := 10;
+ SizeLabel2.MarginTop := 2;
+ SizeLabel2.MarginBottom := 2;
PackedSizeLabel := TGTKLabel.Create(Self);
- PackedSizeLabel.XAlign := 1;
PackedSizeLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGFRunFromVFS_PackedSizeLabel]);
PackedSizeLabel.UseMarkup := True;
+ PackedSizeLabel.XAlign := 1;
+ PackedSizeLabel.MarginStart := 10;
+ PackedSizeLabel.MarginEnd := 10;
+ PackedSizeLabel.MarginTop := 2;
+ PackedSizeLabel.MarginBottom := 2;
PackedSizeLabel2 := TGTKLabel.Create(Self);
PackedSizeLabel2.Caption := Format('%s<span weight="ultrabold"> </span>', ['168 192 bytes']);
- PackedSizeLabel2.XAlign := 0;
PackedSizeLabel2.UseMarkup := True;
+ PackedSizeLabel2.XAlign := 0;
+ PackedSizeLabel2.MarginStart := 10;
+ PackedSizeLabel2.MarginEnd := 10;
+ PackedSizeLabel2.MarginTop := 2;
+ PackedSizeLabel2.MarginBottom := 2;
DateLabel := TGTKLabel.Create(Self);
- DateLabel.XAlign := 1;
DateLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGFRunFromVFS_DateLabel]);
DateLabel.UseMarkup := True;
+ DateLabel.XAlign := 1;
+ DateLabel.MarginStart := 10;
+ DateLabel.MarginEnd := 10;
+ DateLabel.MarginTop := 2;
+ DateLabel.MarginBottom := 2;
DateLabel2 := TGTKLabel.Create(Self);
DateLabel2.Caption := Format('%s<span weight="ultrabold"> </span>', ['2007-01-01']);
- DateLabel2.XAlign := 0;
DateLabel2.UseMarkup := True;
+ DateLabel2.XAlign := 0;
+ DateLabel2.MarginStart := 10;
+ DateLabel2.MarginEnd := 10;
+ DateLabel2.MarginTop := 2;
+ DateLabel2.MarginBottom := 2;
HBox1 := TGTKHBox.Create(Self);
HBox1.Homogeneous := False;
+ HBox1.MarginTop := 2;
+ HBox1.MarginBottom := 2;
InfoLabel := TGTKLabel.Create(Self);
InfoLabel.Caption := LANGFRunFromVFS_InfoLabel;
InfoLabel.UseMarkup := True;
InfoLabel.LineWrap := True;
InfoLabel.SetSizeRequest(400, -1);
InfoIcon := TGTKImage.Create(Self);
- InfoIcon.SetFromStock('gtk-dialog-info', isDialog);
+ InfoIcon.SetFromIconName('gtk-dialog-info', isDialog);
HBox1.AddControlEx(TGTKVBox.Create(Self), False, False, 12);
HBox1.AddControlEx(InfoIcon, False, False, 7);
HBox1.AddControlEx(InfoLabel, True, True, 0);
HBox1.AddControlEx(TGTKVBox.Create(Self), False, False, 8);
OpensWithLabel := TGTKLabel.Create(Self);
- OpensWithLabel.XAlign := 1;
- OpensWithLabel.YAlign := 0;
OpensWithLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGFRunFromVFS_OpensWithLabel]);
OpensWithLabel.UseMarkup := True;
+ OpensWithLabel.XAlign := 1;
+ OpensWithLabel.YAlign := 0;
+ OpensWithLabel.MarginStart := 10;
+ OpensWithLabel.MarginEnd := 10;
+ OpensWithLabel.MarginTop := 10;
+ OpensWithLabel.MarginBottom := 10;
OpensWithLabel2 := TGTKLabel.Create(Self);
OpensWithLabel2.Caption := Format('%s<span weight="ultrabold"> </span>', ['galeon']);
- OpensWithLabel2.XAlign := 0;
OpensWithLabel2.Selectable := True;
OpensWithLabel2.CanFocus := False;
OpensWithLabel2.UseMarkup := True;
+ OpensWithLabel2.XAlign := 0;
+ OpensWithLabel2.MarginStart := 10;
+ OpensWithLabel2.MarginEnd := 10;
+ OpensWithLabel2.MarginTop := 10;
+ OpensWithLabel2.MarginBottom := 10;
- ExecuteButton := TGTKImageButton.Create(Self);
- ExecuteButton.SetFromStock('gtk-execute', isButton);
+ ExecuteButton := TGTKButton.CreateFromIconName(Self, 'gtk-execute');
ExecuteButton.Caption := LANGFRunFromVFS_ExecuteButton;
ExecuteButton.OnClick := @ExecuteButtonClick;
- ExecuteButton.Spacing := 7;
- ExecuteAllButton := TGTKImageButton.Create(Self);
+// ExecuteButton.Spacing := 7;
+ ExecuteAllButton := TGTKButton.Create(Self);
ExecuteAllButton.Caption := LANGFRunFromVFS_ExecuteAllButton;
ExecuteAllButton.OnClick := @ExecuteAllButtonClick;
- ExecuteAllButton.Spacing := 7;
-
-
- Table := TGTKTable.Create(Self);
- Table.SetRowColCount(13, 4);
- ClientArea.AddControlEx(Table, True, True, 12);
- Table.AddControlEx(0, 0, 1, 1, TGTKVBox.Create(Self), [taoShrink], [taoShrink], 10, 6);
- Table.AddControlEx(0, 1, 1, 1, TGTKVBox.Create(Self), [taoShrink], [taoShrink, taoFill], 12, 2);
- Table.AddControlEx(1, 1, 1, 1, FileNameLabel, [taoShrink, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(3, 1, 2, 1, FileNameLabel2, [taoExpand, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(1, 2, 1, 1, FileTypeLabel, [taoShrink, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(3, 2, 2, 1, FileTypeLabel2, [taoExpand, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(1, 3, 1, 1, SizeLabel, [taoShrink, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(3, 3, 2, 1, SizeLabel2, [taoExpand, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(1, 4, 1, 1, PackedSizeLabel, [taoShrink, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(3, 4, 2, 1, PackedSizeLabel2, [taoExpand, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(1, 5, 1, 1, DateLabel, [taoShrink, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(3, 5, 2, 1, DateLabel2, [taoExpand, taoFill], [taoShrink, taoFill], 10, 2);
- Table.AddControlEx(0, 6, 5, 1, TGTKHBox.Create(Self), [taoShrink], [taoShrink], 50, 17);
- Table.AddControlEx(0, 7, 5, 1, HBox1, [taoExpand, taoFill], [taoShrink], 0, 2);
- Table.AddControlEx(1, 8, 1, 1, OpensWithLabel, [taoShrink, taoFill], [taoShrink, taoFill], 10, 10);
- Table.AddControlEx(3, 8, 2, 1, OpensWithLabel2, [taoExpand, taoFill], [taoShrink, taoFill], 10, 10);
-// Table.AddControlEx(3, 9, 1, 1, ExecuteButton, [taoFill], [taoShrink], 10, 2);
-// Table.AddControlEx(3, 10, 1, 1, ExecuteAllButton, [taoFill], [taoShrink], 10, 2);
- Table.AddControlEx(4, 11, 1, 1, TGTKHBox.Create(Self), [taoExpand, taoFill], [taoShrink], 30, 2);
- Table.AddControlEx(0, 12, 4, 1, TGTKVBox.Create(Self), [taoExpand, taoFill], [taoShrink], 30, 10);
+// ExecuteAllButton.Spacing := 7;
+
+
+ Grid := TGTKGrid.Create(Self);
+ ClientArea.AddControlEx(Grid, True, True, 12);
+ VBox := TGTKVBox.Create(Self);
+ VBox.MarginStart := 10;
+ VBox.MarginEnd := 10;
+ VBox.MarginTop := 6;
+ VBox.MarginBottom := 6;
+ Grid.AddControl(0, 0, 1, 1, VBox);
+ VBox := TGTKVBox.Create(Self);
+ VBox.MarginStart := 12;
+ VBox.MarginEnd := 12;
+ VBox.MarginTop := 2;
+ VBox.MarginBottom := 2;
+ Grid.AddControl(0, 1, 1, 1, VBox);
+ Grid.AddControl(1, 1, 1, 1, FileNameLabel);
+ Grid.AddControl(3, 1, 2, 1, FileNameLabel2);
+ Grid.AddControl(1, 2, 1, 1, FileTypeLabel);
+ Grid.AddControl(3, 2, 2, 1, FileTypeLabel2);
+ Grid.AddControl(1, 3, 1, 1, SizeLabel);
+ Grid.AddControl(3, 3, 2, 1, SizeLabel2);
+ Grid.AddControl(1, 4, 1, 1, PackedSizeLabel);
+ Grid.AddControl(3, 4, 2, 1, PackedSizeLabel2);
+ Grid.AddControl(1, 5, 1, 1, DateLabel);
+ Grid.AddControl(3, 5, 2, 1, DateLabel2);
+ VBox := TGTKVBox.Create(Self);
+ VBox.MarginStart := 50;
+ VBox.MarginEnd := 50;
+ VBox.MarginTop := 17;
+ VBox.MarginBottom := 17;
+ Grid.AddControl(0, 6, 5, 1, VBox);
+ Grid.AddControl(0, 7, 5, 1, HBox1);
+ Grid.AddControl(1, 8, 1, 1, OpensWithLabel);
+ Grid.AddControl(3, 8, 2, 1, OpensWithLabel2);
+// Grid.AddControlEx(3, 9, 1, 1, ExecuteButton, [taoFill], [taoShrink], 10, 2);
+// Grid.AddControlEx(3, 10, 1, 1, ExecuteAllButton, [taoFill], [taoShrink], 10, 2);
+ VBox := TGTKVBox.Create(Self);
+ VBox.MarginStart := 30;
+ VBox.MarginEnd := 30;
+ VBox.MarginTop := 2;
+ VBox.MarginBottom := 2;
+ Grid.AddControl(4, 11, 1, 1, VBox);
+ VBox := TGTKVBox.Create(Self);
+ VBox.MarginStart := 30;
+ VBox.MarginEnd := 30;
+ VBox.MarginTop := 10;
+ VBox.MarginBottom := 10;
+ Grid.AddControl(0, 12, 4, 1, VBox);
HBox2 := TGTKHBox.Create(Self);
HBox2.BorderWidth := 3;
@@ -221,17 +297,17 @@ end;
procedure TFRunFromVFS.FormKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean);
begin
- if Key = GDK_ESCAPE then begin
+ if Key = GDK_KEY_Escape then begin
ModalResult := mbClose;
Accept := False;
end else
- if Key = GDK_RIGHT then begin
+ if Key = GDK_KEY_Right then begin
if ExecuteButton.Focused then ExecuteAllButton.SetFocus else
if ExecuteAllButton.Focused then CloseButton.SetFocus else
ExecuteButton.SetFocus;
Accept := False;
end else
- if Key = GDK_LEFT then begin
+ if Key = GDK_KEY_Left then begin
if ExecuteButton.Focused then CloseButton.SetFocus else
if ExecuteAllButton.Focused then ExecuteButton.SetFocus else
ExecuteAllButton.SetFocus;