Nikolay Sivov : regedit: Sort each of top level branches separately.
Alexandre Julliard
julliard at winehq.org
Mon Feb 20 15:03:43 CST 2017
Module: wine
Branch: master
Commit: a9bae9629c7496724fa5ed7fac222441df082024
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a9bae9629c7496724fa5ed7fac222441df082024
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Feb 17 18:09:53 2017 +0300
regedit: Sort each of top level branches separately.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
programs/regedit/treeview.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/programs/regedit/treeview.c b/programs/regedit/treeview.c
index d07399d..378657d 100644
--- a/programs/regedit/treeview.c
+++ b/programs/regedit/treeview.c
@@ -461,6 +461,17 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
return TRUE;
}
+static void treeview_sort_item(HWND hWnd, HTREEITEM item)
+{
+ HTREEITEM child = (HTREEITEM)SendMessageW(hWnd, TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)item);
+
+ while (child != NULL) {
+ treeview_sort_item(hWnd, child);
+ child = (HTREEITEM)SendMessageW(hWnd, TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)child);
+ }
+ SendMessageW(hWnd, TVM_SORTCHILDREN, 0, (LPARAM)item);
+}
+
BOOL RefreshTreeView(HWND hwndTV)
{
HTREEITEM hItem;
@@ -477,12 +488,12 @@ BOOL RefreshTreeView(HWND hwndTV)
hItem = (HTREEITEM)SendMessageW(hwndTV, TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)hRoot);
while (hItem) {
RefreshTreeItem(hwndTV, hItem);
+ treeview_sort_item(hwndTV, hItem);
hItem = (HTREEITEM)SendMessageW(hwndTV, TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)hItem);
}
SendMessageW(hwndTV, WM_SETREDRAW, TRUE, 0);
InvalidateRect(hwndTV, NULL, FALSE);
- SendMessageW(hwndTV, TVM_SORTCHILDREN, TRUE, (LPARAM)hSelectedItem);
SetCursor(hcursorOld);
/* We reselect the currently selected node, this will prompt a refresh of the listview. */
More information about the wine-cvs
mailing list