Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtquickcontrols2fluentwinui3styleplugin.cpp
Go to the documentation of this file.
1// Copyright (C) 2024 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// Qt-Security score:significant reason:default
4
5#include <private/qquickfluentwinui3focusframe_p.h>
6#include <private/qquickfluentwinui3theme_p.h>
7#include <private/qquickstyleplugin_p.h>
8#include <private/qquicktheme_p.h>
9
11
14
16{
17 Q_OBJECT
18 Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
19
20public:
22
23 QString name() const override;
24 void initializeEngine(QQmlEngine *engine, const char *uri) override;
25 void initializeTheme(QQuickTheme *theme) override;
27
30};
31
32QtQuickControls2FluentWinUI3StylePlugin::QtQuickControls2FluentWinUI3StylePlugin(QObject *parent) : QQuickStylePlugin(parent)
33{
34 volatile auto registration = &qml_register_types_QtQuick_Controls_FluentWinUI3;
35 Q_UNUSED(registration);
36}
37
39{
40 return QStringLiteral("FluentWinUI3");
41}
42
43void QtQuickControls2FluentWinUI3StylePlugin::initializeEngine(QQmlEngine *engine, const char *uri)
44{
45 QQuickStylePlugin::initializeEngine(engine, uri);
46 m_focusFrame.reset(new QQuickFluentWinUI3FocusFrame());
47}
48
50{
51 this->theme.initialize(theme);
52}
53
55{
56 auto *theme = QQuickTheme::instance();
57 if (theme)
58 theme->setPalette(QQuickTheme::System, this->theme.initializeDefaultPalette());
59 // TODO: Update the font too if needed
60}
61
62QT_END_NAMESPACE
63
64#include "qtquickcontrols2fluentwinui3styleplugin.moc"
void initializeEngine(QQmlEngine *engine, const char *uri) override
Initializes the extension from the uri using the engine.
QScopedPointer< QQuickFluentWinUI3FocusFrame > m_focusFrame
QT_BEGIN_NAMESPACE void qml_register_types_QtQuick_Controls_FluentWinUI3()
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_Controls_FluentWinUI3)