summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2023-03-28 14:14:31 +0300
committerGeorge Hazan <ghazan@miranda.im>2023-03-28 14:14:31 +0300
commit3986f667cb0f3fffeaee637dcee097b582e240ca (patch)
tree5d764d800adad5a18cda818bd14599b1538e765a /src
parent4e37d6e13611fb0a27aa35f0c06f221a37cf56f1 (diff)
CCtrlTreeView: OnBeginDrag / OnEndDrag callbacks became boolean
Diffstat (limited to 'src')
-rw-r--r--src/mir_app/src/menu_options.cpp6
-rw-r--r--src/mir_core/src/Windows/CCtrlTreeView.cpp22
2 files changed, 17 insertions, 11 deletions
diff --git a/src/mir_app/src/menu_options.cpp b/src/mir_app/src/menu_options.cpp
index c2dfae7c87..3c6ce3cf55 100644
--- a/src/mir_app/src/menu_options.cpp
+++ b/src/mir_app/src/menu_options.cpp
@@ -572,12 +572,14 @@ public:
m_customName.Enable(true);
}
- void onMenuItemBeginDrag(CCtrlTreeView::TEventInfo *evt)
+ bool onMenuItemBeginDrag(CCtrlTreeView::TEventInfo *evt)
{
MenuItemOptData *p = (MenuItemOptData*)evt->nmtv->itemNew.lParam;
if (p->pimi != nullptr)
if (p->pimi->mi.flags & CMIF_UNMOVABLE)
- evt->nmhdr->code = 0; // reject an attempt to change item's position
+ return false; // reject an attempt to change item's position
+
+ return true;
}
};
diff --git a/src/mir_core/src/Windows/CCtrlTreeView.cpp b/src/mir_core/src/Windows/CCtrlTreeView.cpp
index 92ad166f91..4f4aeabf2f 100644
--- a/src/mir_core/src/Windows/CCtrlTreeView.cpp
+++ b/src/mir_core/src/Windows/CCtrlTreeView.cpp
@@ -161,12 +161,16 @@ LRESULT CCtrlTreeView::CustomWndProc(UINT msg, WPARAM wParam, LPARAM lParam)
m_bDragging = false;
ReleaseCapture();
- hti.pt.x = (short)LOWORD(lParam);
- hti.pt.y = (short)HIWORD(lParam) - GetItemHeight() / 2;
+ hti.pt.x = GET_X_LPARAM(lParam);
+ hti.pt.y = GET_Y_LPARAM(lParam) - GetItemHeight() / 2;
HitTest(&hti);
if (m_hDragItem == hti.hItem)
break;
+ TEventInfo evt = { this, (LPNMHDR)&hti};
+ if (!OnEndDrag.Check(&evt))
+ break;
+
if (hti.flags & TVHT_ABOVE)
hti.hItem = TVI_FIRST;
else if (hti.flags & TVHT_BELOW)
@@ -288,14 +292,14 @@ BOOL CCtrlTreeView::OnNotify(int, NMHDR *pnmh)
case TVN_SINGLEEXPAND: OnSingleExpand(&evt); return TRUE;
case TVN_BEGINDRAG:
- OnBeginDrag(&evt);
-
// user-defined can clear the event code to disable dragging
- if (m_bDndEnabled && pnmh->code) {
- ::SetCapture(m_hwnd);
- m_bDragging = true;
- m_hDragItem = evt.nmtv->itemNew.hItem;
- SelectItem(m_hDragItem);
+ if (m_bDndEnabled) {
+ if (OnBeginDrag.Check(&evt)) {
+ ::SetCapture(m_hwnd);
+ m_bDragging = true;
+ m_hDragItem = evt.nmtv->itemNew.hItem;
+ SelectItem(m_hDragItem);
+ }
}
return TRUE;