Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qtquickcontrols2nativestyleplugin.cpp
Go to the documentation of this file.
1
// Copyright (C) 2020 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
/
qquickstyleplugin_p
.
h
>
6
7
#
include
<
QtQml
/
qqml
.
h
>
8
#
include
<
QtQml
/
qqmlextensionplugin
.
h
>
9
10
#
if
defined
(
Q_OS_MACOS
)
11
#
include
<
private
/
qquickmacfocusframe_p
.
h
>
12
#
elif
defined
(
Q_OS_WINDOWS
)
13
#
include
<
private
/
qquickwindowsfocusframe_p
.
h
>
14
#
endif
15
16
QT_BEGIN_NAMESPACE
17
18
extern
void
qml_register_types_QtQuick_NativeStyle
();
19
Q_GHS_KEEP_REFERENCE
(
qml_register_types_QtQuick_NativeStyle
);
20
21
namespace
QQC2
{
22
23
class
QtQuickControls2NativeStylePlugin
:
public
QQuickStylePlugin
24
{
25
Q_OBJECT
26
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
27
28
public
:
29
QtQuickControls2NativeStylePlugin
(
QObject
*
parent
=
nullptr
);
30
~
QtQuickControls2NativeStylePlugin
()
override
=
default
;
31
32
void
initializeEngine
(QQmlEngine *,
const
char
*
/*uri*/
)
override
;
33
34
void
initializeTheme
(QQuickTheme *)
override
{ }
35
QString
name
()
const
override
{
return
QStringLiteral(
"NativeStyle"
); }
36
};
37
38
QtQuickControls2NativeStylePlugin
::QtQuickControls2NativeStylePlugin(QObject *parent):
39
QQuickStylePlugin(parent)
40
{
41
volatile
auto
registration = &qml_register_types_QtQuick_NativeStyle;
42
Q_UNUSED(registration);
43
}
44
45
static
std
::
unique_ptr
<
QQuickFocusFrame
>
g_focusFrame
;
46
47
void
QtQuickControls2NativeStylePlugin
::
initializeEngine
(QQmlEngine *,
const
char
*)
48
{
49
if
(
g_focusFrame
)
50
return
;
51
52
#
if
defined
(
Q_OS_MACOS
)
53
g_focusFrame = std::make_unique<QQuickMacFocusFrame>();
54
#
elif
defined
(
Q_OS_WIN
)
55
g_focusFrame = std::make_unique<QQuickWindowsFocusFrame>();
56
#
endif
57
if
(!g_focusFrame)
58
return
;
59
60
qAddPostRoutine([] {
61
g_focusFrame
.reset();
62
});
63
}
64
65
}
// namespace QQC2
66
67
QT_END_NAMESPACE
68
69
#
include
"qtquickcontrols2nativestyleplugin.moc"
QQC2::QtQuickControls2NativeStylePlugin
Definition
qtquickcontrols2nativestyleplugin.cpp:24
QQC2::QtQuickControls2NativeStylePlugin::initializeEngine
void initializeEngine(QQmlEngine *, const char *) override
Initializes the extension from the uri using the engine.
Definition
qtquickcontrols2nativestyleplugin.cpp:47
QQC2::QtQuickControls2NativeStylePlugin::~QtQuickControls2NativeStylePlugin
~QtQuickControls2NativeStylePlugin() override=default
QQC2::QtQuickControls2NativeStylePlugin::initializeTheme
void initializeTheme(QQuickTheme *) override
Definition
qtquickcontrols2nativestyleplugin.cpp:34
QQC2::QtQuickControls2NativeStylePlugin::name
QString name() const override
Definition
qtquickcontrols2nativestyleplugin.cpp:35
QQC2
Definition
qquickmacstyle_mac_p_p.h:52
QQC2::g_focusFrame
static std::unique_ptr< QQuickFocusFrame > g_focusFrame
Definition
qtquickcontrols2nativestyleplugin.cpp:45
qml_register_types_QtQuick_NativeStyle
QT_BEGIN_NAMESPACE void qml_register_types_QtQuick_NativeStyle()
Q_GHS_KEEP_REFERENCE
Q_GHS_KEEP_REFERENCE(qml_register_types_QtQuick_NativeStyle)
qtdeclarative
src
quickcontrols
quicknativestyle
qtquickcontrols2nativestyleplugin.cpp
Generated on
for Qt by
1.18.0