diff options
Diffstat (limited to 'USearch.pas')
| -rw-r--r-- | USearch.pas | 418 |
1 files changed, 243 insertions, 175 deletions
diff --git a/USearch.pas b/USearch.pas index 1a9b527..5e981e0 100644 --- a/USearch.pas +++ b/USearch.pas @@ -22,9 +22,8 @@ unit USearch; interface uses - lazglib2, gtk2, SyncObjs, SysUtils, Classes, GTKControls, GTKForms, GTKStdCtrls, GTKExtCtrls, GTKConsts, GTKView, - GTKMenus, - UEngines, UGnome, ULibc; + SyncObjs, SysUtils, Classes, lazglib2, lazgdk3, lazgtk3, GTKControls, GTKForms, GTKStdCtrls, GTKExtCtrls, GTKView, + UEngines, ULibc; type TFSearch = class(TGTKDialog) @@ -35,21 +34,20 @@ type FileListScrolledWindow: TGTKScrolledWindow; Notebook: TGTKNotebook; - Table1, Table2: TGTKTable; + Grid1, Grid2: TGTKGrid; ResultsLabel, StatusLabel: TGTKLabel; Label1, Label2, Label3, Label4, Label5, Label6: TGTKLabel; - FileMaskEntry, FindTextEntry: TGTKCombo; + FileMaskEntry, FindTextEntry: TGTKComboBoxEntry; SearchInEntry: TGTKEntry; ViewButton, NewSearchButton, GoToFileButton, FeedToListboxButton: TGTKButton; SearchArchivesCheckButton, CaseSensitiveCheckButton, StayCurrentFSCheckButton, CaseSensitiveMatchCheckButton: TGTKCheckButton; FindButton, StopButton, CloseButton: TGTKButton; BiggerThanCheckButton, SmallerThanCheckButton: TGTKCheckButton; BiggerThanEntry, SmallerThanEntry: TGTKSpinEdit; - BiggerThanOptionMenu, SmallerThanOptionMenu, ModifiedLastOptionMenu, ModifiedNotLastOptionMenu: TGTKOptionMenu; + BiggerThanComboBox, SmallerThanComboBox, ModifiedLastComboBox, ModifiedNotLastComboBox: TGTKComboBoxText; ModifiedBetweenRadioButton, NotModifiedAfterRadioButton, ModifiedLastRadioButton, ModifiedNotLastRadionButton: TGTKCheckButton; ModifiedLastSpinEdit, ModifiedNotLastSpinEdit: TGTKSpinEdit; ModifiedBetweenEntry1, ModifiedBetweenEntry2, NotModifiedAfterEntry: TGTKEntry; - ModifiedBetweenEntry1G, ModifiedBetweenEntry2G, NotModifiedAfterEntryG: TGnomeDateEdit; procedure FormCreate(Sender: TObject); override; procedure FormDestroy(Sender: TObject); procedure FormKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean); @@ -67,7 +65,7 @@ type procedure FileMaskEntryKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean); procedure FindTextEntryKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean); private - Processing, Stop, FUseGnomeWidgets: boolean; + Processing, Stop: boolean; SavedData: string; procedure ConstructViews; procedure DoSearch; @@ -114,8 +112,9 @@ var SizeUnits: array[0..2] of string; procedure TFSearch.FormCreate(Sender: TObject); -var MenuItem: TGTKMenuItem; - i: integer; +var i: integer; + HSeparator: TGTKHSeparator; + VBox: TGTKVBox; begin // Set the constants SizeUnits[0] := LANGSearch_Bytes; @@ -127,7 +126,6 @@ begin DayUnits[3] := LANGSearch_years; // Initialization -// WindowTypeHint := whNormal; List := TList.Create; List.Clear; Processing := False; @@ -137,23 +135,20 @@ begin SetDefaultSize(650, 600); Caption := LANGSearch_Caption; Buttons := []; - ShowSeparator := False; - FUseGnomeWidgets := False; Notebook := TGTKNotebook.Create(Self); Notebook.BorderWidth := 10; - Table1 := TGTKTable.Create(Self); - Table1.BorderWidth := 10; - Table2 := TGTKTable.Create(Self); - Table2.BorderWidth := 10; - Notebook.AppendPage(Table1, LANGSearch_General); - Notebook.AppendPage(Table2, LANGSearch_Advanced); + Grid1 := TGTKGrid.Create(Self); + Grid1.BorderWidth := 10; + Grid2 := TGTKGrid.Create(Self); + Grid2.BorderWidth := 10; + Notebook.AppendPage(Grid1, LANGSearch_General); + Notebook.AppendPage(Grid2, LANGSearch_Advanced); ConstructViews; ResultsLabel := TGTKLabel.Create(Self); ResultsLabel.XAlign := 0; - ResultsLabel.XPadding := 0; ResultsLabel.Caption := Format('<span weight="ultrabold">%s</span>', [LANGSearch_SearchResults]); ResultsLabel.FocusControl := FileList; ResultsLabel.UseMarkup := True; @@ -163,170 +158,260 @@ begin Label1 := TGTKLabel.Create(Self); - Label1.XAlign := 0; - Label1.XPadding := 0; Label1.Caption := Format('<span weight="ultrabold">%s</span>', [LANGSearch_SearchFor]); - FileMaskEntry := TGTKCombo.Create(Self); + Label1.XAlign := 0; + Label1.MarginStart := 5; + Label1.MarginEnd := 5; + Label1.MarginTop := 2; + Label1.MarginBottom := 2; + FileMaskEntry := TGTKComboBoxEntry.Create(Self); FileMaskEntry.Tooltip := LANGSearch_FileMaskEntryTooltip; FileMaskEntry.Entry.OnKeyDown := @FileMaskEntryKeyDown; if SearchHistory.Count > 0 then for i := 0 to SearchHistory.Count - 1 do - FileMaskEntry.Items.Append(SearchHistory[i]); + FileMaskEntry.AppendItem(SearchHistory[i]); FileMaskEntry.Entry.Text := ''; + FileMaskEntry.MarginStart := 5; + FileMaskEntry.MarginEnd := 5; + FileMaskEntry.MarginTop := 2; + FileMaskEntry.MarginBottom := 2; Label1.FocusControl := FileMaskEntry.Entry; Label1.UseMarkup := True; Label1.UseUnderline := True; Label2 := TGTKLabel.Create(Self); - Label2.XAlign := 0; - Label2.XPadding := 0; Label2.Caption := LANGSearch_SearchIn; + Label2.XAlign := 0; + Label2.MarginStart := 5; + Label2.MarginEnd := 5; + Label2.MarginTop := 2; + Label2.MarginBottom := 2; SearchInEntry := TGTKEntry.Create(Self); + SearchInEntry.MarginStart := 5; + SearchInEntry.MarginEnd := 5; + SearchInEntry.MarginTop := 2; + SearchInEntry.MarginBottom := 2; Label2.FocusControl := SearchInEntry; Label2.UseMarkup := True; Label2.UseUnderline := True; SearchArchivesCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_SearchArchivesCheckButton); SearchArchivesCheckButton.Enabled := PluginList.Count > 0; + SearchArchivesCheckButton.MarginStart := 5; + SearchArchivesCheckButton.MarginEnd := 5; + SearchArchivesCheckButton.MarginTop := 2; + SearchArchivesCheckButton.MarginBottom := 2; Label3 := TGTKLabel.Create(Self); - Label3.XAlign := 0; - Label3.XPadding := 0; Label3.Caption := LANGSearch_FindText; - FindTextEntry := TGTKCombo.Create(Self); + Label3.XAlign := 0; + Label3.MarginStart := 5; + Label3.MarginEnd := 5; + Label3.MarginTop := 2; + Label3.MarginBottom := 2; + FindTextEntry := TGTKComboBoxEntry.Create(Self); FindTextEntry.Tooltip := LANGSearch_FindTextEntryTooltip; FindTextEntry.Entry.OnKeyDown := @FindTextEntryKeyDown; if SearchTextHistory.Count > 0 then for i := 0 to SearchTextHistory.Count - 1 do - FindTextEntry.Items.Append(SearchTextHistory[i]); + FindTextEntry.AppendItem(SearchTextHistory[i]); FindTextEntry.Entry.Text := ''; + FindTextEntry.MarginStart := 5; + FindTextEntry.MarginEnd := 5; + FindTextEntry.MarginTop := 2; + FindTextEntry.MarginBottom := 2; Label3.FocusControl := FindTextEntry.Entry; Label3.UseMarkup := True; Label3.UseUnderline := True; CaseSensitiveCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_CaseSensitiveCheckButton); + CaseSensitiveCheckButton.MarginStart := 5; + CaseSensitiveCheckButton.MarginEnd := 5; + CaseSensitiveCheckButton.MarginTop := 2; + CaseSensitiveCheckButton.MarginBottom := 2; StayCurrentFSCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_StayCurrentFSCheckButton); + StayCurrentFSCheckButton.MarginStart := 5; + StayCurrentFSCheckButton.MarginEnd := 5; + StayCurrentFSCheckButton.MarginTop := 2; + StayCurrentFSCheckButton.MarginBottom := 2; CaseSensitiveMatchCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_CaseSensitiveMatchCheckButton); - - Table1.AddControlEx(0, 0, 1, 1, Label1, [taoShrink, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(1, 0, 1, 1, FileMaskEntry, [taoExpand, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(2, 0, 1, 1, CaseSensitiveMatchCheckButton, [taoShrink, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(0, 1, 1, 1, Label2, [taoShrink, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(1, 1, 1, 1, SearchInEntry, [taoExpand, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(2, 1, 1, 1, StayCurrentFSCheckButton, [taoShrink], [taoShrink], 5, 2); - Table1.AddControlEx(1, 2, 2, 1, SearchArchivesCheckButton, [taoShrink, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(0, 3, 3, 1, TGTKHSeparator.Create(Self), [taoExpand, taoFill], [taoShrink], 5, 4); - Table1.AddControlEx(0, 4, 1, 1, Label3, [taoShrink, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(1, 4, 2, 1, FindTextEntry, [taoExpand, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(1, 5, 2, 1, CaseSensitiveCheckButton, [taoShrink, taoFill], [taoShrink], 5, 2); - Table1.AddControlEx(0, 6, 3, 1, TGTKVBox.Create(Self), [taoShrink, taoFill], [taoExpand, taoFill], 5, 2); - + CaseSensitiveMatchCheckButton.MarginStart := 5; + CaseSensitiveMatchCheckButton.MarginEnd := 5; + CaseSensitiveMatchCheckButton.MarginTop := 2; + CaseSensitiveMatchCheckButton.MarginBottom := 2; + + HSeparator := TGTKHSeparator.Create(Self); + HSeparator.MarginStart := 5; + HSeparator.MarginEnd := 5; + HSeparator.MarginTop := 4; + HSeparator.MarginBottom := 4; + VBox := TGTKVBox.Create(Self); + VBox.MarginStart := 5; + VBox.MarginEnd := 5; + VBox.MarginTop := 2; + VBox.MarginBottom := 2; + Grid1.AddControl(0, 0, 1, 1, Label1); + Grid1.AddControl(1, 0, 1, 1, FileMaskEntry); + Grid1.AddControl(2, 0, 1, 1, CaseSensitiveMatchCheckButton); + Grid1.AddControl(0, 1, 1, 1, Label2); + Grid1.AddControl(1, 1, 1, 1, SearchInEntry); + Grid1.AddControl(2, 1, 1, 1, StayCurrentFSCheckButton); + Grid1.AddControl(1, 2, 2, 1, SearchArchivesCheckButton); + Grid1.AddControl(0, 3, 3, 1, HSeparator); + Grid1.AddControl(0, 4, 1, 1, Label3); + Grid1.AddControl(1, 4, 2, 1, FindTextEntry); + Grid1.AddControl(1, 5, 2, 1, CaseSensitiveCheckButton); + Grid1.AddControl(0, 6, 3, 1, VBox); Label4 := TGTKLabel.Create(Self); - Label4.XAlign := 0; - Label4.XPadding := 0; Label4.Caption := Format('<span weight="ultrabold">%s</span>', [LANGSearch_Size]); Label4.UseMarkup := True; + Label4.XAlign := 0; + Label4.MarginStart := 5; + Label4.MarginEnd := 5; Label5 := TGTKLabel.Create(Self); - Label5.XAlign := 0; - Label5.XPadding := 0; Label5.Caption := Format('<span weight="ultrabold">%s</span>', [LANGSearch_Date]); Label5.UseMarkup := True; + Label5.XAlign := 0; + Label5.MarginStart := 5; + Label5.MarginEnd := 5; + Label5.MarginTop := 1; + Label5.MarginBottom := 1; BiggerThanCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_BiggerThan); + BiggerThanCheckButton.MarginStart := 2; + BiggerThanCheckButton.MarginEnd := 2; SmallerThanCheckButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_SmallerThan); + SmallerThanCheckButton.MarginStart := 5; + SmallerThanCheckButton.MarginEnd := 5; BiggerThanEntry := TGTKSpinEdit.Create(Self); BiggerThanEntry.Min := 0; BiggerThanEntry.Max := 999999999; BiggerThanEntry.Digits := 0; BiggerThanEntry.IncrementStep := 1; BiggerThanEntry.IncrementPage := 10; + BiggerThanEntry.MarginStart := 5; + BiggerThanEntry.MarginEnd := 5; SmallerThanEntry := TGTKSpinEdit.Create(Self); SmallerThanEntry.Min := 0; SmallerThanEntry.Max := 999999999; SmallerThanEntry.Digits := 0; SmallerThanEntry.IncrementStep := 1; SmallerThanEntry.IncrementPage := 10; - BiggerThanOptionMenu := TGTKOptionMenu.Create(Self); + SmallerThanEntry.MarginStart := 5; + SmallerThanEntry.MarginEnd := 5; + BiggerThanComboBox := TGTKComboBoxText.Create(Self); + SmallerThanComboBox := TGTKComboBoxText.Create(Self); for i := Low(SizeUnits) to High(SizeUnits) do begin - MenuItem := TGTKMenuItem.Create(Self); - MenuItem.Caption := SizeUnits[i]; - BiggerThanOptionMenu.Items.Add(MenuItem); - end; - SmallerThanOptionMenu := TGTKOptionMenu.Create(Self); - for i := Low(SizeUnits) to High(SizeUnits) do begin - MenuItem := TGTKMenuItem.Create(Self); - MenuItem.Caption := SizeUnits[i]; - SmallerThanOptionMenu.Items.Add(MenuItem); + BiggerThanComboBox.AppendItem(SizeUnits[i]); + SmallerThanComboBox.AppendItem(SizeUnits[i]); end; + BiggerThanComboBox.ItemIndex := 0; + SmallerThanComboBox.ItemIndex := 0; ModifiedBetweenRadioButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_ModifiedBetweenRadioButton); + ModifiedBetweenRadioButton.MarginStart := 2; + ModifiedBetweenRadioButton.MarginEnd := 2; + ModifiedBetweenRadioButton.MarginTop := 2; + ModifiedBetweenRadioButton.MarginBottom := 2; NotModifiedAfterRadioButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_NotModifiedAfterRadioButton); + NotModifiedAfterRadioButton.MarginStart := 2; + NotModifiedAfterRadioButton.MarginEnd := 2; + NotModifiedAfterRadioButton.MarginTop := 2; + NotModifiedAfterRadioButton.MarginBottom := 2; ModifiedLastRadioButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_ModifiedLastRadioButton); + ModifiedLastRadioButton.MarginStart := 2; + ModifiedLastRadioButton.MarginEnd := 2; + ModifiedLastRadioButton.MarginTop := 2; + ModifiedLastRadioButton.MarginBottom := 2; ModifiedNotLastRadionButton := TGTKCheckButton.CreateWithLabel(Self, LANGSearch_ModifiedNotLastRadionButton); + ModifiedNotLastRadionButton.MarginStart := 5; + ModifiedNotLastRadionButton.MarginEnd := 5; + ModifiedNotLastRadionButton.MarginTop := 2; + ModifiedNotLastRadionButton.MarginBottom := 2; ModifiedLastSpinEdit := TGTKSpinEdit.Create(Self); ModifiedLastSpinEdit.Min := 0; ModifiedLastSpinEdit.Max := 10000; ModifiedLastSpinEdit.Digits := 0; ModifiedLastSpinEdit.IncrementStep := 1; ModifiedLastSpinEdit.IncrementPage := 10; + ModifiedLastSpinEdit.MarginStart := 5; + ModifiedLastSpinEdit.MarginEnd := 5; + ModifiedLastSpinEdit.MarginTop := 2; + ModifiedLastSpinEdit.MarginBottom := 2; ModifiedNotLastSpinEdit := TGTKSpinEdit.Create(Self); ModifiedNotLastSpinEdit.Min := 0; ModifiedNotLastSpinEdit.Max := 10000; ModifiedNotLastSpinEdit.Digits := 0; ModifiedNotLastSpinEdit.IncrementStep := 1; ModifiedNotLastSpinEdit.IncrementPage := 10; - ModifiedLastOptionMenu := TGTKOptionMenu.Create(Self); - for i := Low(DayUnits) to High(DayUnits) do begin - MenuItem := TGTKMenuItem.Create(Self); - MenuItem.Caption := DayUnits[i]; - ModifiedLastOptionMenu.Items.Add(MenuItem); - end; - ModifiedNotLastOptionMenu := TGTKOptionMenu.Create(Self); + ModifiedNotLastSpinEdit.MarginStart := 5; + ModifiedNotLastSpinEdit.MarginEnd := 5; + ModifiedNotLastSpinEdit.MarginTop := 2; + ModifiedNotLastSpinEdit.MarginBottom := 2; + ModifiedLastComboBox := TGTKComboBoxText.Create(Self); + ModifiedNotLastComboBox := TGTKComboBoxText.Create(Self); for i := Low(DayUnits) to High(DayUnits) do begin - MenuItem := TGTKMenuItem.Create(Self); - MenuItem.Caption := DayUnits[i]; - ModifiedNotLastOptionMenu.Items.Add(MenuItem); + ModifiedLastComboBox.AppendItem(DayUnits[i]); + ModifiedNotLastComboBox.AppendItem(DayUnits[i]); end; + ModifiedLastComboBox.MarginStart := 2; + ModifiedLastComboBox.MarginEnd := 2; + ModifiedLastComboBox.MarginTop := 2; + ModifiedLastComboBox.MarginBottom := 2; + ModifiedNotLastComboBox.MarginTop := 2; + ModifiedNotLastComboBox.MarginBottom := 2; Label6 := TGTKLabel.Create(Self); - Label6.XAlign := 0; - Label6.XPadding := 0; Label6.Caption := LANGSearch_And; Label6.UseMarkup := True; - - if not FUseGnomeWidgets then begin - ModifiedBetweenEntry1 := TGTKEntry.Create(Self); - ModifiedBetweenEntry1.Tooltip := SysUtils.FormatDateTime(LANGSearch_ModifiedBetweenEntry1, Date); - ModifiedBetweenEntry2 := TGTKEntry.Create(Self); - ModifiedBetweenEntry2.Tooltip := SysUtils.FormatDateTime(LANGSearch_ModifiedBetweenEntry1, Date); - NotModifiedAfterEntry := TGTKEntry.Create(Self); - NotModifiedAfterEntry.Tooltip := SysUtils.FormatDateTime(LANGSearch_ModifiedBetweenEntry1, Date); - Table2.AddControlEx(2, 5, 2, 1, ModifiedBetweenEntry1, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(5, 5, 2, 1, ModifiedBetweenEntry2, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(2, 6, 2, 1, NotModifiedAfterEntry, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - end else begin - ModifiedBetweenEntry1G := TGnomeDateEdit.Create(Self); - ModifiedBetweenEntry2G := TGnomeDateEdit.Create(Self); - NotModifiedAfterEntryG := TGnomeDateEdit.Create(Self); - Table2.AddControlEx(2, 5, 2, 1, ModifiedBetweenEntry1G, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(5, 5, 2, 1, ModifiedBetweenEntry2G, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(2, 6, 2, 1, NotModifiedAfterEntryG, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - end; - - Table2.AddControlEx(0, 0, 3, 1, Label4, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 0); - Table2.AddControlEx(0, 1, 1, 1, TGTKVBox.Create(Self), [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 8, 0); - Table2.AddControlEx(1, 1, 1, 1, BiggerThanCheckButton, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 2, 0); - Table2.AddControlEx(2, 1, 1, 1, BiggerThanEntry, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 0); - Table2.AddControlEx(3, 1, 1, 1, BiggerThanOptionMenu, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 0, 0); - Table2.AddControlEx(5, 1, 1, 1, SmallerThanCheckButton, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 0); - Table2.AddControlEx(6, 1, 1, 1, SmallerThanEntry, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 0); - Table2.AddControlEx(7, 1, 1, 1, SmallerThanOptionMenu, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 0, 0); - Table2.AddControlEx(1, 3, 3, 1, TGTKVBox.Create(Self), [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 0, 6); - Table2.AddControlEx(0, 4, 3, 1, Label5, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 1); - Table2.AddControlEx(1, 5, 1, 1, ModifiedBetweenRadioButton, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 2, 2); - Table2.AddControlEx(4, 5, 1, 1, Label6, [taoShrink], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(1, 6, 1, 1, NotModifiedAfterRadioButton, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 2, 2); - Table2.AddControlEx(1, 7, 1, 1, ModifiedLastRadioButton, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 2, 2); - Table2.AddControlEx(2, 7, 1, 1, ModifiedLastSpinEdit, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(3, 7, 1, 1, ModifiedLastOptionMenu, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 2, 2); - Table2.AddControlEx(4, 7, 2, 1, ModifiedNotLastRadionButton, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(6, 7, 1, 1, ModifiedNotLastSpinEdit, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 5, 2); - Table2.AddControlEx(7, 7, 1, 1, ModifiedNotLastOptionMenu, [taoShrink, taoFill], [taoShrink, taoExpand, taoFill], 0, 2); + Label6.XAlign := 0; + Label6.MarginStart := 5; + Label6.MarginEnd := 5; + Label6.MarginTop := 2; + Label6.MarginBottom := 2; + + ModifiedBetweenEntry1 := TGTKEntry.Create(Self); + ModifiedBetweenEntry1.Tooltip := SysUtils.FormatDateTime(LANGSearch_ModifiedBetweenEntry1, Date); + ModifiedBetweenEntry1.MarginStart := 5; + ModifiedBetweenEntry1.MarginEnd := 5; + ModifiedBetweenEntry1.MarginTop := 2; + ModifiedBetweenEntry1.MarginBottom := 2; + ModifiedBetweenEntry2 := TGTKEntry.Create(Self); + ModifiedBetweenEntry2.Tooltip := SysUtils.FormatDateTime(LANGSearch_ModifiedBetweenEntry1, Date); + ModifiedBetweenEntry2.MarginStart := 5; + ModifiedBetweenEntry2.MarginEnd := 5; + ModifiedBetweenEntry2.MarginTop := 2; + ModifiedBetweenEntry2.MarginBottom := 2; + NotModifiedAfterEntry := TGTKEntry.Create(Self); + NotModifiedAfterEntry.Tooltip := SysUtils.FormatDateTime(LANGSearch_ModifiedBetweenEntry1, Date); + NotModifiedAfterEntry.MarginStart := 5; + NotModifiedAfterEntry.MarginEnd := 5; + NotModifiedAfterEntry.MarginTop := 2; + NotModifiedAfterEntry.MarginBottom := 2; + Grid2.AddControl(2, 5, 2, 1, ModifiedBetweenEntry1); + Grid2.AddControl(5, 5, 2, 1, ModifiedBetweenEntry2); + Grid2.AddControl(2, 6, 2, 1, NotModifiedAfterEntry); + + VBox := TGTKVBox.Create(Self); + VBox.MarginStart := 8; + VBox.MarginEnd := 8; + Grid2.AddControl(0, 0, 3, 1, Label4); + Grid2.AddControl(0, 1, 1, 1, VBox); + Grid2.AddControl(1, 1, 1, 1, BiggerThanCheckButton); + Grid2.AddControl(2, 1, 1, 1, BiggerThanEntry); + Grid2.AddControl(3, 1, 1, 1, BiggerThanComboBox); + Grid2.AddControl(5, 1, 1, 1, SmallerThanCheckButton); + Grid2.AddControl(6, 1, 1, 1, SmallerThanEntry); + Grid2.AddControl(7, 1, 1, 1, SmallerThanComboBox); + VBox := TGTKVBox.Create(Self); + VBox.MarginTop := 6; + VBox.MarginBottom := 6; + Grid2.AddControl(1, 3, 3, 1, VBox); + Grid2.AddControl(0, 4, 3, 1, Label5); + Grid2.AddControl(1, 5, 1, 1, ModifiedBetweenRadioButton); + Grid2.AddControl(4, 5, 1, 1, Label6); + Grid2.AddControl(1, 6, 1, 1, NotModifiedAfterRadioButton); + Grid2.AddControl(1, 7, 1, 1, ModifiedLastRadioButton); + Grid2.AddControl(2, 7, 1, 1, ModifiedLastSpinEdit); + Grid2.AddControl(3, 7, 1, 1, ModifiedLastComboBox); + Grid2.AddControl(4, 7, 2, 1, ModifiedNotLastRadionButton); + Grid2.AddControl(6, 7, 1, 1, ModifiedNotLastSpinEdit); + Grid2.AddControl(7, 7, 1, 1, ModifiedNotLastComboBox); BottomBox := TGTKVBox.Create(Self); @@ -356,7 +441,6 @@ begin FeedToListboxButton.Visible := True; StatusLabel := TGTKLabel.Create(Self); StatusLabel.XAlign := 0; - StatusLabel.XPadding := 0; StatusLabel.Caption := Format('<span weight="ultrabold">%s</span> %s', [LANGSearch_StatusSC, LANGSearch_Ready]); StatusLabel.UseMarkup := True; StatusLabel.SetSizeRequest(100, -1); @@ -373,12 +457,15 @@ begin BottomBox.AddControlEx(HBox2, False, False, 2); ClientArea.AddControlEx(BottomBox, True, True, 5); - FindButton := TGTKButton.CreateFromStock(Self, GTK_STOCK_FIND); + FindButton := TGTKButton.CreateFromIconName(Self, GTK_STOCK_FIND); + FindButton.Caption := 'Find'; FindButton.Default := True; - StopButton := TGTKButton.CreateFromStock(Self, GTK_STOCK_STOP); + StopButton := TGTKButton.CreateFromIconName(Self, GTK_STOCK_STOP); + StopButton.Caption := 'Stop'; StopButton.Visible := False; StopButton.Default := True; - CloseButton := TGTKButton.CreateFromStock(Self, GTK_STOCK_CLOSE); + CloseButton := TGTKButton.CreateFromIconName(Self, GTK_STOCK_CLOSE); + CloseButton.Caption := 'Close'; CloseButton.Default := True; Default := FindButton; ButtonBox := TGTKHButtonBox.Create(Self); @@ -461,23 +548,23 @@ end; procedure TFSearch.FormKeyDown(Sender: TObject; Key: Word; Shift: TShiftState; var Accept: boolean); begin case Key of - GDK_F3: if FileList.Focused and Assigned(FileList.Selected) then begin - Accept := False; - ViewButtonClick(Sender); - end; - GDK_RETURN, GDK_KP_ENTER: if FileList.Focused and Assigned(FileList.Selected) then begin - Accept := False; - GoToFileButtonClick(Sender); - end else - if FindButton.Visible then begin - FindButtonClick(Sender); - Accept := False; - end; - GDK_ESCAPE: begin + GDK_KEY_F3: if FileList.Focused and Assigned(FileList.Selected) then begin Accept := False; - if Processing then Stop := True - else ModalResult := mbCancel; + ViewButtonClick(Sender); end; + GDK_KEY_Return, GDK_KEY_KP_Enter: if FileList.Focused and Assigned(FileList.Selected) then begin + Accept := False; + GoToFileButtonClick(Sender); + end else + if FindButton.Visible then begin + FindButtonClick(Sender); + Accept := False; + end; + GDK_KEY_Escape: begin + Accept := False; + if Processing then Stop := True + else ModalResult := mbCancel; + end; end; end; @@ -488,23 +575,19 @@ begin s := Trim(FileMaskEntry.Entry.Text); if Length(s) > 0 then begin SaveItemToHistory(s, SearchHistory); - if FileMaskEntry.Items.Count > 0 then - for i := FileMaskEntry.Items.Count - 1 downto 0 do - FileMaskEntry.Items.Delete(i); + FileMaskEntry.ClearItems(); if SearchHistory.Count > 0 then for i := 0 to SearchHistory.Count - 1 do - FileMaskEntry.Items.Append(SearchHistory[i]); + FileMaskEntry.AppendItem(SearchHistory[i]); end; s := Trim(FindTextEntry.Entry.Text); if Length(s) > 0 then begin SaveItemToHistory(s, SearchTextHistory); - if FindTextEntry.Items.Count > 0 then - for i := FindTextEntry.Items.Count - 1 downto 0 do - FindTextEntry.Items.Delete(i); + FindTextEntry.ClearItems(); if SearchTextHistory.Count > 0 then for i := 0 to SearchTextHistory.Count - 1 do - FindTextEntry.Items.Append(SearchTextHistory[i]); + FindTextEntry.AppendItem(SearchTextHistory[i]); end; DoSearch; @@ -524,23 +607,17 @@ end; procedure TFSearch.BiggerThanCheckButtonToggled(Sender: TObject); begin BiggerThanEntry.Enabled := BiggerThanCheckButton.Checked; - BiggerThanOptionMenu.Enabled := BiggerThanCheckButton.Checked; + BiggerThanComboBox.Enabled := BiggerThanCheckButton.Checked; SmallerThanEntry.Enabled := SmallerThanCheckButton.Checked; - SmallerThanOptionMenu.Enabled := SmallerThanCheckButton.Checked; + SmallerThanComboBox.Enabled := SmallerThanCheckButton.Checked; Label6.Enabled := ModifiedBetweenRadioButton.Checked; ModifiedLastSpinEdit.Enabled := ModifiedLastRadioButton.Checked; - ModifiedLastOptionMenu.Enabled := ModifiedLastRadioButton.Checked; + ModifiedLastComboBox.Enabled := ModifiedLastRadioButton.Checked; ModifiedNotLastSpinEdit.Enabled := ModifiedNotLastRadionButton.Checked; - ModifiedNotLastOptionMenu.Enabled := ModifiedNotLastRadionButton.Checked; - if not FUseGnomeWidgets then begin - ModifiedBetweenEntry1.Enabled := ModifiedBetweenRadioButton.Checked; - ModifiedBetweenEntry2.Enabled := ModifiedBetweenRadioButton.Checked; - NotModifiedAfterEntry.Enabled := NotModifiedAfterRadioButton.Checked; - end else begin - ModifiedBetweenEntry1G.Enabled := ModifiedBetweenRadioButton.Checked; - ModifiedBetweenEntry2G.Enabled := ModifiedBetweenRadioButton.Checked; - NotModifiedAfterEntryG.Enabled := NotModifiedAfterRadioButton.Checked; - end; + ModifiedNotLastComboBox.Enabled := ModifiedNotLastRadionButton.Checked; + ModifiedBetweenEntry1.Enabled := ModifiedBetweenRadioButton.Checked; + ModifiedBetweenEntry2.Enabled := ModifiedBetweenRadioButton.Checked; + NotModifiedAfterEntry.Enabled := NotModifiedAfterRadioButton.Checked; end; procedure TFSearch.FileListSelectionChanged(Sender: TObject); @@ -628,13 +705,13 @@ var Orig, s: string; i: integer; begin case Key of - GDK_UP, GDK_DOWN: if Shift = [] then begin + GDK_KEY_Up, GDK_KEY_Down: if Shift = [] then begin Accept := False; if SearchHistory.Count > 0 then begin Orig := Trim(FileMaskEntry.Entry.Text); i := SearchHistory.IndexOf(Orig); - if Key = GDK_DOWN then begin + if Key = GDK_KEY_Down then begin if i < 0 then begin SavedData := Orig; i := 0; @@ -663,13 +740,13 @@ var Orig, s: string; i: integer; begin case Key of - GDK_UP, GDK_DOWN: if Shift = [] then begin + GDK_KEY_Up, GDK_KEY_Down: if Shift = [] then begin Accept := False; if SearchTextHistory.Count > 0 then begin Orig := Trim(FindTextEntry.Entry.Text); i := SearchTextHistory.IndexOf(Orig); - if Key = GDK_DOWN then begin + if Key = GDK_KEY_Down then begin if i < 0 then begin SavedData := Orig; i := 0; @@ -713,8 +790,8 @@ begin StatusLabel.UseMarkup := True; // Disable the UI - Table1.Enabled := False; - Table2.Enabled := False; + Grid1.Enabled := False; + Grid2.Enabled := False; // Clear the items FileList.Items.Clear; @@ -738,35 +815,26 @@ begin FSearchArchives := SearchArchivesCheckButton.Checked; if not BiggerThanCheckButton.Checked then FBiggerThan := -1 else begin i := StrToIntDef(BiggerThanEntry.Text, -1); - i := i * Trunc(Power(1024, BiggerThanOptionMenu.ItemIndex)); + i := i * Trunc(Power(1024, BiggerThanComboBox.ItemIndex)); FBiggerThan := i; end; if not SmallerThanCheckButton.Checked then FSmallerThan := -1 else begin i := StrToIntDef(SmallerThanEntry.Text, -1); - i := i * Trunc(Power(1024, SmallerThanOptionMenu.ItemIndex)); + i := i * Trunc(Power(1024, SmallerThanComboBox.ItemIndex)); FSmallerThan := i; end; FModifiedBetween1 := 0; FModifiedBetween2 := 0; FNotModifiedAfter := 0; - if not FUseGnomeWidgets then begin - if ModifiedBetweenRadioButton.Checked then begin - FModifiedBetween1 := StrTotimetDef(ModifiedBetweenEntry1.Text, 0); - FModifiedBetween2 := StrTotimetDef(ModifiedBetweenEntry2.Text, 0); - end; - if NotModifiedAfterRadioButton.Checked then - FNotModifiedAfter := StrTotimetDef(NotModifiedAfterEntry.Text, 0); - end else begin - if ModifiedBetweenRadioButton.Checked then begin - FModifiedBetween1 := ModifiedBetweenEntry1G.Time; - FModifiedBetween2 := ModifiedBetweenEntry2G.Time; - end; - if NotModifiedAfterRadioButton.Checked then - FNotModifiedAfter := NotModifiedAfterEntryG.Time; + if ModifiedBetweenRadioButton.Checked then begin + FModifiedBetween1 := StrTotimetDef(ModifiedBetweenEntry1.Text, 0); + FModifiedBetween2 := StrTotimetDef(ModifiedBetweenEntry2.Text, 0); end; + if NotModifiedAfterRadioButton.Checked then + FNotModifiedAfter := StrTotimetDef(NotModifiedAfterEntry.Text, 0); if not ModifiedLastRadioButton.Checked then FModifiedLast := -1 else begin i := StrToIntDef(ModifiedLastSpinEdit.Text, -1); - case ModifiedLastOptionMenu.ItemIndex of + case ModifiedLastComboBox.ItemIndex of 1: i := i * 7; // weeks 2: i := i * 30; // months 3: i := i * 365; // years @@ -775,7 +843,7 @@ begin end; if not ModifiedNotLastRadionButton.Checked then FModifiedNotLast := -1 else begin i := StrToIntDef(ModifiedNotLastSpinEdit.Text, -1); - case ModifiedNotLastOptionMenu.ItemIndex of + case ModifiedNotLastComboBox.ItemIndex of 1: i := i * 7; // weeks 2: i := i * 30; // months 3: i := i * 365; // years @@ -835,8 +903,8 @@ begin DebugMsg(['DoSearch: cannot change back to saved directory']); // Enable the UI - Table1.Enabled := True; - Table2.Enabled := True; + Grid1.Enabled := True; + Grid2.Enabled := True; end; end; |
