aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-01-28 12:36:22 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-01-28 12:51:50 +0100
commit80039621c01c69ee857fa1c7f0e2d7c46e2d7b64 (patch)
treedf5c8add65d182313306ab09fc70a172fdce1ad2
parentfd92634e94bf91c73696eccd8c468fc5f7a9c8e5 (diff)
Adapt to hover on disabled items
Only react to hovered on enabled items. Fixes: QTBUG-90580 Change-Id: I955033f391e6cd592e3d75b79b9242019db9fcfa Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp2
-rw-r--r--src/quicktemplates2/qquickmenu.cpp2
-rw-r--r--src/quicktemplates2/qquickmenubar.cpp4
3 files changed, 4 insertions, 4 deletions
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index 0f537ede..136b32f4 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -384,7 +384,7 @@ void QQuickComboBoxPrivate::itemHovered()
return;
QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(q->sender());
- if (!button || !button->isHovered() || QQuickAbstractButtonPrivate::get(button)->touchId != -1)
+ if (!button || !button->isHovered() || !button->isEnabled() || QQuickAbstractButtonPrivate::get(button)->touchId != -1)
return;
int index = delegateModel->indexOf(button, nullptr);
diff --git a/src/quicktemplates2/qquickmenu.cpp b/src/quicktemplates2/qquickmenu.cpp
index d9231cbd..59c47d03 100644
--- a/src/quicktemplates2/qquickmenu.cpp
+++ b/src/quicktemplates2/qquickmenu.cpp
@@ -477,7 +477,7 @@ void QQuickMenuPrivate::onItemHovered()
{
Q_Q(QQuickMenu);
QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(q->sender());
- if (!button || !button->isHovered() || QQuickAbstractButtonPrivate::get(button)->touchId != -1)
+ if (!button || !button->isHovered() || !button->isEnabled() || QQuickAbstractButtonPrivate::get(button)->touchId != -1)
return;
QQuickMenuItem *oldCurrentItem = currentItem;
diff --git a/src/quicktemplates2/qquickmenubar.cpp b/src/quicktemplates2/qquickmenubar.cpp
index b5731158..a732d889 100644
--- a/src/quicktemplates2/qquickmenubar.cpp
+++ b/src/quicktemplates2/qquickmenubar.cpp
@@ -181,7 +181,7 @@ void QQuickMenuBarPrivate::onItemHovered()
{
Q_Q(QQuickMenuBar);
QQuickMenuBarItem *item = qobject_cast<QQuickMenuBarItem *>(q->sender());
- if (!item || item == currentItem || !item->isHovered() || QQuickMenuBarItemPrivate::get(item)->touchId != -1)
+ if (!item || item == currentItem || !item->isHovered() || !item->isEnabled() || QQuickMenuBarItemPrivate::get(item)->touchId != -1)
return;
activateItem(item);
@@ -204,7 +204,7 @@ void QQuickMenuBarPrivate::onItemTriggered()
void QQuickMenuBarPrivate::onMenuAboutToHide()
{
- if (triggering || !currentItem || currentItem->isHovered() || !currentItem->isHighlighted())
+ if (triggering || !currentItem || (currentItem->isHovered() && currentItem->isEnabled()) || !currentItem->isHighlighted())
return;
popupMode = false;