summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBłażej Szczygieł <spaz16@wp.pl>2016-05-04 18:24:48 +0200
committerBłażej Szczygieł <spaz16@wp.pl>2016-06-08 19:04:03 +0000
commitafa0e9bf6a53d20dbb9820c7fce1bb67de0e616f (patch)
tree890b12a619e234983229c2be76f7480ca026a4dd
parent4762fabce16c611f12542a48b0dd31b3cec8e530 (diff)
QtWidgets: Open submenus also on left mouse button press
This patch allows to open submenus also on left mouse button press. Previously submenus could be opened only on right mouse button press as ContextMenu event which was inconvenient especially for long submenu popup timeout. Task-number: QTBUG-53054 Change-Id: I1bd78ed4436f738c8838f7f4687ffebb94b66725 Reviewed-by: Félix Bourbonnais <thor400.75@gmail.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r--src/widgets/widgets/qmenu.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 744fecb3f3..184dd42fe6 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -2697,10 +2697,15 @@ QMenu::event(QEvent *e)
return true;
}
} break;
- case QEvent::ContextMenu:
- if (d->delayState.timer.isActive()) {
- d->delayState.stop();
- internalDelayedPopup();
+ case QEvent::MouseButtonPress:
+ case QEvent::ContextMenu: {
+ bool canPopup = true;
+ if (e->type() == QEvent::MouseButtonPress)
+ canPopup = (static_cast<QMouseEvent*>(e)->button() == Qt::LeftButton);
+ if (canPopup && d->delayState.timer.isActive()) {
+ d->delayState.stop();
+ internalDelayedPopup();
+ }
}
break;
case QEvent::Resize: {