From 05f6b386f9e49d263c47a1b5cce668bbc964f32e Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 20 Apr 2016 14:40:42 +0200 Subject: Default: use QQuickColorImageProvider This way we don't need to duplicate all images that are built into the main controls plugin's resources. In order to make them work with QQuickColorImageProvider, some of the images had to be converted from Format_Indexed8 to Format_ARGB32: QPainter::begin: Cannot paint on an image with the QImage::Format_Indexed8 format QPainter::setCompositionMode: Painter not active Change-Id: I67f8820e803ef7ff29ce60460ed4ca5bb2fad4cb Reviewed-by: Mitch Curtis --- src/imports/controls/CheckIndicator.qml | 2 +- src/imports/controls/ComboBox.qml | 3 +-- src/imports/controls/Dial.qml | 2 +- src/imports/controls/images/check-focus.png | Bin 1252 -> 0 bytes src/imports/controls/images/check-focus@2x.png | Bin 1632 -> 0 bytes src/imports/controls/images/check-focus@3x.png | Bin 1976 -> 0 bytes src/imports/controls/images/check-focus@4x.png | Bin 2334 -> 0 bytes src/imports/controls/images/check@2x.png | Bin 766 -> 997 bytes src/imports/controls/images/check@3x.png | Bin 1090 -> 1433 bytes src/imports/controls/images/check@4x.png | Bin 1344 -> 1931 bytes src/imports/controls/images/dial-indicator-focus.png | Bin 1029 -> 0 bytes .../controls/images/dial-indicator-focus@2x.png | Bin 1103 -> 0 bytes .../controls/images/dial-indicator-focus@3x.png | Bin 1158 -> 0 bytes .../controls/images/dial-indicator-focus@4x.png | Bin 1209 -> 0 bytes src/imports/controls/images/dial-indicator.png | Bin 185 -> 214 bytes src/imports/controls/images/dial-indicator@2x.png | Bin 243 -> 306 bytes src/imports/controls/images/dial-indicator@3x.png | Bin 284 -> 384 bytes src/imports/controls/images/dial-indicator@4x.png | Bin 307 -> 463 bytes src/imports/controls/images/double-arrow-focus.png | Bin 1282 -> 0 bytes src/imports/controls/images/double-arrow-focus@2x.png | Bin 1697 -> 0 bytes src/imports/controls/images/double-arrow-focus@3x.png | Bin 2067 -> 0 bytes src/imports/controls/images/double-arrow-focus@4x.png | Bin 2551 -> 0 bytes src/imports/controls/images/drop-indicator@4x.png | Bin 376 -> 507 bytes src/imports/controls/qtquickcontrols2plugin.cpp | 4 +++- src/imports/controls/qtquickcontrols2plugin.qrc | 12 ------------ 25 files changed, 6 insertions(+), 17 deletions(-) delete mode 100644 src/imports/controls/images/check-focus.png delete mode 100644 src/imports/controls/images/check-focus@2x.png delete mode 100644 src/imports/controls/images/check-focus@3x.png delete mode 100644 src/imports/controls/images/check-focus@4x.png delete mode 100644 src/imports/controls/images/dial-indicator-focus.png delete mode 100644 src/imports/controls/images/dial-indicator-focus@2x.png delete mode 100644 src/imports/controls/images/dial-indicator-focus@3x.png delete mode 100644 src/imports/controls/images/dial-indicator-focus@4x.png delete mode 100644 src/imports/controls/images/double-arrow-focus.png delete mode 100644 src/imports/controls/images/double-arrow-focus@2x.png delete mode 100644 src/imports/controls/images/double-arrow-focus@3x.png delete mode 100644 src/imports/controls/images/double-arrow-focus@4x.png diff --git a/src/imports/controls/CheckIndicator.qml b/src/imports/controls/CheckIndicator.qml index 68ff134e..585bdb25 100644 --- a/src/imports/controls/CheckIndicator.qml +++ b/src/imports/controls/CheckIndicator.qml @@ -51,7 +51,7 @@ Rectangle { Image { x: (parent.width - width) / 2 y: (parent.height - height) / 2 - source: "qrc:/qt-project.org/imports/Qt/labs/controls/images/check" + (control.activeFocus ? "-focus.png" : ".png") + source: "image://default/check/" + (control.activeKeyFocus ? "#0066ff" : "#353637") visible: control.checkState === Qt.Checked } diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml index c04ca842..10e8c0c9 100644 --- a/src/imports/controls/ComboBox.qml +++ b/src/imports/controls/ComboBox.qml @@ -87,8 +87,7 @@ T.ComboBox { Image { x: parent.width - width - 4 y: (parent.height - height) / 2 - source: "qrc:/qt-project.org/imports/Qt/labs/controls/images/double-arrow" - + (control.activeKeyFocus ? "-focus" : "") + ".png" + source: "image://default/double-arrow/" + (control.activeKeyFocus ? "#0066ff" : "#353637") } } //! [background] diff --git a/src/imports/controls/Dial.qml b/src/imports/controls/Dial.qml index a92bc112..50f7ea7e 100644 --- a/src/imports/controls/Dial.qml +++ b/src/imports/controls/Dial.qml @@ -61,7 +61,7 @@ T.Dial { y: background.y + background.height / 2 - handle.height / 2 width: 14 height: 10 - source: "qrc:/qt-project.org/imports/Qt/labs/controls/images/dial-indicator" + (control.activeKeyFocus ? "-focus.png" : ".png") + source: "image://default/dial-indicator/" + (control.activeKeyFocus ? "#0066ff" : "#353637") antialiasing: true opacity: control.enabled ? 1 : 0.3 transform: [ diff --git a/src/imports/controls/images/check-focus.png b/src/imports/controls/images/check-focus.png deleted file mode 100644 index 335373a9..00000000 Binary files a/src/imports/controls/images/check-focus.png and /dev/null differ diff --git a/src/imports/controls/images/check-focus@2x.png b/src/imports/controls/images/check-focus@2x.png deleted file mode 100644 index 66b32d16..00000000 Binary files a/src/imports/controls/images/check-focus@2x.png and /dev/null differ diff --git a/src/imports/controls/images/check-focus@3x.png b/src/imports/controls/images/check-focus@3x.png deleted file mode 100644 index 298b874c..00000000 Binary files a/src/imports/controls/images/check-focus@3x.png and /dev/null differ diff --git a/src/imports/controls/images/check-focus@4x.png b/src/imports/controls/images/check-focus@4x.png deleted file mode 100644 index 0106ee8f..00000000 Binary files a/src/imports/controls/images/check-focus@4x.png and /dev/null differ diff --git a/src/imports/controls/images/check@2x.png b/src/imports/controls/images/check@2x.png index 597aab7f..bc5aaabe 100644 Binary files a/src/imports/controls/images/check@2x.png and b/src/imports/controls/images/check@2x.png differ diff --git a/src/imports/controls/images/check@3x.png b/src/imports/controls/images/check@3x.png index 1a10289b..0f515e0b 100644 Binary files a/src/imports/controls/images/check@3x.png and b/src/imports/controls/images/check@3x.png differ diff --git a/src/imports/controls/images/check@4x.png b/src/imports/controls/images/check@4x.png index 54e885f6..8ad1fe21 100644 Binary files a/src/imports/controls/images/check@4x.png and b/src/imports/controls/images/check@4x.png differ diff --git a/src/imports/controls/images/dial-indicator-focus.png b/src/imports/controls/images/dial-indicator-focus.png deleted file mode 100644 index 21fd5889..00000000 Binary files a/src/imports/controls/images/dial-indicator-focus.png and /dev/null differ diff --git a/src/imports/controls/images/dial-indicator-focus@2x.png b/src/imports/controls/images/dial-indicator-focus@2x.png deleted file mode 100644 index d120a4ac..00000000 Binary files a/src/imports/controls/images/dial-indicator-focus@2x.png and /dev/null differ diff --git a/src/imports/controls/images/dial-indicator-focus@3x.png b/src/imports/controls/images/dial-indicator-focus@3x.png deleted file mode 100644 index 02820654..00000000 Binary files a/src/imports/controls/images/dial-indicator-focus@3x.png and /dev/null differ diff --git a/src/imports/controls/images/dial-indicator-focus@4x.png b/src/imports/controls/images/dial-indicator-focus@4x.png deleted file mode 100644 index d838669c..00000000 Binary files a/src/imports/controls/images/dial-indicator-focus@4x.png and /dev/null differ diff --git a/src/imports/controls/images/dial-indicator.png b/src/imports/controls/images/dial-indicator.png index 92357c51..8cb0824f 100644 Binary files a/src/imports/controls/images/dial-indicator.png and b/src/imports/controls/images/dial-indicator.png differ diff --git a/src/imports/controls/images/dial-indicator@2x.png b/src/imports/controls/images/dial-indicator@2x.png index f436443b..cd4f8d81 100644 Binary files a/src/imports/controls/images/dial-indicator@2x.png and b/src/imports/controls/images/dial-indicator@2x.png differ diff --git a/src/imports/controls/images/dial-indicator@3x.png b/src/imports/controls/images/dial-indicator@3x.png index d883045b..f443605c 100644 Binary files a/src/imports/controls/images/dial-indicator@3x.png and b/src/imports/controls/images/dial-indicator@3x.png differ diff --git a/src/imports/controls/images/dial-indicator@4x.png b/src/imports/controls/images/dial-indicator@4x.png index 79477712..dec99715 100644 Binary files a/src/imports/controls/images/dial-indicator@4x.png and b/src/imports/controls/images/dial-indicator@4x.png differ diff --git a/src/imports/controls/images/double-arrow-focus.png b/src/imports/controls/images/double-arrow-focus.png deleted file mode 100644 index d68de2c2..00000000 Binary files a/src/imports/controls/images/double-arrow-focus.png and /dev/null differ diff --git a/src/imports/controls/images/double-arrow-focus@2x.png b/src/imports/controls/images/double-arrow-focus@2x.png deleted file mode 100644 index d0686fc8..00000000 Binary files a/src/imports/controls/images/double-arrow-focus@2x.png and /dev/null differ diff --git a/src/imports/controls/images/double-arrow-focus@3x.png b/src/imports/controls/images/double-arrow-focus@3x.png deleted file mode 100644 index 2cf08077..00000000 Binary files a/src/imports/controls/images/double-arrow-focus@3x.png and /dev/null differ diff --git a/src/imports/controls/images/double-arrow-focus@4x.png b/src/imports/controls/images/double-arrow-focus@4x.png deleted file mode 100644 index e0b6eeb3..00000000 Binary files a/src/imports/controls/images/double-arrow-focus@4x.png and /dev/null differ diff --git a/src/imports/controls/images/drop-indicator@4x.png b/src/imports/controls/images/drop-indicator@4x.png index 58311fbe..b82b6db3 100644 Binary files a/src/imports/controls/images/drop-indicator@4x.png and b/src/imports/controls/images/drop-indicator@4x.png differ diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp index 672e6591..c6982062 100644 --- a/src/imports/controls/qtquickcontrols2plugin.cpp +++ b/src/imports/controls/qtquickcontrols2plugin.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include "qquickbusyindicatorring_p.h" #include "qquickdialring_p.h" @@ -137,9 +138,10 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) void QtQuickControls2Plugin::initializeEngine(QQmlEngine *engine, const char *uri) { - Q_UNUSED(engine); Q_UNUSED(uri); + engine->addImageProvider(QStringLiteral("default"), new QQuickColorImageProvider(QStringLiteral(":/qt-project.org/imports/Qt/labs/controls/images"))); + const QByteArray import = QByteArray(uri) + ".impl"; qmlRegisterType(import, 1, 0, "BusyRing"); qmlRegisterType(import, 1, 0, "BusyRingAnimator"); diff --git a/src/imports/controls/qtquickcontrols2plugin.qrc b/src/imports/controls/qtquickcontrols2plugin.qrc index ecac3d2b..71cd3032 100644 --- a/src/imports/controls/qtquickcontrols2plugin.qrc +++ b/src/imports/controls/qtquickcontrols2plugin.qrc @@ -8,25 +8,13 @@ images/dial-indicator@2x.png images/dial-indicator@3x.png images/dial-indicator@4x.png - images/dial-indicator-focus.png - images/dial-indicator-focus@2x.png - images/dial-indicator-focus@3x.png - images/dial-indicator-focus@4x.png images/drop-indicator.png images/drop-indicator@2x.png images/drop-indicator@3x.png images/drop-indicator@4x.png - images/check-focus.png - images/check-focus@2x.png - images/check-focus@3x.png - images/check-focus@4x.png images/double-arrow.png images/double-arrow@2x.png images/double-arrow@3x.png images/double-arrow@4x.png - images/double-arrow-focus.png - images/double-arrow-focus@2x.png - images/double-arrow-focus@3x.png - images/double-arrow-focus@4x.png -- cgit v1.2.3