1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include "qquickmaterialstyle_p.h"
5#include "qquickmaterialtheme_p.h"
6
7#include <QtQuickControls2/private/qquickstyleplugin_p.h>
8
9QT_BEGIN_NAMESPACE
10
11extern void qml_register_types_QtQuick_Controls_Material();
12Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_Material);
13
14class QtQuickControls2MaterialStylePlugin : public QQuickStylePlugin
15{
16 Q_OBJECT
17 Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
18
19public:
20 QtQuickControls2MaterialStylePlugin(QObject *parent = nullptr);
21
22 QString name() const override;
23 void initializeTheme(QQuickTheme *theme) override;
24 void updateTheme() override;
25
26 QQuickMaterialTheme theme;
27};
28
29QtQuickControls2MaterialStylePlugin::QtQuickControls2MaterialStylePlugin(QObject *parent) : QQuickStylePlugin(parent)
30{
31 volatile auto registration = &qml_register_types_QtQuick_Controls_Material;
32 Q_UNUSED(registration);
33}
34
35QString QtQuickControls2MaterialStylePlugin::name() const
36{
37 return QStringLiteral("Material");
38}
39
40void QtQuickControls2MaterialStylePlugin::initializeTheme(QQuickTheme *theme)
41{
42 QQuickMaterialStyle::initGlobals();
43 this->theme.initialize(theme);
44}
45
46void QtQuickControls2MaterialStylePlugin::updateTheme()
47{
48 theme.updateTheme();
49}
50
51QT_END_NAMESPACE
52
53#include "qtquickcontrols2materialstyleplugin.moc"
54

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

source code of qtdeclarative/src/quickcontrols/material/qtquickcontrols2materialstyleplugin.cpp