Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28786 Signed-off-by: Nikolay Sivov nsivov@codeweavers.com ---
I don't see behaviour mentioned in removed comment. By default expand buttons are hidden, that's controlled by NSTCS_HASEXPANDOS style. Once visible single click on the button expands/collapses, and double click on the label does the same. Additional flag NSTCS_SINGLECLICKEXPAND controls label clicks, enabling single click there. That maps directly to TreeView styles, requiring no fixups in notification handlers.
dlls/explorerframe/nstc.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/dlls/explorerframe/nstc.c b/dlls/explorerframe/nstc.c index 0abaded85a6..b1ecace5fae 100644 --- a/dlls/explorerframe/nstc.c +++ b/dlls/explorerframe/nstc.c @@ -678,7 +678,7 @@ static LRESULT on_nm_click(NSTC2Impl *This, NMHDR *nmhdr) { TVHITTESTINFO tvhit; IShellItem *psi; - HRESULT hr; + TRACE("%p (%p)\n", This, nmhdr);
GetCursorPos(&tvhit.pt); @@ -690,17 +690,7 @@ static LRESULT on_nm_click(NSTC2Impl *This, NMHDR *nmhdr)
/* TVHT_ maps onto the corresponding NSTCEHT_ */ psi = shellitem_from_treeitem(This, tvhit.hItem); - hr = events_OnItemClick(This, psi, tvhit.flags, NSTCECT_LBUTTON); - - /* The expando should not be expanded unless - * double-clicked. */ - if(tvhit.flags == TVHT_ONITEMBUTTON) - return TRUE; - - if(SUCCEEDED(hr)) - return FALSE; - else - return TRUE; + return FAILED(events_OnItemClick(This, psi, tvhit.flags, NSTCECT_LBUTTON)); }
static LRESULT on_wm_mbuttonup(NSTC2Impl *This, WPARAM wParam, LPARAM lParam)