Skip to content

Commit 44ce352

Browse files
committed
feat: add "Display" main menu, move some spread items there, and add two items for toggling log panel and tree filters
Refs #1891
1 parent 85dd984 commit 44ce352

File tree

3 files changed

+102
-26
lines changed

3 files changed

+102
-26
lines changed

source/apphelpers.pas

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ TWinControlHelper = class helper for TWinControl
236236
asCreateDbCollation, asRealTrailingZeros,
237237
asSequalSuggestWindowWidth, asSequalSuggestWindowHeight, asSequalSuggestPrompt, asSequalSuggestRecentPrompts,
238238
asReformatter, asReformatterNoDialog, asAlwaysGenerateFilter,
239-
asGenerateDataNumRows, asGenerateDataNullAmount, asWebOnceAction,
239+
asGenerateDataNumRows, asGenerateDataNullAmount, asWebOnceAction, asDisplayLogPanel, asDisplayTreeFilters,
240240
asUnused);
241241
TAppSetting = record
242242
Name: String;
@@ -4112,6 +4112,8 @@ constructor TAppSettings.Create;
41124112
InitSetting(asRowBackgroundOdd, 'RowBackgroundOdd', clNone);
41134113
InitSetting(asGroupTreeObjects, 'GroupTreeObjects', 0, False);
41144114
InitSetting(asDisplayObjectSizeColumn, 'DisplayObjectSizeColumn', 0, True);
4115+
InitSetting(asDisplayLogPanel, 'DisplayLogPanel', 0, True);
4116+
InitSetting(asDisplayTreeFilters, 'DisplayTreeFilters', 0, True);
41154117
InitSetting(asActionShortcut1, 'Shortcut1_%s', 0);
41164118
InitSetting(asActionShortcut2, 'Shortcut2_%s', 0);
41174119
InitSetting(asHighlighterForeground, 'SQL Attr %s Foreground', 0);

source/main.dfm

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1886,10 +1886,35 @@ object MainForm: TMainForm
18861886
object Inverseselection1: TMenuItem
18871887
Action = actSelectInverse
18881888
end
1889-
object actFindInVT1: TMenuItem
1889+
end
1890+
object MainMenuDisplay: TMenuItem
1891+
Caption = 'Display'
1892+
object menuDisplaysizeofobjects1: TMenuItem
1893+
Action = actDisplayObjectSize
1894+
AutoCheck = True
1895+
end
1896+
object menuShowonlyfavorites1: TMenuItem
1897+
Action = actFavoriteObjectsOnly
1898+
AutoCheck = True
1899+
end
1900+
object menuFilterpanel1: TMenuItem
18901901
Action = actFilterPanel
18911902
AutoCheck = True
18921903
end
1904+
object menuDisplayLogPanel1: TMenuItem
1905+
Action = actDisplayLogPanel
1906+
AutoCheck = True
1907+
end
1908+
object menuTreefilters1: TMenuItem
1909+
Action = actDisplayTreeFilters
1910+
AutoCheck = True
1911+
end
1912+
object N27: TMenuItem
1913+
Caption = '-'
1914+
end
1915+
object menuResetpaneldimensions1: TMenuItem
1916+
Action = actResetPanelDimensions
1917+
end
18931918
end
18941919
object MainMenuSearch: TMenuItem
18951920
Caption = 'Search'
@@ -2056,9 +2081,6 @@ object MainForm: TMainForm
20562081
object N4: TMenuItem
20572082
Caption = '-'
20582083
end
2059-
object Resetpaneldimensions1: TMenuItem
2060-
Action = actResetPanelDimensions
2061-
end
20622084
object MenuPreferences: TMenuItem
20632085
Action = actPreferences
20642086
end
@@ -2831,7 +2853,6 @@ object MainForm: TMainForm
28312853
AutoCheck = True
28322854
Caption = 'Filter panel'
28332855
Hint = 'Activates the filter panel'
2834-
ImageIndex = 30
28352856
ImageName = 'icons8-find'
28362857
ShortCut = 49222
28372858
OnExecute = actFilterPanelExecute
@@ -3386,6 +3407,24 @@ object MainForm: TMainForm
33863407
ImageIndex = 57
33873408
OnExecute = actQueryTableExecute
33883409
end
3410+
object actDisplayObjectSize: TAction
3411+
Category = 'Various'
3412+
AutoCheck = True
3413+
Caption = 'Display size of objects'
3414+
OnExecute = actDisplayObjectSizeExecute
3415+
end
3416+
object actDisplayLogPanel: TAction
3417+
Category = 'Various'
3418+
AutoCheck = True
3419+
Caption = 'Log panel'
3420+
OnExecute = actDisplayLogPanelExecute
3421+
end
3422+
object actDisplayTreeFilters: TAction
3423+
Category = 'Various'
3424+
AutoCheck = True
3425+
Caption = 'Tree filters'
3426+
OnExecute = actDisplayTreeFiltersExecute
3427+
end
33893428
end
33903429
object menuConnections: TPopupMenu
33913430
AutoHotkeys = maManual
@@ -3499,8 +3538,8 @@ object MainForm: TMainForm
34993538
AutoCheck = True
35003539
end
35013540
object menuShowSizeColumn: TMenuItem
3502-
Caption = 'Display size of objects'
3503-
OnClick = menuShowSizeColumnClick
3541+
Action = actDisplayObjectSize
3542+
AutoCheck = True
35043543
end
35053544
object menuAutoExpand: TMenuItem
35063545
Caption = 'Auto expand on click'

source/main.pas

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,6 @@ TMainForm = class(TExtForm)
503503
pnlRight: TPanel;
504504
btnCloseFilterPanel: TSpeedButton;
505505
actFilterPanel: TAction;
506-
actFindInVT1: TMenuItem;
507506
TimerFilterVT: TTimer;
508507
actFindTextOnServer: TAction;
509508
actFindTextOnServer1: TMenuItem;
@@ -789,7 +788,6 @@ TMainForm = class(TExtForm)
789788
ToolBarDonate: TToolBar;
790789
btnDonate: TToolButton;
791790
actResetPanelDimensions: TAction;
792-
Resetpaneldimensions1: TMenuItem;
793791
popupApplyFilter: TPopupMenu;
794792
menuAlwaysGenerateFilter: TMenuItem;
795793
actGenerateData: TAction;
@@ -799,6 +797,17 @@ TMainForm = class(TExtForm)
799797
actCopyGridNodes1: TMenuItem;
800798
actQueryTable: TAction;
801799
Selecttop1000rows1: TMenuItem;
800+
MainMenuDisplay: TMenuItem;
801+
actDisplayObjectSize: TAction;
802+
menuDisplaysizeofobjects1: TMenuItem;
803+
menuShowonlyfavorites1: TMenuItem;
804+
menuFilterpanel1: TMenuItem;
805+
menuResetpaneldimensions1: TMenuItem;
806+
actDisplayLogPanel: TAction;
807+
actDisplayTreeFilters: TAction;
808+
menuDisplayLogPanel1: TMenuItem;
809+
menuTreefilters1: TMenuItem;
810+
N27: TMenuItem;
802811
procedure actCreateDBObjectExecute(Sender: TObject);
803812
procedure menuConnectionsPopup(Sender: TObject);
804813
procedure actExitApplicationExecute(Sender: TObject);
@@ -957,7 +966,7 @@ TMainForm = class(TExtForm)
957966
procedure AnyGridAfterCellPaint(Sender: TBaseVirtualTree;
958967
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
959968
CellRect: TRect);
960-
procedure menuShowSizeColumnClick(Sender: TObject);
969+
procedure actDisplayObjectSizeExecute(Sender: TObject);
961970
procedure AnyGridBeforeCellPaint(Sender: TBaseVirtualTree;
962971
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
963972
CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
@@ -1202,6 +1211,8 @@ TMainForm = class(TExtForm)
12021211
var HintText: string);
12031212
procedure actCopyGridNodesExecute(Sender: TObject);
12041213
procedure actQueryTableExecute(Sender: TObject);
1214+
procedure actDisplayLogPanelExecute(Sender: TObject);
1215+
procedure actDisplayTreeFiltersExecute(Sender: TObject);
12051216
private
12061217
// Executable file details
12071218
FAppVerMajor, FAppVerMinor, FAppVerRelease, FAppVerRevision: Word;
@@ -2073,10 +2084,14 @@ procedure TMainForm.FormCreate(Sender: TObject);
20732084
DataGridTable := nil;
20742085
FActiveDbObj := nil;
20752086

2076-
// Database tree options
2087+
// Display options, and database tree options
20772088
actGroupObjects.Checked := AppSettings.ReadBool(asGroupTreeObjects);
2078-
if AppSettings.ReadBool(asDisplayObjectSizeColumn) then
2079-
menuShowSizeColumn.Click;
2089+
actDisplayObjectSize.Checked := AppSettings.ReadBool(asDisplayObjectSizeColumn);
2090+
actDisplayObjectSizeExecute(nil);
2091+
actDisplayLogPanel.Checked := AppSettings.ReadBool(asDisplayLogPanel);
2092+
actDisplayLogPanelExecute(nil);
2093+
actDisplayTreeFilters.Checked := AppSettings.ReadBool(asDisplayTreeFilters);
2094+
actDisplayTreeFiltersExecute(nil);
20802095
if AppSettings.ReadBool(asAutoExpand) then
20812096
menuAutoExpand.Click;
20822097
if AppSettings.ReadBool(asDoubleClickInsertsNodeText) then
@@ -11114,20 +11129,43 @@ procedure TMainForm.AnyGridCreateEditor(Sender: TBaseVirtualTree; Node:
1111411129
end;
1111511130

1111611131

11117-
procedure TMainForm.menuShowSizeColumnClick(Sender: TObject);
11132+
procedure TMainForm.actDisplayLogPanelExecute(Sender: TObject);
11133+
begin
11134+
if actDisplayLogPanel.Checked then begin
11135+
SynMemoSQLLog.Visible := True;
11136+
spltTopBottom.Visible := True;
11137+
// ensure z-order: top panel, splitter, memo
11138+
spltTopBottom.BringToFront;
11139+
SynMemoSQLLog.BringToFront;
11140+
end
11141+
else begin
11142+
spltTopBottom.Visible := False;
11143+
SynMemoSQLLog.Visible := False;
11144+
end;
11145+
AppSettings.ResetPath;
11146+
AppSettings.WriteBool(asDisplayLogPanel, actDisplayLogPanel.Checked);
11147+
end;
11148+
11149+
procedure TMainForm.actDisplayObjectSizeExecute(Sender: TObject);
1111811150
var
11119-
Item: TMenuItem;
11151+
ColOptions: TVTColumnOptions;
1112011152
begin
11121-
if coVisible in DBtree.Header.Columns[1].Options then
11122-
DBtree.Header.Columns[1].Options := DBtree.Header.Columns[1].Options - [coVisible]
11153+
ColOptions := DBtree.Header.Columns[1].Options;
11154+
if actDisplayObjectSize.Checked then
11155+
ColOptions := ColOptions + [coVisible]
1112311156
else
11124-
DBtree.Header.Columns[1].Options := DBtree.Header.Columns[1].Options + [coVisible];
11125-
Item := Sender as TMenuItem;
11126-
Item.Checked := coVisible in DBtree.Header.Columns[1].Options;
11157+
ColOptions := ColOptions - [coVisible];
11158+
DBtree.Header.Columns[1].Options := ColOptions;
1112711159
AppSettings.ResetPath;
11128-
AppSettings.WriteBool(asDisplayObjectSizeColumn, Item.Checked);
11160+
AppSettings.WriteBool(asDisplayObjectSizeColumn, actDisplayObjectSize.Checked);
1112911161
end;
1113011162

11163+
procedure TMainForm.actDisplayTreeFiltersExecute(Sender: TObject);
11164+
begin
11165+
ToolBarTree.Visible := actDisplayTreeFilters.Checked;
11166+
AppSettings.ResetPath;
11167+
AppSettings.WriteBool(asDisplayTreeFilters, actDisplayTreeFilters.Checked);
11168+
end;
1113111169

1113211170
procedure TMainForm.menuAlwaysGenerateFilterClick(Sender: TObject);
1113311171
begin
@@ -12768,10 +12806,7 @@ procedure TMainForm.actFavoriteObjectsOnlyExecute(Sender: TObject);
1276812806
begin
1276912807
// Click on "tree favorites" main button
1277012808
editDatabaseTableFilterChange(Sender);
12771-
if actFavoriteObjectsOnly.Checked then
12772-
actFavoriteObjectsOnly.ImageIndex := 112
12773-
else
12774-
actFavoriteObjectsOnly.ImageIndex := 113;
12809+
actFavoriteObjectsOnly.ImageIndex := IfThen(actFavoriteObjectsOnly.Checked, 112, 113);
1277512810
end;
1277612811

1277712812

0 commit comments

Comments
 (0)