From e56d01fec916fb2525e3978de4eb13c5eeb503c1 Mon Sep 17 00:00:00 2001 From: Vladislav Tronko Date: Wed, 17 Aug 2016 10:49:48 +0300 Subject: [PATCH] Distinguish clicked and controlclicked in ToolButton --- src/lib/tools/toolbutton.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/tools/toolbutton.cpp b/src/lib/tools/toolbutton.cpp index 9a8b71062..6079742e5 100644 --- a/src/lib/tools/toolbutton.cpp +++ b/src/lib/tools/toolbutton.cpp @@ -172,8 +172,6 @@ void ToolButton::showMenu() void ToolButton::mousePressEvent(QMouseEvent* e) { - QToolButton::mousePressEvent(e); - if (popupMode() == QToolButton::DelayedPopup) m_pressTimer.start(); @@ -184,13 +182,13 @@ void ToolButton::mousePressEvent(QMouseEvent* e) else if (e->buttons() == Qt::RightButton && menu()) { setDown(true); showMenu(); + } else { + QToolButton::mousePressEvent(e); } } void ToolButton::mouseReleaseEvent(QMouseEvent* e) { - QToolButton::mouseReleaseEvent(e); - m_pressTimer.stop(); if (e->button() == Qt::MiddleButton && rect().contains(e->pos())) { @@ -200,6 +198,8 @@ void ToolButton::mouseReleaseEvent(QMouseEvent* e) else if (e->button() == Qt::LeftButton && rect().contains(e->pos()) && e->modifiers() == Qt::ControlModifier) { emit controlClicked(); setDown(false); + } else { + QToolButton::mouseReleaseEvent(e); } }