aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/templates/qquickmenu.cpp')
-rw-r--r--src/templates/qquickmenu.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/templates/qquickmenu.cpp b/src/templates/qquickmenu.cpp
index b21a7a3e..d6c6e1cb 100644
--- a/src/templates/qquickmenu.cpp
+++ b/src/templates/qquickmenu.cpp
@@ -36,7 +36,6 @@
#include "qquickmenu_p.h"
#include "qquickmenu_p_p.h"
-#include "qquickpanel_p_p.h"
#include "qquickmenuitem_p.h"
#include <QtGui/qevent.h>
@@ -50,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Menu
- \inherits Panel
+ \inherits Popup
\instantiates QQuickMenu
\inqmlmodule Qt.labs.controls
\ingroup qtlabscontrols-menus
@@ -68,7 +67,7 @@ QT_BEGIN_NAMESPACE
Button {
id: fileButton
text: "File"
- onClicked: menu.show()
+ onClicked: menu.open()
}
Menu {
id: menu
@@ -268,7 +267,7 @@ void QQuickMenuPrivate::contentData_append(QQmlListProperty<QObject> *prop, QObj
QQuickMenuItem *menuItem = qobject_cast<QQuickMenuItem *>(item);
if (menuItem) {
QObjectPrivate::connect(menuItem, &QQuickMenuItem::pressed, p, &QQuickMenuPrivate::onItemPressed);
- QObject::connect(menuItem, &QQuickMenuItem::triggered, q, &QQuickPanel::hide);
+ QObject::connect(menuItem, &QQuickMenuItem::triggered, q, &QQuickPopup::close);
QObjectPrivate::connect(menuItem, &QQuickItem::activeFocusChanged, p, &QQuickMenuPrivate::onItemActiveFocusChanged);
}
}
@@ -296,11 +295,11 @@ void QQuickMenuPrivate::contentData_clear(QQmlListProperty<QObject> *prop)
}
QQuickMenu::QQuickMenu(QObject *parent) :
- QQuickPanel(*(new QQuickMenuPrivate), parent)
+ QQuickPopup(*(new QQuickMenuPrivate), parent)
{
Q_D(QQuickMenu);
- connect(this, &QQuickMenu::pressedOutside, this, &QQuickMenu::hide);
- connect(this, &QQuickMenu::releasedOutside, this, &QQuickMenu::hide);
+ connect(this, &QQuickMenu::pressedOutside, this, &QQuickMenu::close);
+ connect(this, &QQuickMenu::releasedOutside, this, &QQuickMenu::close);
QObjectPrivate::connect(this, &QQuickMenu::contentItemChanged, d, &QQuickMenuPrivate::onContentItemChanged);
}
@@ -445,6 +444,9 @@ bool QQuickMenu::eventFilter(QObject *object, QEvent *event)
if (d->contentItem->metaObject()->indexOfMethod("incrementCurrentIndex()") != -1)
QMetaObject::invokeMethod(d->contentItem, "incrementCurrentIndex");
return true;
+ } else if (keyEvent->key() == Qt::Key_Escape) {
+ close();
+ return true;
}
return false;