Skip to content

Instantly share code, notes, and snippets.

@vtronko
Last active August 17, 2016 07:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vtronko/3db39df8dda4898b883e4b33de2e012c to your computer and use it in GitHub Desktop.
Save vtronko/3db39df8dda4898b883e4b33de2e012c to your computer and use it in GitHub Desktop.
From 38901807f7b2918986a8ea0c206cfb2da91427da Mon Sep 17 00:00:00 2001
From: Vladislav Tronko <innermous@gmail.com>
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 9a8b710..6079742 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);
}
}
--
2.9.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment