From 1b2b4bb4f3ecc034a6e9364d8768e50b167a9680 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Tue, 24 Dec 2024 12:41:48 +0100 Subject: Rough GTK3 port --- UChmod.pas | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) (limited to 'UChmod.pas') diff --git a/UChmod.pas b/UChmod.pas index d4d43ba..b1c6b23 100644 --- a/UChmod.pas +++ b/UChmod.pas @@ -22,7 +22,7 @@ unit UChmod; interface uses - SysUtils, Classes, Variants, GTKControls, GTKForms, GTKStdCtrls, GTKExtCtrls, GTKConsts, GTKMenus; + SysUtils, Classes, lazgdk3, lazgtk3, GTKControls, GTKForms, GTKStdCtrls, GTKExtCtrls; type TFChmod = class(TGTKDialog) @@ -31,8 +31,7 @@ type PermissionFrame, FileFrame: TGTKFrame; RecursiveCheckButton, cbSUID, cbSGID, cbSticky, cbUSRRead, cbUSRWrite, cbUSRExec, cbGRPRead, cbGRPWrite, cbGRPExec, cbALLRead, cbALLWrite, cbALLExec: TGTKCheckButton; - RecursiveOptionMenu: TGTKOptionMenu; - miAllFiles, miDirectories, miFiles: TGTKMenuItem; + RecursiveComboBox: TGTKComboBoxText; FileLabel, OctalLabel, TextLabel: TGTKLabel; OctalEntry: TGTKEntry; procedure FormCreate(Sender: TObject); override; @@ -70,25 +69,20 @@ begin FileFrame := TGTKFrame.Create(Self); FileFrame.Caption := LANGFChmod_FileFrame; HBox.AddControlEx(PermissionFrame, True, True, 5); - HBox.AddControlEx(FileFrame, True, True, 5); + HBox.AddControlEx(FileFrame, False, False, 5); HBox2 := TGTKHBox.Create(Self); HBox2.Homogeneous := False; HBox2.BorderWidth := 5; RecursiveCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGFChmod_ApplyRecursivelyFor); RecursiveCheckButton.OnToggled := @RecursiveCheckButtonToggled; - RecursiveOptionMenu := TGTKOptionMenu.Create(Self); - miAllFiles := TGTKMenuItem.Create(Self); - miAllFiles.Caption := LANGFChmod_miAllFiles; - RecursiveOptionMenu.Items.Add(miAllFiles); - miDirectories := TGTKMenuItem.Create(Self); - miDirectories.Caption := LANGFChmod_miDirectories; - RecursiveOptionMenu.Items.Add(miDirectories); - miFiles := TGTKMenuItem.Create(Self); - miFiles.Caption := LANGmiFiles_Caption; - RecursiveOptionMenu.Items.Add(miFiles); + RecursiveComboBox := TGTKComboBoxText.Create(Self); + RecursiveComboBox.AppendItem(LANGFChmod_miAllFiles); + RecursiveComboBox.AppendItem(LANGFChmod_miDirectories); + RecursiveComboBox.AppendItem(LANGmiFiles_Caption); + RecursiveComboBox.ItemIndex := 0; HBox2.AddControlEx(TGTKLabel.Create(Self), False, False, 10); HBox2.AddControlEx(RecursiveCheckButton, False, False, 5); - HBox2.AddControlEx(RecursiveOptionMenu, False, False, 5); + HBox2.AddControlEx(RecursiveComboBox, False, False, 5); HBox3 := TGTKHBox.Create(Self); HBox3.Homogeneous := False; @@ -116,12 +110,16 @@ begin ClientArea.AddControlEx(HBox2, False, False, 0); FileLabel := TGTKLabel.Create(Self); - FileLabel.SetAlignment(0, 0); - FileLabel.SetPadding(10, 5); - FileLabel.Caption := 'File: .adobe'#10'Text: rw-rw-rw'#10 + - 'Octal: 666'#10'Owner: root'#10 + - 'Group: root'; + FileLabel.XAlign := 0; + FileLabel.YAlign := 0; + FileLabel.MarginStart := 10; + FileLabel.MarginEnd := 10; + FileLabel.MarginTop := 5; + FileLabel.MarginBottom := 5; FileLabel.UseMarkup := True; + // TODO + gtk_widget_set_hexpand(FileLabel.FWidget, False); + gtk_widget_set_size_request(FileLabel.FWidget, 200, -1); FileFrame.AddControl(FileLabel); VBox := TGTKVBox.Create(Self); @@ -164,14 +162,14 @@ end; procedure TFChmod.FormKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean); begin case Key of - GDK_RETURN, GDK_KP_ENTER: ModalResult := mbOK; - GDK_ESCAPE: ModalResult := mbCancel; + GDK_KEY_Return, GDK_KEY_KP_Enter: ModalResult := mbOK; + GDK_KEY_Escape: ModalResult := mbCancel; end; end; procedure TFChmod.RecursiveCheckButtonToggled(Sender: TObject); begin - RecursiveOptionMenu.Enabled := RecursiveCheckButton.Checked; + RecursiveComboBox.Enabled := RecursiveCheckButton.Checked; end; procedure TFChmod.PermissionsCheckBoxToggle(Sender: TObject); -- cgit v1.2.3