diff options
Diffstat (limited to 'src/quickcontrols/ios/qtquickcontrols2iosstyleplugin.cpp')
-rw-r--r-- | src/quickcontrols/ios/qtquickcontrols2iosstyleplugin.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/quickcontrols/ios/qtquickcontrols2iosstyleplugin.cpp b/src/quickcontrols/ios/qtquickcontrols2iosstyleplugin.cpp new file mode 100644 index 0000000000..87110a9936 --- /dev/null +++ b/src/quickcontrols/ios/qtquickcontrols2iosstyleplugin.cpp @@ -0,0 +1,55 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#include "qquickiostheme_p.h" + +#include <QtCore/qloggingcategory.h> +#include <QtQml/qqml.h> +#include <QtQuickControls2/private/qquickstyleplugin_p.h> +#include <QtQuickTemplates2/private/qquicktheme_p.h> + +QT_BEGIN_NAMESPACE + +extern void qml_register_types_QtQuick_Controls_iOS(); +Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_iOS); + +class QtQuickControls2IOSStylePlugin : public QQuickStylePlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) + +public: + QtQuickControls2IOSStylePlugin(QObject *parent = nullptr); + + QString name() const override; + void initializeTheme(QQuickTheme *theme) override; + void updateTheme() override; + + QQuickIOSTheme m_theme; +}; + +QtQuickControls2IOSStylePlugin::QtQuickControls2IOSStylePlugin(QObject *parent) : QQuickStylePlugin(parent) +{ + volatile auto registration = &qml_register_types_QtQuick_Controls_iOS; + Q_UNUSED(registration); +} + +QString QtQuickControls2IOSStylePlugin::name() const +{ + return QStringLiteral("iOS"); +} + +void QtQuickControls2IOSStylePlugin::initializeTheme(QQuickTheme *theme) +{ + m_theme.initialize(theme); +} + +void QtQuickControls2IOSStylePlugin::updateTheme() +{ + QQuickTheme *theme = QQuickTheme::instance(); + m_theme.initialize(theme); +} + +QT_END_NAMESPACE + +#include "qtquickcontrols2iosstyleplugin.moc" |