mirror of
https://github.com/reactos/reactos.git
synced 2026-07-01 06:14:25 +08:00
[COMCTL32] Fix shift-selecting files not working as expected in small/large icons views (#7729)
CORE-10386 Fixes the behavior when selecting multiple files in a folder with the Shift key, while using either the Large Icons or Small Icons view, so that it is consistent with how it works on Windows. Proposed changes: Disable the specialized code for these views in LISTVIEW_SetGroupSelection, using the same code as for the list and details views, which also works fine for them.
This commit is contained in:
@@ -3725,8 +3725,10 @@ static void LISTVIEW_SetGroupSelection(LISTVIEW_INFO *infoPtr, INT nItem)
|
||||
item.state = LVIS_SELECTED;
|
||||
item.stateMask = LVIS_SELECTED;
|
||||
|
||||
#ifndef __REACTOS__
|
||||
if ((infoPtr->uView == LV_VIEW_LIST) || (infoPtr->uView == LV_VIEW_DETAILS))
|
||||
{
|
||||
#endif
|
||||
if (infoPtr->nSelectionMark == -1)
|
||||
{
|
||||
infoPtr->nSelectionMark = nItem;
|
||||
@@ -3740,6 +3742,7 @@ static void LISTVIEW_SetGroupSelection(LISTVIEW_INFO *infoPtr, INT nItem)
|
||||
sel.upper = max(infoPtr->nSelectionMark, nItem) + 1;
|
||||
ranges_add(selection, sel);
|
||||
}
|
||||
#ifndef __REACTOS__
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3765,6 +3768,7 @@ static void LISTVIEW_SetGroupSelection(LISTVIEW_INFO *infoPtr, INT nItem)
|
||||
}
|
||||
iterator_destroy(&i);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* disable per item notifications on LVS_OWNERDATA style
|
||||
FIXME: single LVN_ODSTATECHANGED should be used */
|
||||
|
||||
Reference in New Issue
Block a user