summaryrefslogtreecommitdiff
path: root/src/controls/qquickmenuitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/qquickmenuitem.cpp')
-rw-r--r--src/controls/qquickmenuitem.cpp111
1 files changed, 57 insertions, 54 deletions
diff --git a/src/controls/qquickmenuitem.cpp b/src/controls/qquickmenuitem.cpp
index 2057ba11..33acff9e 100644
--- a/src/controls/qquickmenuitem.cpp
+++ b/src/controls/qquickmenuitem.cpp
@@ -1,34 +1,37 @@
/****************************************************************************
**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL3$
+** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
@@ -46,18 +49,18 @@
QT_BEGIN_NAMESPACE
-QQuickMenuBase::QQuickMenuBase(QObject *parent, int type)
- : QObject(parent), m_visible(true), m_type(static_cast<QQuickMenuItemType::MenuItemType>(type))
+QQuickMenuBase1::QQuickMenuBase1(QObject *parent, int type)
+ : QObject(parent), m_visible(true), m_type(static_cast<QQuickMenuItemType1::MenuItemType>(type))
, m_parentMenu(0), m_container(0), m_platformItem(0), m_visualItem(0)
{
- if (type >= 0) {
+ if (type >= 0 && QGuiApplication::platformName() != QStringLiteral("xcb")) { // QTBUG-51372)
m_platformItem = QGuiApplicationPrivate::platformTheme()->createPlatformMenuItem();
if (m_platformItem)
m_platformItem->setRole(QPlatformMenuItem::TextHeuristicRole);
}
}
-QQuickMenuBase::~QQuickMenuBase()
+QQuickMenuBase1::~QQuickMenuBase1()
{
if (parentMenu())
parentMenu()->removeItem(this);
@@ -68,7 +71,7 @@ QQuickMenuBase::~QQuickMenuBase()
}
}
-void QQuickMenuBase::setVisible(bool v)
+void QQuickMenuBase1::setVisible(bool v)
{
if (v != m_visible) {
m_visible = v;
@@ -82,19 +85,19 @@ void QQuickMenuBase::setVisible(bool v)
}
}
-QObject *QQuickMenuBase::parentMenuOrMenuBar() const
+QObject *QQuickMenuBase1::parentMenuOrMenuBar() const
{
if (!m_parentMenu)
return parent();
return m_parentMenu;
}
-QQuickMenu1 *QQuickMenuBase::parentMenu() const
+QQuickMenu1 *QQuickMenuBase1::parentMenu() const
{
return m_parentMenu;
}
-void QQuickMenuBase::setParentMenu(QQuickMenu1 *parentMenu)
+void QQuickMenuBase1::setParentMenu(QQuickMenu1 *parentMenu)
{
if (m_platformItem && m_parentMenu && m_parentMenu->platformMenu())
m_parentMenu->platformMenu()->removeMenuItem(m_platformItem);
@@ -102,17 +105,17 @@ void QQuickMenuBase::setParentMenu(QQuickMenu1 *parentMenu)
m_parentMenu = parentMenu;
}
-QQuickMenuItemContainer *QQuickMenuBase::container() const
+QQuickMenuItemContainer1 *QQuickMenuBase1::container() const
{
return m_container;
}
-void QQuickMenuBase::setContainer(QQuickMenuItemContainer *c)
+void QQuickMenuBase1::setContainer(QQuickMenuItemContainer1 *c)
{
m_container = c;
}
-void QQuickMenuBase::syncWithPlatformMenu()
+void QQuickMenuBase1::syncWithPlatformMenu()
{
QQuickMenu1 *menu = parentMenu();
if (menu && menu->platformMenu() && platformItem()
@@ -120,19 +123,19 @@ void QQuickMenuBase::syncWithPlatformMenu()
menu->platformMenu()->syncMenuItem(platformItem());
}
-QQuickItem *QQuickMenuBase::visualItem() const
+QQuickItem *QQuickMenuBase1::visualItem() const
{
return m_visualItem;
}
-void QQuickMenuBase::setVisualItem(QQuickItem *item)
+void QQuickMenuBase1::setVisualItem(QQuickItem *item)
{
m_visualItem = item;
}
/*!
\qmltype MenuSeparator
- \instantiates QQuickMenuSeparator
+ \instantiates QQuickMenuSeparator1
\inqmlmodule QtQuick.Controls
\ingroup menus
\ingroup controls
@@ -186,15 +189,15 @@ void QQuickMenuBase::setVisualItem(QQuickItem *item)
This property is read-only and constant, and its value is \c MenuItemType.Separator.
*/
-QQuickMenuSeparator::QQuickMenuSeparator(QObject *parent)
- : QQuickMenuBase(parent, QQuickMenuItemType::Separator)
+QQuickMenuSeparator1::QQuickMenuSeparator1(QObject *parent)
+ : QQuickMenuBase1(parent, QQuickMenuItemType1::Separator)
{
if (platformItem())
platformItem()->setIsSeparator(true);
}
-QQuickMenuText::QQuickMenuText(QObject *parent, QQuickMenuItemType::MenuItemType type)
- : QQuickMenuBase(parent, type), m_action(new QQuickAction(this))
+QQuickMenuText1::QQuickMenuText1(QObject *parent, QQuickMenuItemType1::MenuItemType type)
+ : QQuickMenuBase1(parent, type), m_action(new QQuickAction1(this))
{
connect(m_action, SIGNAL(enabledChanged()), this, SLOT(updateEnabled()));
connect(m_action, SIGNAL(textChanged()), this, SLOT(updateText()));
@@ -204,57 +207,57 @@ QQuickMenuText::QQuickMenuText(QObject *parent, QQuickMenuItemType::MenuItemType
connect(m_action, SIGNAL(iconSourceChanged()), this, SIGNAL(iconSourceChanged()));
}
-QQuickMenuText::~QQuickMenuText()
+QQuickMenuText1::~QQuickMenuText1()
{
delete m_action;
}
-bool QQuickMenuText::enabled() const
+bool QQuickMenuText1::enabled() const
{
return action()->isEnabled();
}
-void QQuickMenuText::setEnabled(bool e)
+void QQuickMenuText1::setEnabled(bool e)
{
action()->setEnabled(e);
}
-QString QQuickMenuText::text() const
+QString QQuickMenuText1::text() const
{
return m_action->text();
}
-void QQuickMenuText::setText(const QString &t)
+void QQuickMenuText1::setText(const QString &t)
{
m_action->setText(t);
}
-QUrl QQuickMenuText::iconSource() const
+QUrl QQuickMenuText1::iconSource() const
{
return m_action->iconSource();
}
-void QQuickMenuText::setIconSource(const QUrl &iconSource)
+void QQuickMenuText1::setIconSource(const QUrl &iconSource)
{
m_action->setIconSource(iconSource);
}
-QString QQuickMenuText::iconName() const
+QString QQuickMenuText1::iconName() const
{
return m_action->iconName();
}
-void QQuickMenuText::setIconName(const QString &iconName)
+void QQuickMenuText1::setIconName(const QString &iconName)
{
m_action->setIconName(iconName);
}
-QIcon QQuickMenuText::icon() const
+QIcon QQuickMenuText1::icon() const
{
return m_action->icon();
}
-void QQuickMenuText::updateText()
+void QQuickMenuText1::updateText()
{
if (platformItem()) {
platformItem()->setText(text());
@@ -263,7 +266,7 @@ void QQuickMenuText::updateText()
emit __textChanged();
}
-void QQuickMenuText::updateEnabled()
+void QQuickMenuText1::updateEnabled()
{
if (platformItem()) {
platformItem()->setEnabled(enabled());
@@ -272,7 +275,7 @@ void QQuickMenuText::updateEnabled()
emit enabledChanged();
}
-void QQuickMenuText::updateIcon()
+void QQuickMenuText1::updateIcon()
{
if (platformItem()) {
platformItem()->setIcon(icon());
@@ -457,7 +460,7 @@ void QQuickMenuText::updateIcon()
*/
QQuickMenuItem1::QQuickMenuItem1(QObject *parent)
- : QQuickMenuText(parent, QQuickMenuItemType::Item), m_boundAction(0)
+ : QQuickMenuText1(parent, QQuickMenuItemType1::Item), m_boundAction(0)
{
connect(this, SIGNAL(__textChanged()), this, SIGNAL(textChanged()));
@@ -478,12 +481,12 @@ QQuickMenuItem1::~QQuickMenuItem1()
void QQuickMenuItem1::setParentMenu(QQuickMenu1 *parentMenu)
{
- QQuickMenuText::setParentMenu(parentMenu);
+ QQuickMenuText1::setParentMenu(parentMenu);
if (parentMenu)
connect(this, SIGNAL(triggered()), parentMenu, SLOT(updateSelectedIndex()));
}
-void QQuickMenuItem1::bindToAction(QQuickAction *action)
+void QQuickMenuItem1::bindToAction(QQuickAction1 *action)
{
m_boundAction = action;
@@ -519,7 +522,7 @@ void QQuickMenuItem1::unbindFromAction(QObject *o)
if (o == m_boundAction)
m_boundAction = 0;
- QQuickAction *action = qobject_cast<QQuickAction *>(o);
+ QQuickAction1 *action = qobject_cast<QQuickAction1 *>(o);
if (!action)
return;
@@ -538,14 +541,14 @@ void QQuickMenuItem1::unbindFromAction(QObject *o)
disconnect(action, SIGNAL(iconSourceChanged()), this, SIGNAL(iconSourceChanged()));
}
-QQuickAction *QQuickMenuItem1::action() const
+QQuickAction1 *QQuickMenuItem1::action() const
{
if (m_boundAction)
return m_boundAction;
- return QQuickMenuText::action();
+ return QQuickMenuText1::action();
}
-void QQuickMenuItem1::setBoundAction(QQuickAction *a)
+void QQuickMenuItem1::setBoundAction(QQuickAction1 *a)
{
if (a == m_boundAction)
return;
@@ -558,7 +561,7 @@ void QQuickMenuItem1::setBoundAction(QQuickAction *a)
QString QQuickMenuItem1::text() const
{
- QString ownText = QQuickMenuText::text();
+ QString ownText = QQuickMenuText1::text();
if (!ownText.isNull())
return ownText;
return m_boundAction ? m_boundAction->text() : QString();
@@ -566,7 +569,7 @@ QString QQuickMenuItem1::text() const
QUrl QQuickMenuItem1::iconSource() const
{
- QUrl ownIconSource = QQuickMenuText::iconSource();
+ QUrl ownIconSource = QQuickMenuText1::iconSource();
if (!ownIconSource.isEmpty())
return ownIconSource;
return m_boundAction ? m_boundAction->iconSource() : QUrl();
@@ -574,7 +577,7 @@ QUrl QQuickMenuItem1::iconSource() const
QString QQuickMenuItem1::iconName() const
{
- QString ownIconName = QQuickMenuText::iconName();
+ QString ownIconName = QQuickMenuText1::iconName();
if (!ownIconName.isEmpty())
return ownIconName;
return m_boundAction ? m_boundAction->iconName() : QString();
@@ -582,7 +585,7 @@ QString QQuickMenuItem1::iconName() const
QIcon QQuickMenuItem1::icon() const
{
- QIcon ownIcon = QQuickMenuText::icon();
+ QIcon ownIcon = QQuickMenuText1::icon();
if (!ownIcon.isNull())
return ownIcon;
return m_boundAction ? m_boundAction->icon() : QIcon();