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

#include <kis_derived_resources.h>

+ Inheritance diagram for KisPresetUpdateMediator:

Classes

struct  Private
 

Public Member Functions

void connectResource (QVariant sourceResource) override
 
 KisPresetUpdateMediator ()
 
 ~KisPresetUpdateMediator () override
 
- Public Member Functions inherited from KoResourceUpdateMediator
int key () const
 
 KoResourceUpdateMediator (int key)
 
 ~KoResourceUpdateMediator () override
 

Private Slots

void slotResourceChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles)
 
void slotSettingsChanged ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Additional Inherited Members

- Signals inherited from KoResourceUpdateMediator
void sigResourceChanged (int key)
 

Detailed Description

Definition at line 14 of file kis_derived_resources.h.

Constructor & Destructor Documentation

◆ KisPresetUpdateMediator()

KisPresetUpdateMediator::KisPresetUpdateMediator ( )

Definition at line 25 of file kis_derived_resources.cpp.

27 m_d(new Private)
28{
29 connect(&m_d->model, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)),
30 this, SLOT(slotResourceChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)));
31}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
const QScopedPointer< Private > m_d
void slotResourceChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles)

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

◆ ~KisPresetUpdateMediator()

KisPresetUpdateMediator::~KisPresetUpdateMediator ( )
override

Definition at line 33 of file kis_derived_resources.cpp.

34{
35}

Member Function Documentation

◆ connectResource()

void KisPresetUpdateMediator::connectResource ( QVariant sourceResource)
overridevirtual

Implements KoResourceUpdateMediator.

Definition at line 37 of file kis_derived_resources.cpp.

38{
39 KisPaintOpPresetSP preset = sourceResource.value<KisPaintOpPresetSP>();
40 if (!preset) return;
41
42 m_d->connections.clear();
43 m_d->connections.addUniqueConnection(
44 preset->updateProxy(),
45 SIGNAL(sigSettingsChanged()),
46 this,
47 SLOT(slotSettingsChanged()));
48
49 m_d->linkedResourceIndex = m_d->model.indexForResource(preset);
50}

References m_d, and slotSettingsChanged().

◆ slotResourceChanged

void KisPresetUpdateMediator::slotResourceChanged ( const QModelIndex & topLeft,
const QModelIndex & bottomRight,
const QVector< int > & roles )
privateslot

the name of the preset is stored in KoResource, not in KisPaintOpSettings, so we should track it separately

Definition at line 57 of file kis_derived_resources.cpp.

58{
59 Q_UNUSED(roles)
60
61
63
64 if (m_d->linkedResourceIndex.row() >= topLeft.row() &&
65 m_d->linkedResourceIndex.row() <= bottomRight.row()) {
66
67 Q_EMIT sigResourceChanged(key());
68 }
69}
void sigResourceChanged(int key)

References KoResourceUpdateMediator::key(), m_d, and KoResourceUpdateMediator::sigResourceChanged().

◆ slotSettingsChanged

void KisPresetUpdateMediator::slotSettingsChanged ( )
privateslot

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisPresetUpdateMediator::m_d
private

Definition at line 28 of file kis_derived_resources.h.


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