diff options
author | Błażej Szczygieł <spaz16@wp.pl> | 2016-05-04 18:24:48 +0200 |
---|---|---|
committer | Błażej Szczygieł <spaz16@wp.pl> | 2016-06-08 19:04:03 +0000 |
commit | afa0e9bf6a53d20dbb9820c7fce1bb67de0e616f (patch) | |
tree | 890b12a619e234983229c2be76f7480ca026a4dd /src | |
parent | 4762fabce16c611f12542a48b0dd31b3cec8e530 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 13 |
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: { |