From 6462f299ed188b3c3494d99d21e6563e37bd78e5 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Thu, 2 Mar 2017 10:37:19 +0100 Subject: Make platform menu tag/setTag not be pure virtual Reasons: * Tag means nothing to the platform, tag is something the Qt side code will store and then restore, but it's meaningless for the platform, since it can be either the pointer to an action (qmenu.cpp) or an item count (qcombobox.cpp) * Since it's meaningless to the platform you don't know what to do when trying to implement a platform, this shows in how the field was being initialized, some initialized to this, some initialized to 0 On a followup commit we will remove the virtual tag but first need to fix up other QPAs that don't live in the main repo Change-Id: I15ac83f3bf7e4c741153d31ac761dbbe6f4b1b52 Reviewed-by: Gabriel de Dietrich Reviewed-by: Friedemann Kleint --- .../genericunix/dbusmenu/qdbusplatformmenu.cpp | 20 ++++---------------- .../genericunix/dbusmenu/qdbusplatformmenu_p.h | 16 ++-------------- 2 files changed, 6 insertions(+), 30 deletions(-) (limited to 'src/platformsupport/themes/genericunix') diff --git a/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp index c1ebbbf91b..e3b1c6c37d 100644 --- a/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu.cpp @@ -50,9 +50,8 @@ Q_LOGGING_CATEGORY(qLcMenu, "qt.qpa.menu") static int nextDBusID = 1; QHash menuItemsByID; -QDBusPlatformMenuItem::QDBusPlatformMenuItem(quintptr tag) - : m_tag(tag ? tag : reinterpret_cast(this)) // QMenu will overwrite this later - , m_subMenu(Q_NULLPTR) +QDBusPlatformMenuItem::QDBusPlatformMenuItem() + : m_subMenu(nullptr) , m_role(NoRole) , m_isEnabled(true) , m_isVisible(true) @@ -72,11 +71,6 @@ QDBusPlatformMenuItem::~QDBusPlatformMenuItem() static_cast(m_subMenu)->setContainingMenuItem(Q_NULLPTR); } -void QDBusPlatformMenuItem::setTag(quintptr tag) -{ - m_tag = tag; -} - void QDBusPlatformMenuItem::setText(const QString &text) { qCDebug(qLcMenu) << m_dbusID << text; @@ -167,9 +161,8 @@ QList QDBusPlatformMenuItem::byIds(const QList(this)) - , m_isEnabled(true) +QDBusPlatformMenu::QDBusPlatformMenu() + : m_isEnabled(true) , m_isVisible(true) , m_isSeparator(false) , m_revision(1) @@ -253,11 +246,6 @@ void QDBusPlatformMenu::emitUpdated() emit updated(++m_revision, 0); } -void QDBusPlatformMenu::setTag(quintptr tag) -{ - m_tag = tag; -} - void QDBusPlatformMenu::setText(const QString &text) { m_text = text; diff --git a/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu_p.h index 2e6e04d28d..668195a794 100644 --- a/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu_p.h +++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusplatformmenu_p.h @@ -73,12 +73,9 @@ class QDBusPlatformMenuItem : public QPlatformMenuItem Q_OBJECT public: - QDBusPlatformMenuItem(quintptr tag = 0LL); + QDBusPlatformMenuItem(); ~QDBusPlatformMenuItem(); - quintptr tag()const Q_DECL_OVERRIDE { return m_tag; } - void setTag(quintptr tag) Q_DECL_OVERRIDE; - const QString text() const { return m_text; } void setText(const QString &text) Q_DECL_OVERRIDE; QIcon icon() const { return m_icon; } @@ -110,13 +107,10 @@ public: void trigger(); - bool operator==(const QDBusPlatformMenuItem& other) { return m_tag == other.m_tag; } - static QDBusPlatformMenuItem *byId(int id); static QList byIds(const QList &ids); private: - quintptr m_tag; QString m_text; QIcon m_icon; QPlatformMenu *m_subMenu; @@ -137,7 +131,7 @@ class QDBusPlatformMenu : public QPlatformMenu Q_OBJECT public: - QDBusPlatformMenu(quintptr tag = 0LL); + QDBusPlatformMenu(); ~QDBusPlatformMenu(); void insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem *before) Q_DECL_OVERRIDE; void removeMenuItem(QPlatformMenuItem *menuItem) Q_DECL_OVERRIDE; @@ -145,9 +139,6 @@ public: void syncMenuItem(QPlatformMenuItem *menuItem) Q_DECL_OVERRIDE; void syncSeparatorsCollapsible(bool enable) Q_DECL_OVERRIDE { Q_UNUSED(enable); } - quintptr tag()const Q_DECL_OVERRIDE { return m_tag; } - void setTag(quintptr tag) Q_DECL_OVERRIDE; - const QString text() const { return m_text; } void setText(const QString &text) Q_DECL_OVERRIDE; QIcon icon() const { return m_icon; } @@ -172,8 +163,6 @@ public: QPlatformMenuItem *createMenuItem() const Q_DECL_OVERRIDE; QPlatformMenu *createSubMenu() const Q_DECL_OVERRIDE; - bool operator==(const QDBusPlatformMenu& other) { return m_tag == other.m_tag; } - uint revision() const { return m_revision; } void emitUpdated(); @@ -184,7 +173,6 @@ signals: void popupRequested(int id, uint timestamp); private: - quintptr m_tag; QString m_text; QIcon m_icon; bool m_isEnabled; -- cgit v1.2.3