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
qohoscloseeventcontext.cpp
Go to the documentation of this file.
1
// Copyright (C) 2025 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
"qohoscloseeventcontext_p.h"
5
#
include
<
QtCore
/
qscopeguard
.
h
>
6
#
include
<
QtGui
/
qevent
.
h
>
7
#
include
<
stack
>
8
9
QT_BEGIN_NAMESPACE
10
11
namespace
{
12
13
struct
EventContextData
14
{
15
QOhosCloseEventContext::CloseRootCause
closeRootCause
;
16
QOhosConsumer
<
QOhosCloseEventContext
::
CloseResolution
>
closeResolutionConsumer
;
17
};
18
19
thread_local
std
::
stack
<
EventContextData
>
eventContextDataStack
;
20
21
}
22
23
void
QOhosCloseEventContext::runWithCloseRootCauseSet(CloseRootCause rootCause,
const
std
::function<
void
()> &task)
24
{
25
runWithCloseRootCauseAndCloseResolutionConsumerSet(rootCause, makeQOhosNoOpConsumer(), task);
26
}
27
28
void
QOhosCloseEventContext::runWithCloseRootCauseAndCloseResolutionConsumerSet(
29
CloseRootCause rootCause, QOhosConsumer<CloseResolution> closeResolutionConsumer,
const
std
::function<
void
()> &task)
30
{
31
eventContextDataStack
.push(
32
EventContextData
{
33
.closeRootCause = rootCause,
34
.closeResolutionConsumer =
std
::move(closeResolutionConsumer),
35
});
36
auto
popGuard = qScopeGuard(
37
[&]() {
38
eventContextDataStack
.pop();
39
});
40
task();
41
}
42
43
QOhosCloseEventContext::CloseRootCause QOhosCloseEventContext::getCloseRootCauseForEventOrDefault(QEvent *event)
44
{
45
Q_UNUSED(event);
46
return
CloseRootCause::NotSpecified;
47
}
48
49
void
QOhosCloseEventContext::notifyCloseResolutionFromEventIfValid(QEvent *event)
50
{
51
Q_UNUSED(event);
52
}
53
54
QT_END_NAMESPACE
QT_BEGIN_NAMESPACE::eventContextDataStack
std::stack< EventContextData > eventContextDataStack
Definition
qohoscloseeventcontext.cpp:19
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
QT_BEGIN_NAMESPACE::EventContextData
Definition
qohoscloseeventcontext.cpp:14
QT_BEGIN_NAMESPACE::EventContextData::closeResolutionConsumer
QOhosConsumer< QOhosCloseEventContext::CloseResolution > closeResolutionConsumer
Definition
qohoscloseeventcontext.cpp:16
QT_BEGIN_NAMESPACE::EventContextData::closeRootCause
QOhosCloseEventContext::CloseRootCause closeRootCause
Definition
qohoscloseeventcontext.cpp:15
qtbase
src
plugins
platforms
ohos
qohoscloseeventcontext.cpp
Generated on
for Qt by
1.18.0