diff --git a/res/icons/table_sort.png b/res/icons/table_sort.png new file mode 100644 index 00000000..ed6785a6 Binary files /dev/null and b/res/icons/table_sort.png differ diff --git a/source/data_sorting.dfm b/source/data_sorting.dfm index 8e9a99d0..07295591 100644 --- a/source/data_sorting.dfm +++ b/source/data_sorting.dfm @@ -3,7 +3,7 @@ object DataSortingForm: TDataSortingForm Top = 0 BorderStyle = bsNone Caption = 'DataSortingForm' - ClientHeight = 63 + ClientHeight = 97 ClientWidth = 204 Color = clBtnFace Font.Charset = DEFAULT_CHARSET @@ -22,16 +22,16 @@ object DataSortingForm: TDataSortingForm Left = 0 Top = 0 Width = 204 - Height = 63 + Height = 97 Align = alClient BorderWidth = 3 TabOrder = 0 DesignSize = ( 204 - 63) + 97) object btnOK: TButton Left = 3 - Top = 34 + Top = 68 Width = 60 Height = 25 Anchors = [akLeft, akBottom] @@ -44,7 +44,7 @@ object DataSortingForm: TDataSortingForm end object btnCancel: TButton Left = 68 - Top = 34 + Top = 68 Width = 60 Height = 25 Anchors = [akLeft, akBottom] @@ -56,7 +56,7 @@ object DataSortingForm: TDataSortingForm end object btnAddCol: TButton Left = 134 - Top = 34 + Top = 68 Width = 60 Height = 25 Anchors = [akLeft, akBottom] @@ -64,5 +64,16 @@ object DataSortingForm: TDataSortingForm TabOrder = 2 OnClick = btnAddColClick end + object btnReset: TButton + Left = 69 + Top = 39 + Width = 125 + Height = 25 + Anchors = [akRight, akBottom] + Caption = 'Reset sorting' + ModalResult = 2 + TabOrder = 3 + OnClick = btnResetClick + end end end diff --git a/source/data_sorting.pas b/source/data_sorting.pas index 75863182..d01f2b2b 100644 --- a/source/data_sorting.pas +++ b/source/data_sorting.pas @@ -14,6 +14,7 @@ type btnOK: TButton; btnCancel: TButton; btnAddCol: TButton; + btnReset: TButton; procedure btnAddColClick(Sender: TObject); procedure btnCancelClick(Sender: TObject); procedure btnOKClick(Sender: TObject); @@ -21,6 +22,7 @@ type procedure FormDeactivate(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); + procedure btnResetClick(Sender: TObject); private { Private declarations } ColumnNames : TWideStringList; @@ -178,7 +180,7 @@ begin Height := (pnlBevel.BorderWidth * 2) + // Top + Bottom border (MARGIN_BIG * 2) + // Separator spaces (Length(OrderColumns) * (LINE_HEIGHT + MARGIN)) + // Height of created controls - (btnOK.Height + MARGIN); // Height of buttons + (btnOK.Height + MARGIN + btnReset.Height + Margin); // Height of buttons Width := xPosition + pnlBevel.BorderWidth; // Auto-adjust width and position of main buttons at bottom @@ -190,6 +192,9 @@ begin btnCancel.Left := btnOK.Left + btnWidth + MARGIN; btnAddCol.Width := btnWidth; btnAddCol.Left := btnCancel.Left + btnWidth + MARGIN; + btnReset.Left := btnCancel.Left; + btnReset.Width := 2*btnWidth + MARGIN; + btnReset.Enabled := Mainform.actDataResetSorting.Enabled; end; @@ -346,4 +351,11 @@ begin end; +procedure TDataSortingForm.btnResetClick(Sender: TObject); +begin + Mainform.actDataResetSortingExecute(Sender); + btnCancel.OnClick(Sender); +end; + + end. diff --git a/source/main.dfm b/source/main.dfm index d028a720..8558d145 100644 --- a/source/main.dfm +++ b/source/main.dfm @@ -2266,6 +2266,13 @@ object MainForm: TMainForm ShortCut = 16467 OnExecute = actSaveSQLExecute end + object actDataResetSorting: TAction + Category = 'Data' + Caption = 'Reset sorting' + ImageIndex = 139 + ShortCut = 32851 + OnExecute = actDataResetSortingExecute + end end object SaveDialog2: TSaveDialog DefaultExt = 'reg' @@ -6114,6 +6121,35 @@ object MainForm: TMainForm 2189F0361D408C0000000049454E44AE426082} Name = 'PngImage138' Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000001974455874536F6674776172650041646F626520496D616765526561 + 647971C9653C000002984944415478DA95526D485351187ECE98DB9A45B5D430 + C7A81FE6282BD70F57B382EC431DFB111205825090414145913F4C56F44341CA + 600E0C4A49F247F92330C23E302B695438D086A5BBA4574656CA862EDDC0BCF7 + EE74EE9DD76418D40B2FCFE1BCE779DE73DEE790FBBDD3572945954413E64422 + 01290188324AF29A4264F82725482265FB097F7D656E215890B63753E1A3F655 + 19F88FB8F670E4D7CD13568322D0FA2A428FEF5E8D4EBE8D7516591711024341 + 12922832647B6AADC6518F2BED1C3C555B892270E765985614AD41BA41FB4FDD + E37322AAEF0DA1F9CCF6A4C0ED1793B4729F098FFD537F2569A518F4B31CE656 + 58E0DA93870B7707D172CE9614F03EFD414FEECF50042AF666A1C33789634559 + 88C5620AB9FB631886D920F2F3F3110804B079CB0E78BB422830723B05411823 + B79E7CA3A70E64E2D9C03434324343A09F8F609D769A392181328B2C160BCC66 + 33C6C7C7C1711CE2F1384451C4C4C4440FB9D1F9959E3EBC1E2F07A3282FCC44 + 675F182B6702B0DBED301A8D90AD5553165B7C96568BA6A62690FA47217AB624 + 1BBDC35110B250FDFE014EA753E9A21253312D2D0D1E8F07E47AC7183DEFDC80 + F75F7EA2CC9689EE400431FE2D5C2E17D81B9725CBA8D7EBD1D8D808E27E304A + 2FB9CCE81B9D817A81E8880F65250795752A515DCB020D0D0D2035ED1CAD3EB2 + 1103633328DE9681D79F2298E5DFC1E1702887D441A6DEC26030A0AEAE0EE472 + DB30AD29DFB4F0EF937FDFD7D385D29243D0E9748A803A0BC5248DE29522EE76 + BB2572B175C8270A52C1BC944817440972E6EA78ECCA5BAB906401ABD50A93C9 + 84502884FEFEFE451B799E6F264BAD51C3EBF566B303A5F210596A7272725A6C + 361BFC7E3F82C1A08BD5A2B230CBCFCB0AA4466D6D6D3123F5B02C63937FBEB4 + F61B7C1AB23D0419EE3D0000000049454E44AE426082} + Name = 'PngImage139' + Background = clWindow end> PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] Left = 104 @@ -6316,6 +6352,9 @@ object MainForm: TMainForm object N6a: TMenuItem Caption = '-' end + object Resetsorting1: TMenuItem + Action = actDataResetSorting + end object QuickFilter1: TMenuItem Caption = 'Quick Filter' ImageIndex = 53 diff --git a/source/main.pas b/source/main.pas index 984db861..6e28ba65 100644 --- a/source/main.pas +++ b/source/main.pas @@ -446,6 +446,8 @@ type Bulktableeditor1: TMenuItem; actSelectInverse: TAction; Inverseselection1: TMenuItem; + actDataResetSorting: TAction; + Resetsorting1: TMenuItem; procedure refreshMonitorConfig; procedure loadWindowConfig; procedure saveWindowConfig; @@ -705,6 +707,7 @@ type procedure actSelectInverseExecute(Sender: TObject); procedure FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); + procedure actDataResetSortingExecute(Sender: TObject); private ReachedEOT : Boolean; FDelimiter: String; @@ -7294,6 +7297,7 @@ var begin OpenRegistry; MainReg.OpenKey(GetRegKeyTable, True); + actDataResetSorting.Enabled := False; // Clear filter, column names and sort structure if gr if not Assigned(FDataGridSelect) then FDataGridSelect := TWideStringlist.Create; @@ -7377,6 +7381,7 @@ begin if not rx.ExecNext then break; end; + actDataResetSorting.Enabled := Length(FDataGridSort) > 0; end; end; @@ -8860,5 +8865,12 @@ begin end; +procedure TMainForm.actDataResetSortingExecute(Sender: TObject); +begin + SetLength(FDataGridSort, 0); + viewdata(Sender); +end; + + end.