aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquicktheme_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-02-22 23:29:44 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2018-02-27 11:19:37 +0000
commitcf0905a25cc02a1ad2a242319e7ad9748c0a64f3 (patch)
treeca40c76cc7974de2d5cbf00bd9c7c7cfe2268899 /src/quicktemplates2/qquicktheme_p.h
parent0836a69bdf84c7f0d63ef081c838b98bb38de41e (diff)
QQuickTheme: don't inherit QPlatformTheme
Use QPlatformTheme as a fallback instead of inheriting from it. This way, Qt Quick Controls 2 themes don't mess up the fonts and palettes of Qt Quick Controls 1 and Qt Widgets applications. Note: QQuickTheme::Font and QQuickTheme::Palette enums are copies of the respective enums in QPlatformTheme, for now. This is the simplest first step, but later on, we can have our own set of enums that cover controls, such as Switch, that were previously entirely missing from QPlatformTheme. Task-number: QTBUG-51921 Change-Id: I8efe0ba2d03d65bc12b55b533ba9f2fab5320348 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquicktheme_p.h')
-rw-r--r--src/quicktemplates2/qquicktheme_p.h66
1 files changed, 61 insertions, 5 deletions
diff --git a/src/quicktemplates2/qquicktheme_p.h b/src/quicktemplates2/qquicktheme_p.h
index bfd777ab..f4efd359 100644
--- a/src/quicktemplates2/qquicktheme_p.h
+++ b/src/quicktemplates2/qquicktheme_p.h
@@ -48,7 +48,7 @@
// We mean it.
//
-#include <QtQuickTemplates2/private/qquickproxytheme_p.h>
+#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
#include <QtCore/qscopedpointer.h>
#include <QtGui/qfont.h>
#include <QtGui/qpalette.h>
@@ -57,17 +57,73 @@ QT_BEGIN_NAMESPACE
class QQuickThemePrivate;
-class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTheme : public QQuickProxyTheme
+class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickTheme
{
public:
QQuickTheme();
- ~QQuickTheme();
+ virtual ~QQuickTheme();
+
+ static QQuickTheme *current();
+ static void setCurrent(QQuickTheme *theme);
+
+ enum Font {
+ SystemFont,
+ MenuFont,
+ MenuBarFont,
+ MenuItemFont,
+ MessageBoxFont,
+ LabelFont,
+ TipLabelFont,
+ StatusBarFont,
+ TitleBarFont,
+ MdiSubWindowTitleFont,
+ DockWidgetTitleFont,
+ PushButtonFont,
+ CheckBoxFont,
+ RadioButtonFont,
+ ToolButtonFont,
+ ItemViewFont,
+ ListViewFont,
+ HeaderViewFont,
+ ListBoxFont,
+ ComboMenuItemFont,
+ ComboLineEditFont,
+ SmallFont,
+ MiniFont,
+ FixedFont,
+ GroupBoxTitleFont,
+ TabButtonFont,
+ EditorFont,
+ NFonts
+ };
+
+ enum Palette {
+ SystemPalette,
+ ToolTipPalette,
+ ToolButtonPalette,
+ ButtonPalette,
+ CheckBoxPalette,
+ RadioButtonPalette,
+ HeaderPalette,
+ ComboBoxPalette,
+ ItemViewPalette,
+ MessageBoxLabelPelette,
+ MessageBoxLabelPalette = MessageBoxLabelPelette,
+ TabBarPalette,
+ LabelPalette,
+ GroupBoxPalette,
+ MenuPalette,
+ MenuBarPalette,
+ TextEditPalette,
+ TextLineEditPalette,
+ NPalettes
+ };
static QFont themeFont(Font type);
static QPalette themePalette(Palette type);
- const QFont *font(Font type = SystemFont) const override;
- const QPalette *palette(Palette type = SystemPalette) const override;
+ virtual const QFont *font(Font type = SystemFont) const;
+ virtual const QPalette *palette(Palette type = SystemPalette) const;
void setDefaultFont(const QFont *defaultFont);
void setDefaultPalette(const QPalette *defaultPalette);