From bf63fb3f39b03ce304a2a266b2fef9648f50fed8 Mon Sep 17 00:00:00 2001 From: wj32 Date: Mon, 1 Nov 2010 01:02:56 +0000 Subject: [PATCH] save service list sorting git-svn-id: svn://svn.code.sf.net/p/processhacker/code@3819 21ef857c-d57f-4fe0-8362-d861dc6d29cd --- 2.x/trunk/ProcessHacker/mainwnd.c | 7 +++++-- 2.x/trunk/ProcessHacker/settings.c | 2 ++ 2.x/trunk/ProcessHacker/srvlist.c | 26 +++++++++++--------------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/2.x/trunk/ProcessHacker/mainwnd.c b/2.x/trunk/ProcessHacker/mainwnd.c index 699ff9fce..b2d0e5cb0 100644 --- a/2.x/trunk/ProcessHacker/mainwnd.c +++ b/2.x/trunk/ProcessHacker/mainwnd.c @@ -2002,7 +2002,7 @@ VOID PhpInitialLoadSettings() NotifyIconNotifyMask = PhGetIntegerSetting(L"IconNotifyMask"); PhLoadSettingsProcessTreeList(); - PhLoadSettingsServiceTreeList(); + // Service list settings are loaded on demand. PhLoadListViewColumnsFromSetting(L"NetworkListViewColumns", NetworkListViewHandle); } @@ -2094,7 +2094,8 @@ VOID PhpSaveAllSettings() PH_RECTANGLE windowRectangle; PhSaveSettingsProcessTreeList(); - PhSaveSettingsServiceTreeList(); + if (ServiceTreeListLoaded) + PhSaveSettingsServiceTreeList(); PhSaveListViewColumnsToSetting(L"NetworkListViewColumns", NetworkListViewHandle); PhSetIntegerSetting(L"IconMask", NotifyIconMask); @@ -2173,6 +2174,8 @@ VOID PhpNeedServiceTreeList() { ServiceTreeListLoaded = TRUE; + PhLoadSettingsServiceTreeList(); + if (ServicesPendingList) { PPH_SERVICE_ITEM serviceItem; diff --git a/2.x/trunk/ProcessHacker/settings.c b/2.x/trunk/ProcessHacker/settings.c index 21994a50a..7aacbd50f 100644 --- a/2.x/trunk/ProcessHacker/settings.c +++ b/2.x/trunk/ProcessHacker/settings.c @@ -120,6 +120,8 @@ VOID PhSettingsInitialization() PhpAddStringSetting(L"SearchEngine", L"http://www.google.com/search?q=\"%s\""); PhpAddStringSetting(L"ServiceListViewColumns", L""); PhpAddStringSetting(L"ServiceTreeListColumns", L""); + PhpAddIntegerSetting(L"ServiceTreeListSortColumn", L"0"); + PhpAddIntegerSetting(L"ServiceTreeListSortOrder", L"1"); // AscendingSortOrder PhpAddIntegerSetting(L"StartHidden", L"0"); PhpAddIntegerSetting(L"SysInfoWindowAlwaysOnTop", L"0"); PhpAddIntegerSetting(L"SysInfoWindowOneGraphPerCpu", L"0"); diff --git a/2.x/trunk/ProcessHacker/srvlist.c b/2.x/trunk/ProcessHacker/srvlist.c index 7fd2a4b00..c8c00a3f5 100644 --- a/2.x/trunk/ProcessHacker/srvlist.c +++ b/2.x/trunk/ProcessHacker/srvlist.c @@ -127,30 +127,26 @@ VOID PhInitializeServiceTreeList( VOID PhLoadSettingsServiceTreeList() { - //ULONG sortColumn; - //PH_SORT_ORDER sortOrder; + ULONG sortColumn; + PH_SORT_ORDER sortOrder; PhLoadTreeListColumnsFromSetting(L"ServiceTreeListColumns", ServiceTreeListHandle); - //sortOrder = PhGetIntegerSetting(L"ServiceTreeListSortOrder"); - - //if (sortOrder != NoSortOrder) - //{ - // sortColumn = PhGetIntegerSetting(L"ServiceTreeListSortColumn"); - // TreeList_SetSort(ServiceTreeListHandle, sortColumn, sortOrder); - //} + sortOrder = PhGetIntegerSetting(L"ServiceTreeListSortOrder"); + sortColumn = PhGetIntegerSetting(L"ServiceTreeListSortColumn"); + TreeList_SetSort(ServiceTreeListHandle, sortColumn, sortOrder); } VOID PhSaveSettingsServiceTreeList() { - //ULONG sortColumn; - //PH_SORT_ORDER sortOrder; + ULONG sortColumn; + PH_SORT_ORDER sortOrder; PhSaveTreeListColumnsToSetting(L"ServiceTreeListColumns", ServiceTreeListHandle); - //TreeList_GetSort(ServiceTreeListHandle, &sortColumn, &sortOrder); - //PhSetIntegerSetting(L"ServiceTreeListSortColumn", sortColumn); - //PhSetIntegerSetting(L"ServiceTreeListSortOrder", sortOrder); + TreeList_GetSort(ServiceTreeListHandle, &sortColumn, &sortOrder); + PhSetIntegerSetting(L"ServiceTreeListSortColumn", sortColumn); + PhSetIntegerSetting(L"ServiceTreeListSortOrder", sortOrder); } PPH_SERVICE_NODE PhAddServiceNode( @@ -614,7 +610,7 @@ BOOLEAN NTAPI PhpServiceTreeListCallback( TreeList_GetColumn(ServiceTreeListHandle, &column); if (!column.Visible) - TreeList_SetSort(ServiceTreeListHandle, 0, NoSortOrder); + TreeList_SetSort(ServiceTreeListHandle, 0, AscendingSortOrder); } }