Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintOpPresetUpdateProxy.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
KisPaintOpPresetUpdateProxy.h
"
8
9
#include "
kis_signal_compressor.h
"
10
11
#include <
kis_paintop_preset.h
>
12
13
struct
KisPaintOpPresetUpdateProxy::Private
14
{
15
Private
()
16
:
updatesCompressor
(100,
KisSignalCompressor
::FIRST_ACTIVE),
17
updatesBlocked
(0),
18
numUpdatesWhileBlocked
(0)
19
{
20
}
21
22
KisSignalCompressor
updatesCompressor
;
23
int
updatesBlocked
;
24
int
numUpdatesWhileBlocked
;
25
};
26
27
KisPaintOpPresetUpdateProxy::KisPaintOpPresetUpdateProxy
()
28
: m_d(new
Private
)
29
{
30
connect
(&
m_d
->updatesCompressor, SIGNAL(timeout()), SLOT(
slotDeliverSettingsChanged
()));
31
}
32
33
KisPaintOpPresetUpdateProxy::~KisPaintOpPresetUpdateProxy
()
34
{
35
}
36
37
void
KisPaintOpPresetUpdateProxy::notifySettingsChanged
()
38
{
39
if
(
m_d
->updatesBlocked) {
40
m_d
->numUpdatesWhileBlocked++;
41
}
else
{
42
Q_EMIT
sigSettingsChangedUncompressedEarlyWarning
();
43
Q_EMIT
sigSettingsChangedUncompressed
();
44
m_d
->updatesCompressor.start();
45
}
46
}
47
48
void
KisPaintOpPresetUpdateProxy::notifyUniformPropertiesChanged
()
49
{
50
Q_EMIT
sigUniformPropertiesChanged
();
51
}
52
53
void
KisPaintOpPresetUpdateProxy::postponeSettingsChanges
()
54
{
55
m_d
->updatesBlocked++;
56
}
57
58
void
KisPaintOpPresetUpdateProxy::unpostponeSettingsChanges
()
59
{
60
m_d
->updatesBlocked--;
61
62
if
(!
m_d
->updatesBlocked &&
m_d
->numUpdatesWhileBlocked) {
63
m_d
->numUpdatesWhileBlocked = 0;
64
Q_EMIT
sigSettingsChangedUncompressedEarlyWarning
();
65
Q_EMIT
sigSettingsChangedUncompressed
();
66
Q_EMIT
sigSettingsChanged
();
67
}
68
}
69
70
void
KisPaintOpPresetUpdateProxy::slotDeliverSettingsChanged
()
71
{
72
if
(
m_d
->updatesBlocked) {
73
m_d
->numUpdatesWhileBlocked++;
74
}
else
{
75
Q_EMIT
sigSettingsChanged
();
76
}
77
}
KisPaintOpPresetUpdateProxy.h
connect
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisPaintOpPresetUpdateProxy::KisPaintOpPresetUpdateProxy
KisPaintOpPresetUpdateProxy()
Definition
KisPaintOpPresetUpdateProxy.cpp:27
KisPaintOpPresetUpdateProxy::notifySettingsChanged
void notifySettingsChanged()
Definition
KisPaintOpPresetUpdateProxy.cpp:37
KisPaintOpPresetUpdateProxy::notifyUniformPropertiesChanged
void notifyUniformPropertiesChanged()
Definition
KisPaintOpPresetUpdateProxy.cpp:48
KisPaintOpPresetUpdateProxy::slotDeliverSettingsChanged
void slotDeliverSettingsChanged()
Definition
KisPaintOpPresetUpdateProxy.cpp:70
KisPaintOpPresetUpdateProxy::sigSettingsChangedUncompressed
void sigSettingsChangedUncompressed()
KisPaintOpPresetUpdateProxy::sigUniformPropertiesChanged
void sigUniformPropertiesChanged()
KisPaintOpPresetUpdateProxy::postponeSettingsChanges
void postponeSettingsChanges()
Definition
KisPaintOpPresetUpdateProxy.cpp:53
KisPaintOpPresetUpdateProxy::m_d
const QScopedPointer< Private > m_d
Definition
KisPaintOpPresetUpdateProxy.h:65
KisPaintOpPresetUpdateProxy::~KisPaintOpPresetUpdateProxy
~KisPaintOpPresetUpdateProxy() override
Definition
KisPaintOpPresetUpdateProxy.cpp:33
KisPaintOpPresetUpdateProxy::sigSettingsChangedUncompressedEarlyWarning
void sigSettingsChangedUncompressedEarlyWarning()
KisPaintOpPresetUpdateProxy::sigSettingsChanged
void sigSettingsChanged()
KisPaintOpPresetUpdateProxy::unpostponeSettingsChanges
void unpostponeSettingsChanges()
Definition
KisPaintOpPresetUpdateProxy.cpp:58
KisSignalCompressor
Definition
kis_signal_compressor.h:49
kis_paintop_preset.h
kis_signal_compressor.h
Private
Definition
SvgTransformParser.cpp:20
KisPaintOpPresetUpdateProxy::Private
Definition
KisPaintOpPresetUpdateProxy.cpp:14
KisPaintOpPresetUpdateProxy::Private::updatesCompressor
KisSignalCompressor updatesCompressor
Definition
KisPaintOpPresetUpdateProxy.cpp:22
KisPaintOpPresetUpdateProxy::Private::Private
Private()
Definition
KisPaintOpPresetUpdateProxy.cpp:15
KisPaintOpPresetUpdateProxy::Private::updatesBlocked
int updatesBlocked
Definition
KisPaintOpPresetUpdateProxy.cpp:23
KisPaintOpPresetUpdateProxy::Private::numUpdatesWhileBlocked
int numUpdatesWhileBlocked
Definition
KisPaintOpPresetUpdateProxy.cpp:24
libs
image
brushengine
KisPaintOpPresetUpdateProxy.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52