Skip to content

Commit 93dc936

Browse files
committed
feat: sort session folders at top per setting
Refs: #1828
1 parent db902f7 commit 93dc936

File tree

3 files changed

+1795
-1751
lines changed

3 files changed

+1795
-1751
lines changed

source/apphelpers.pas

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ TWinControlHelper = class helper for TWinControl
203203
asTableToolsFindTextTab, asTableToolsFindText, asTableToolsFindSQL, asTableToolsDatatype, asTableToolsFindCaseSensitive, asTableToolsFindMatchType, asFileImportWindowWidth, asFileImportWindowHeight,
204204
asEditVarWindowWidth, asEditVarWindowHeight, asUsermanagerWindowWidth, asUsermanagerWindowHeight, asUsermanagerListWidth,
205205
asSelectDBOWindowWidth, asSelectDBOWindowHeight,
206-
asSessionManagerListWidth, asSessionManagerWindowWidth, asSessionManagerWindowHeight, asSessionManagerWindowLeft, asSessionManagerWindowTop,
206+
asSessionManagerListWidth, asSessionManagerListFoldersAtTop, asSessionManagerWindowWidth, asSessionManagerWindowHeight, asSessionManagerWindowLeft, asSessionManagerWindowTop,
207207
asCopyTableWindowHeight, asCopyTableWindowWidth, asCopyTableColumns, asCopyTableKeys, asCopyTableForeignKeys,
208208
asCopyTableData, asCopyTableRecentFilter, asServerVersion, asServerVersionFull, asLastConnect,
209209
asConnectCount, asRefusedCount, asSessionCreated, asDoUsageStatistics,
@@ -2192,7 +2192,7 @@ function CompareAnyNode(Text1, Text2: String): Integer;
21922192
end;
21932193
if (not NumberMode) or (Result=0) then begin
21942194
// Compare Strings
2195-
Result := CompareText(Text1, Text2);
2195+
Result := CompareText(Text1, Text2, loUserLocale);
21962196
end;
21972197
end;
21982198

@@ -3855,6 +3855,7 @@ constructor TAppSettings.Create;
38553855
InitSetting(asSelectDBOWindowWidth, 'SelectDBO_WindowWidth', 250);
38563856
InitSetting(asSelectDBOWindowHeight, 'SelectDBO_WindowHeight', 350);
38573857
InitSetting(asSessionManagerListWidth, 'SessionManager_ListWidth', 220);
3858+
InitSetting(asSessionManagerListFoldersAtTop, 'SessionManager_ListFoldersAtTop', 0, True);
38583859
InitSetting(asSessionManagerWindowWidth, 'SessionManager_WindowWidth', 700);
38593860
InitSetting(asSessionManagerWindowHeight, 'SessionManager_WindowHeight', 490);
38603861
InitSetting(asSessionManagerWindowLeft, 'SessionManager_WindowLeft', 50);

source/connections.lfm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,7 @@ object connform: Tconnform
11031103
TreeOptions.PaintOptions = [toHotTrack, toShowButtons, toShowDropmark, toShowRoot, toShowTreeLines, toThemeAware, toUseBlendedImages, toUseExplorerTheme, toHideTreeLinesIfThemed]
11041104
TreeOptions.SelectionOptions = [toFullRowSelect, toRightClickSelect]
11051105
OnBeforeCellPaint = ListSessionsBeforeCellPaint
1106+
OnCompareNodes = ListSessionsCompareNodes
11061107
OnCreateEditor = ListSessionsCreateEditor
11071108
OnFocusChanged = ListSessionsFocusChanged
11081109
OnFocusChanging = ListSessionsFocusChanging
@@ -1248,6 +1249,11 @@ object connform: Tconnform
12481249
object Filter1: TMenuItem
12491250
Action = actFilter
12501251
end
1252+
object menuFoldersAtTop: TMenuItem
1253+
AutoCheck = True
1254+
Caption = 'Folders at top'
1255+
OnClick = menuFoldersAtTopClick
1256+
end
12511257
end
12521258
object TimerStatistics: TTimer
12531259
Interval = 60000

0 commit comments

Comments
 (0)