aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform/widgets/qwidgetplatformmenu.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-08-16 18:18:54 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-08-16 18:25:04 +0000
commita69f95259fae492c4b95813da8e75433b2883ac1 (patch)
tree4ad0516e1c662e6c2af0a324314541eb2ce718d4 /src/imports/platform/widgets/qwidgetplatformmenu.cpp
parent14ee7d5b940cca276bfdc0492c0ae52b69ded62d (diff)
Platform: widget-based fallbacks no longer need to check availability
It is done in qwidgetplatform_p.h createWidget() outside QT_WIDGETS_LIB guards so you get the important warnings even in -no-widgets builds. Now that the widget platform instances are created only when really available, they can unconditionally instantiate the respective widget, which simplifies the code quite a bit. Change-Id: I7430f8e803050e43edb3af3a139b0508445f6a37 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports/platform/widgets/qwidgetplatformmenu.cpp')
-rw-r--r--src/imports/platform/widgets/qwidgetplatformmenu.cpp39
1 files changed, 13 insertions, 26 deletions
diff --git a/src/imports/platform/widgets/qwidgetplatformmenu.cpp b/src/imports/platform/widgets/qwidgetplatformmenu.cpp
index a3faafa0..d9ecb16f 100644
--- a/src/imports/platform/widgets/qwidgetplatformmenu.cpp
+++ b/src/imports/platform/widgets/qwidgetplatformmenu.cpp
@@ -36,7 +36,6 @@
#include "qwidgetplatformmenu_p.h"
#include "qwidgetplatformmenuitem_p.h"
-#include "qwidgetplatform_p.h"
#include <QtGui/qwindow.h>
#include <QtWidgets/qmenu.h>
@@ -45,15 +44,12 @@
QT_BEGIN_NAMESPACE
QWidgetPlatformMenu::QWidgetPlatformMenu(QObject *parent)
+ : m_menu(new QMenu)
{
setParent(parent);
- static bool available = QWidgetPlatform::isAvailable("menu");
- if (available) {
- m_menu.reset(new QMenu);
- connect(m_menu.data(), &QMenu::aboutToShow, this, &QPlatformMenu::aboutToShow);
- connect(m_menu.data(), &QMenu::aboutToHide, this, &QPlatformMenu::aboutToHide);
- }
+ connect(m_menu.data(), &QMenu::aboutToShow, this, &QPlatformMenu::aboutToShow);
+ connect(m_menu.data(), &QMenu::aboutToHide, this, &QPlatformMenu::aboutToHide);
}
QWidgetPlatformMenu::~QWidgetPlatformMenu()
@@ -68,7 +64,7 @@ QMenu *QWidgetPlatformMenu::menu() const
void QWidgetPlatformMenu::insertMenuItem(QPlatformMenuItem *item, QPlatformMenuItem *before)
{
QWidgetPlatformMenuItem *widgetItem = qobject_cast<QWidgetPlatformMenuItem *>(item);
- if (!widgetItem || !m_menu)
+ if (!widgetItem)
return;
QWidgetPlatformMenuItem *widgetBefore = qobject_cast<QWidgetPlatformMenuItem *>(before);
@@ -78,7 +74,7 @@ void QWidgetPlatformMenu::insertMenuItem(QPlatformMenuItem *item, QPlatformMenuI
void QWidgetPlatformMenu::removeMenuItem(QPlatformMenuItem *item)
{
QWidgetPlatformMenuItem *widgetItem = qobject_cast<QWidgetPlatformMenuItem *>(item);
- if (!widgetItem || !m_menu)
+ if (!widgetItem)
return;
m_menu->removeAction(widgetItem->action());
@@ -106,43 +102,38 @@ void QWidgetPlatformMenu::setTag(quintptr tag)
void QWidgetPlatformMenu::setText(const QString &text)
{
- if (m_menu)
- m_menu->setTitle(text);
+ m_menu->setTitle(text);
}
void QWidgetPlatformMenu::setIcon(const QIcon &icon)
{
- if (m_menu)
- m_menu->setIcon(icon);
+ m_menu->setIcon(icon);
}
void QWidgetPlatformMenu::setEnabled(bool enabled)
{
- if (m_menu)
- m_menu->menuAction()->setEnabled(enabled);
+ m_menu->menuAction()->setEnabled(enabled);
}
bool QWidgetPlatformMenu::isEnabled() const
{
- return m_menu && m_menu->menuAction()->isEnabled();
+ return m_menu->menuAction()->isEnabled();
}
void QWidgetPlatformMenu::setVisible(bool visible)
{
- if (m_menu)
- m_menu->menuAction()->setVisible(visible);
+ m_menu->menuAction()->setVisible(visible);
}
void QWidgetPlatformMenu::setMinimumWidth(int width)
{
- if (m_menu && width > 0)
+ if (width > 0)
m_menu->setMinimumWidth(width);
}
void QWidgetPlatformMenu::setFont(const QFont &font)
{
- if (m_menu)
- m_menu->setFont(font);
+ m_menu->setFont(font);
}
void QWidgetPlatformMenu::setMenuType(MenuType type)
@@ -152,9 +143,6 @@ void QWidgetPlatformMenu::setMenuType(MenuType type)
void QWidgetPlatformMenu::showPopup(const QWindow *window, const QRect &targetRect, const QPlatformMenuItem *item)
{
- if (!m_menu)
- return;
-
m_menu->createWinId();
QWindow *handle = m_menu->windowHandle();
Q_ASSERT(handle);
@@ -170,8 +158,7 @@ void QWidgetPlatformMenu::showPopup(const QWindow *window, const QRect &targetRe
void QWidgetPlatformMenu::dismiss()
{
- if (m_menu)
- m_menu->close();
+ m_menu->close();
}
QPlatformMenuItem *QWidgetPlatformMenu::menuItemAt(int position) const