aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/imagine
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-02-13 22:03:31 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2018-02-15 08:48:44 +0000
commit544456ea001c1a2ea7917cc4923222c8dc72f41f (patch)
treee40389e506776337e9f1ecb79cadce61a9d16e1b /src/imports/controls/imagine
parent71d5afa10c297db4aabd032f992fb93fbaaf5470 (diff)
Read :/qtquickcontrols2.conf in QQuickStylePlugin
QQuickTheme is going to be promoted from libQQC2 to libQQT2 so that it can provide dark and light palettes (and later, icons). The first step is to refactor out the :/qtquickcontrols2.conf reading code, which cannot be in style-agnostic libQQT2. Read the conf file in QQuickStyle Plugin instead. The additional benefit is that we don't need duplicate name() methods for styles and their themes. Even though QQuickStyle Plugin's name handling is case-insensitive, QSetting is case-sensitive. Therefore all QQuickStylePlugin::name() overrides have been updated to use capital first letter. This name is used to lookup the correct section in :/qtquickcontrols2.conf. Task-number: QTBUG-63331 Change-Id: I07b1269d9dbc2c9568e6f22f2da75951fde7b669 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/imagine')
-rw-r--r--src/imports/controls/imagine/qquickimaginetheme.cpp12
-rw-r--r--src/imports/controls/imagine/qquickimaginetheme_p.h4
-rw-r--r--src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp6
3 files changed, 16 insertions, 6 deletions
diff --git a/src/imports/controls/imagine/qquickimaginetheme.cpp b/src/imports/controls/imagine/qquickimaginetheme.cpp
index 5505e7ce..f6d78cbc 100644
--- a/src/imports/controls/imagine/qquickimaginetheme.cpp
+++ b/src/imports/controls/imagine/qquickimaginetheme.cpp
@@ -41,11 +41,17 @@
QT_BEGIN_NAMESPACE
QQuickImagineTheme::QQuickImagineTheme()
- : QQuickTheme(QStringLiteral("Imagine"))
+{
+}
+
+void QQuickImagineTheme::resolveFonts(const QFont &defaultFont)
{
systemFont.setFamily(QLatin1String("Open Sans"));
- systemFont = resolveFont(systemFont);
+ systemFont = defaultFont.resolve(systemFont);
+}
+void QQuickImagineTheme::resolvePalettes(const QPalette &defaultPalette)
+{
const QColor accentColor = QColor::fromRgb(0x4fc1e9);
const QColor windowTextColor = QColor::fromRgb(0x434a54);
const QColor disabledWindowTextColor = QColor::fromRgb(0xccd1d9);
@@ -59,7 +65,7 @@ QQuickImagineTheme::QQuickImagineTheme()
systemPalette.setColor(QPalette::WindowText, windowTextColor);
systemPalette.setColor(QPalette::Disabled, QPalette::Text, disabledWindowTextColor);
systemPalette.setColor(QPalette::Disabled, QPalette::WindowText, disabledWindowTextColor);
- systemPalette = resolvePalette(systemPalette);
+ systemPalette = defaultPalette.resolve(systemPalette);
}
const QFont *QQuickImagineTheme::font(QPlatformTheme::Font type) const
diff --git a/src/imports/controls/imagine/qquickimaginetheme_p.h b/src/imports/controls/imagine/qquickimaginetheme_p.h
index ea3a1cbd..4ec9dfd7 100644
--- a/src/imports/controls/imagine/qquickimaginetheme_p.h
+++ b/src/imports/controls/imagine/qquickimaginetheme_p.h
@@ -60,6 +60,10 @@ public:
const QFont *font(Font type = SystemFont) const override;
const QPalette *palette(Palette type = SystemPalette) const override;
+protected:
+ void resolveFonts(const QFont &defaultFont) override;
+ void resolvePalettes(const QPalette &defaultPalette) override;
+
private:
QFont systemFont;
QPalette systemPalette;
diff --git a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp
index 7aa78075..3ab8a472 100644
--- a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp
+++ b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp
@@ -67,7 +67,7 @@ public:
void initializeEngine(QQmlEngine *engine, const char *uri) override;
QString name() const override;
- QQuickProxyTheme *createTheme() const override;
+ QQuickTheme *createTheme() const override;
};
QtQuickControls2ImagineStylePlugin::QtQuickControls2ImagineStylePlugin(QObject *parent) : QQuickStylePlugin(parent)
@@ -96,10 +96,10 @@ void QtQuickControls2ImagineStylePlugin::initializeEngine(QQmlEngine *engine, co
QString QtQuickControls2ImagineStylePlugin::name() const
{
- return QStringLiteral("imagine");
+ return QStringLiteral("Imagine");
}
-QQuickProxyTheme *QtQuickControls2ImagineStylePlugin::createTheme() const
+QQuickTheme *QtQuickControls2ImagineStylePlugin::createTheme() const
{
return new QQuickImagineTheme;
}