aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-04-19 15:28:32 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2018-04-20 08:06:53 +0000
commita27c3913c9888b8bb0ca909573d43a015d6f0631 (patch)
tree0f805f27efc0e3231d9b37f0a71e4f5ce70cfb43
parentb16f0030f348965a81698063b7f8a0a82de5a1e6 (diff)
Platform: add icon.mask
[ChangeLog][Platform][Menu] Added icon.mask grouped property. [ChangeLog][Platform][MenuItem] Added icon.mask grouped property. [ChangeLog][Platform][SystemTrayIcon] Added icon.mask grouped property. Task-number: QTBUG-67730 Change-Id: Idf8031b39038fb6b6774ebd2a2dcb32297465a40 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/imports/platform/qquickplatformicon.cpp12
-rw-r--r--src/imports/platform/qquickplatformicon_p.h5
-rw-r--r--src/imports/platform/qquickplatformiconloader.cpp4
-rw-r--r--src/imports/platform/qquickplatformmenu.cpp1
-rw-r--r--src/imports/platform/qquickplatformmenuitem.cpp2
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon.cpp2
6 files changed, 24 insertions, 2 deletions
diff --git a/src/imports/platform/qquickplatformicon.cpp b/src/imports/platform/qquickplatformicon.cpp
index 98fc045f..7096ff8a 100644
--- a/src/imports/platform/qquickplatformicon.cpp
+++ b/src/imports/platform/qquickplatformicon.cpp
@@ -58,9 +58,19 @@ void QQuickPlatformIcon::setName(const QString& name)
m_name = name;
}
+bool QQuickPlatformIcon::isMask() const
+{
+ return m_mask;
+}
+
+void QQuickPlatformIcon::setMask(bool mask)
+{
+ m_mask = mask;
+}
+
bool QQuickPlatformIcon::operator==(const QQuickPlatformIcon &other) const
{
- return m_source == other.m_source && m_name == other.m_name;
+ return m_source == other.m_source && m_name == other.m_name && m_mask == other.m_mask;
}
bool QQuickPlatformIcon::operator!=(const QQuickPlatformIcon &other) const
diff --git a/src/imports/platform/qquickplatformicon_p.h b/src/imports/platform/qquickplatformicon_p.h
index 270b3000..9add9d6e 100644
--- a/src/imports/platform/qquickplatformicon_p.h
+++ b/src/imports/platform/qquickplatformicon_p.h
@@ -60,6 +60,7 @@ class QQuickPlatformIcon
Q_GADGET
Q_PROPERTY(QUrl source READ source WRITE setSource)
Q_PROPERTY(QString name READ name WRITE setName)
+ Q_PROPERTY(bool mask READ isMask WRITE setMask)
public:
QUrl source() const;
@@ -68,10 +69,14 @@ public:
QString name() const;
void setName(const QString &name);
+ bool isMask() const;
+ void setMask(bool mask);
+
bool operator==(const QQuickPlatformIcon &other) const;
bool operator!=(const QQuickPlatformIcon &other) const;
private:
+ bool m_mask = false;
QUrl m_source;
QString m_name;
};
diff --git a/src/imports/platform/qquickplatformiconloader.cpp b/src/imports/platform/qquickplatformiconloader.cpp
index 6d4d486e..c7b699b2 100644
--- a/src/imports/platform/qquickplatformiconloader.cpp
+++ b/src/imports/platform/qquickplatformiconloader.cpp
@@ -65,7 +65,9 @@ void QQuickPlatformIconLoader::setEnabled(bool enabled)
QIcon QQuickPlatformIconLoader::toQIcon() const
{
QIcon fallback = QPixmap::fromImage(image());
- return QIcon::fromTheme(m_icon.name(), fallback);
+ QIcon icon = QIcon::fromTheme(m_icon.name(), fallback);
+ icon.setIsMask(m_icon.isMask());
+ return icon;
}
QQuickPlatformIcon QQuickPlatformIconLoader::icon() const
diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp
index c263f0a6..844fbbd9 100644
--- a/src/imports/platform/qquickplatformmenu.cpp
+++ b/src/imports/platform/qquickplatformmenu.cpp
@@ -613,6 +613,7 @@ void QQuickPlatformMenu::setFont(const QFont& font)
\qmlpropertygroup Qt.labs.platform::MenuItem::icon
\qmlproperty url Qt.labs.platform::MenuItem::icon.source
\qmlproperty string Qt.labs.platform::MenuItem::icon.name
+ \qmlproperty bool Qt.labs.platform::MenuItem::icon.mask
This property holds the menu item's icon.
*/
diff --git a/src/imports/platform/qquickplatformmenuitem.cpp b/src/imports/platform/qquickplatformmenuitem.cpp
index 62a75d60..d657fd12 100644
--- a/src/imports/platform/qquickplatformmenuitem.cpp
+++ b/src/imports/platform/qquickplatformmenuitem.cpp
@@ -542,11 +542,13 @@ void QQuickPlatformMenuItem::setFont(const QFont& font)
\qmlpropertygroup Qt.labs.platform::MenuItem::icon
\qmlproperty url Qt.labs.platform::MenuItem::icon.source
\qmlproperty string Qt.labs.platform::MenuItem::icon.name
+ \qmlproperty bool Qt.labs.platform::MenuItem::icon.mask
This property holds the menu item's icon.
\code
MenuItem {
+ icon.mask: true
icon.name: "edit-undo"
icon.source: "qrc:/images/undo.png"
}
diff --git a/src/imports/platform/qquickplatformsystemtrayicon.cpp b/src/imports/platform/qquickplatformsystemtrayicon.cpp
index a27e2245..a38dab74 100644
--- a/src/imports/platform/qquickplatformsystemtrayicon.cpp
+++ b/src/imports/platform/qquickplatformsystemtrayicon.cpp
@@ -359,11 +359,13 @@ QRect QQuickPlatformSystemTrayIcon::geometry() const
\qmlpropertygroup Qt.labs.platform::SystemTrayIcon::icon
\qmlproperty url Qt.labs.platform::SystemTrayIcon::icon.source
\qmlproperty string Qt.labs.platform::SystemTrayIcon::icon.name
+ \qmlproperty bool Qt.labs.platform::MenuItem::icon.mask
This property holds the system tray icon.
\code
SystemTrayIcon {
+ icon.mask: true
icon.source: "qrc:/images/tray-icon.png"
}
\endcode