Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintOpPresetUpdateProxy Class Reference

The KisPaintOpPresetUpdateProxy class. More...

#include <KisPaintOpPresetUpdateProxy.h>

+ Inheritance diagram for KisPaintOpPresetUpdateProxy:

Classes

struct  Private
 

Signals

void sigSettingsChanged ()
 
void sigSettingsChangedUncompressed ()
 
void sigSettingsChangedUncompressedEarlyWarning ()
 
void sigUniformPropertiesChanged ()
 

Public Member Functions

 KisPaintOpPresetUpdateProxy ()
 
void notifySettingsChanged ()
 
void notifyUniformPropertiesChanged ()
 
void postponeSettingsChanges ()
 
void unpostponeSettingsChanges ()
 
 ~KisPaintOpPresetUpdateProxy () override
 

Private Slots

void slotDeliverSettingsChanged ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

The KisPaintOpPresetUpdateProxy class.

Definition at line 19 of file KisPaintOpPresetUpdateProxy.h.

Constructor & Destructor Documentation

◆ KisPaintOpPresetUpdateProxy()

KisPaintOpPresetUpdateProxy::KisPaintOpPresetUpdateProxy ( )

Definition at line 27 of file KisPaintOpPresetUpdateProxy.cpp.

28 : m_d(new Private)
29{
30 connect(&m_d->updatesCompressor, SIGNAL(timeout()), SLOT(slotDeliverSettingsChanged()));
31}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
const QScopedPointer< Private > m_d

References connect(), m_d, and slotDeliverSettingsChanged().

◆ ~KisPaintOpPresetUpdateProxy()

KisPaintOpPresetUpdateProxy::~KisPaintOpPresetUpdateProxy ( )
override

Definition at line 33 of file KisPaintOpPresetUpdateProxy.cpp.

34{
35}

Member Function Documentation

◆ notifySettingsChanged()

void KisPaintOpPresetUpdateProxy::notifySettingsChanged ( )

Definition at line 37 of file KisPaintOpPresetUpdateProxy.cpp.

38{
39 if (m_d->updatesBlocked) {
40 m_d->numUpdatesWhileBlocked++;
41 } else {
44 m_d->updatesCompressor.start();
45 }
46}
void sigSettingsChangedUncompressedEarlyWarning()

References m_d, sigSettingsChangedUncompressed(), and sigSettingsChangedUncompressedEarlyWarning().

◆ notifyUniformPropertiesChanged()

void KisPaintOpPresetUpdateProxy::notifyUniformPropertiesChanged ( )

Definition at line 48 of file KisPaintOpPresetUpdateProxy.cpp.

49{
51}

References sigUniformPropertiesChanged().

◆ postponeSettingsChanges()

void KisPaintOpPresetUpdateProxy::postponeSettingsChanges ( )

Blocks all sigSettingsChanged() signals until unpostponeSettingsChanges() is called. Used to perform "atomic" writing operations.

See also
unpostponeSettingsChanges()

Definition at line 53 of file KisPaintOpPresetUpdateProxy.cpp.

54{
55 m_d->updatesBlocked++;
56}

References m_d.

◆ sigSettingsChanged

void KisPaintOpPresetUpdateProxy::sigSettingsChanged ( )
signal

◆ sigSettingsChangedUncompressed

void KisPaintOpPresetUpdateProxy::sigSettingsChangedUncompressed ( )
signal

◆ sigSettingsChangedUncompressedEarlyWarning

void KisPaintOpPresetUpdateProxy::sigSettingsChangedUncompressedEarlyWarning ( )
signal

Uncompressed signals are delivered in two stages. Firstly, the early warning version is emitted, then the normal. The early warning version is needed to let critical code, like KisPresetShadowUpdater, to perform necessary actions before other receivers got the notification. Don't use it unless you know what you are doing. Use normal sigSettingsChangedUncompressed() instead.

◆ sigUniformPropertiesChanged

void KisPaintOpPresetUpdateProxy::sigUniformPropertiesChanged ( )
signal

◆ slotDeliverSettingsChanged

void KisPaintOpPresetUpdateProxy::slotDeliverSettingsChanged ( )
privateslot

Definition at line 70 of file KisPaintOpPresetUpdateProxy.cpp.

71{
72 if (m_d->updatesBlocked) {
73 m_d->numUpdatesWhileBlocked++;
74 } else {
75 Q_EMIT sigSettingsChanged();
76 }
77}

References m_d, and sigSettingsChanged().

◆ unpostponeSettingsChanges()

void KisPaintOpPresetUpdateProxy::unpostponeSettingsChanges ( )

Unblocks sigSettingsChanged() and emits one signal if there were at least one dropped signal while the block was held.

Definition at line 58 of file KisPaintOpPresetUpdateProxy.cpp.

59{
60 m_d->updatesBlocked--;
61
62 if (!m_d->updatesBlocked && m_d->numUpdatesWhileBlocked) {
63 m_d->numUpdatesWhileBlocked = 0;
66 Q_EMIT sigSettingsChanged();
67 }
68}

References m_d, sigSettingsChanged(), sigSettingsChangedUncompressed(), and sigSettingsChangedUncompressedEarlyWarning().

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisPaintOpPresetUpdateProxy::m_d
private

Definition at line 65 of file KisPaintOpPresetUpdateProxy.h.


The documentation for this class was generated from the following files: