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

#include <kis_color_history.h>

+ Inheritance diagram for KisColorHistory:

Public Slots

void addColorToHistory (const KoColor &color)
 
void clearColorHistory ()
 
void colorHistoryChanged (const QList< KoColor > &history)
 
void updateUserSettings ()
 
- Public Slots inherited from KisColorPatches
void updateSettings () override
 
- Public Slots inherited from KisColorSelectorBase
virtual void reset ()
 
virtual void showPopup (Move move=MoveToMousePosition)
 
virtual void updateSettings ()
 

Public Member Functions

 KisColorHistory (QWidget *parent=0)
 
void setCanvas (KisCanvas2 *canvas) override
 
void unsetCanvas () override
 
- Public Member Functions inherited from KisColorPatches
void addColorPatch (const KoColor &color)
 
QList< KoColorcolors () const
 
 KisColorPatches (QString configPrefix, QWidget *parent=0)
 
void mousePressEvent (QMouseEvent *) override
 
void mouseReleaseEvent (QMouseEvent *) override
 
int patchCount () const
 
void setAdditionalButtons (QList< QWidget * > buttonList)
 
void setCanvas (KisCanvas2 *canvas) override
 
void setColors (const QList< KoColor > &colors)
 
void unsetCanvas () override
 
- Public Member Functions inherited from KisColorSelectorBase
const KoColorSpacecolorSpace () const
 
KisDisplayColorConverterconverter () const
 
void enterEvent (QEnterEvent *e) override
 
 KisColorSelectorBase (QWidget *parent=0)
 
void leaveEvent (QEvent *e) override
 
void mousePressEvent (QMouseEvent *) override
 
void mouseReleaseEvent (QMouseEvent *) override
 
virtual void setColor (const KoColor &color)
 
void setColorSpace (const KoColorSpace *colorSpace)
 
void setPopupBehaviour (bool onMouseOver, bool onMouseClick)
 
void showColorPreview ()
 
void slotUpdateColorAndPreview (QPair< KoColor, Acs::ColorRole > color)
 
void tryHideAllPopups ()
 
void updateBaseColorPreview (const KoColor &color)
 
void updateColor (const KoColor &color, Acs::ColorRole role, bool needsExplicitColorReset)
 
void updateColorPreview (const KoColor &color)
 
void updatePreviousColorPreview ()
 
 ~KisColorSelectorBase () override
 

Protected Member Functions

KisColorSelectorBasecreatePopup () const override
 
- Protected Member Functions inherited from KisColorSelectorBase
void changeEvent (QEvent *event) override
 
void dragEnterEvent (QDragEnterEvent *) override
 
void dropEvent (QDropEvent *) override
 
bool isPopup () const
 
void keyPressEvent (QKeyEvent *) override
 
void mouseMoveEvent (QMouseEvent *event) override
 
void requestUpdateColorAndPreview (const KoColor &color, Acs::ColorRole role)
 
void setHidingTime (int time)
 
void showEvent (QShowEvent *event) override
 

Private Member Functions

QList< KoColorcolorHistory ()
 
void updateColorHistory (const QList< KoColor > &history)
 

Private Attributes

QToolButton * m_clearButton
 
KisDocumentm_document
 
bool m_history_per_document = false
 
KisCanvasResourceProviderm_resourceProvider
 

Additional Inherited Members

- Public Types inherited from KisColorPatches
enum  Direction { Horizontal , Vertical }
 
- Public Types inherited from KisColorSelectorBase
enum  Move { MoveToMousePosition , DontMove }
 
- Protected Slots inherited from KisColorSelectorBase
virtual void canvasResourceChanged (int key, const QVariant &v)
 if you overwrite this, keep in mind, that you should set the color only, if m_colorUpdateAllowed is true
 
void hidePopup ()
 
void updateLastUsedColorPreview (const KoColor &color)
 
- Protected Attributes inherited from KisColorSelectorBase
QPointer< KisCanvas2m_canvas
 
bool m_colorUpdateAllowed
 
bool m_colorUpdateSelf
 
QWidget * m_parent
 
KisColorSelectorBasem_popup
 

Detailed Description

Definition at line 16 of file kis_color_history.h.

Constructor & Destructor Documentation

◆ KisColorHistory()

KisColorHistory::KisColorHistory ( QWidget * parent = 0)
explicit

Definition at line 23 of file kis_color_history.cpp.

24 : KisColorPatches("lastUsedColors", parent)
25 , m_document(0)
27{
28 m_clearButton = new QToolButton(this);
29 m_clearButton->setIcon(KisIconUtils::loadIcon("dialog-cancel-16"));
30 m_clearButton->setToolTip(i18n("Clear all color history"));
31 m_clearButton->setAutoRaise(true);
33
34 connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clearColorHistory()));
35 connect(KisConfigNotifier::instance(), SIGNAL(colorHistoryModeChanged()), this, SLOT(updateUserSettings()));
36 connect(s_color_history_change_notifier, SIGNAL(colorHistoryChanged(const QList<KoColor>&)),
37 this, SLOT(colorHistoryChanged(const QList<KoColor>&)));
38
40}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QToolButton * m_clearButton
KisDocument * m_document
void colorHistoryChanged(const QList< KoColor > &history)
KisCanvasResourceProvider * m_resourceProvider
void setAdditionalButtons(QList< QWidget * > buttonList)
KisColorPatches(QString configPrefix, QWidget *parent=0)
static KisConfigNotifier * instance()
QIcon loadIcon(const QString &name)

References clearColorHistory(), colorHistoryChanged(), connect(), KisConfigNotifier::instance(), KisIconUtils::loadIcon(), m_clearButton, KisColorPatches::setAdditionalButtons(), and updateUserSettings().

Member Function Documentation

◆ addColorToHistory

void KisColorHistory::addColorToHistory ( const KoColor & color)
slot

Definition at line 77 of file kis_color_history.cpp.

78{
79 // don't add color in erase mode. See https://bugs.kde.org/show_bug.cgi?id=298940
81
83
85 s_color_history_change_notifier->notifyColorHistoryChanged(colors());
86}
const QString COMPOSITE_ERASE
void updateColorHistory(const QList< KoColor > &history)
QList< KoColor > colors() const
void addColorPatch(const KoColor &color)

References KisColorPatches::addColorPatch(), KisColorPatches::colors(), COMPOSITE_ERASE, KisCanvasResourceProvider::currentCompositeOp(), m_resourceProvider, and updateColorHistory().

◆ clearColorHistory

void KisColorHistory::clearColorHistory ( )
slot

Definition at line 88 of file kis_color_history.cpp.

89{
90 QList<KoColor> empty;
91 updateColorHistory(empty);
92 s_color_history_change_notifier->notifyColorHistoryChanged(empty);
93}

References updateColorHistory().

◆ colorHistory()

QList< KoColor > KisColorHistory::colorHistory ( )
private

Definition at line 95 of file kis_color_history.cpp.

96{
98 return m_document->colorHistory();
99 } else if (m_resourceProvider) {
101 } else {
102 return QList<KoColor>();
103 }
104}
QList< KoColor > colorHistory

References KisCanvasResourceProvider::colorHistory(), KisDocument::colorHistory, m_document, m_history_per_document, and m_resourceProvider.

◆ colorHistoryChanged

void KisColorHistory::colorHistoryChanged ( const QList< KoColor > & history)
slot

Definition at line 131 of file kis_color_history.cpp.

132{
133 KIS_SAFE_ASSERT_RECOVER_RETURN(sender() != this);
134
135 if (m_resourceProvider) {
137 }
138 setColors(history);
139}
void setColorHistory(const QList< KoColor > &colors)
void setColors(const QList< KoColor > &colors)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, m_resourceProvider, KisCanvasResourceProvider::setColorHistory(), and KisColorPatches::setColors().

◆ createPopup()

KisColorSelectorBase * KisColorHistory::createPopup ( ) const
overrideprotectedvirtual

Implements KisColorSelectorBase.

Definition at line 69 of file kis_color_history.cpp.

70{
72 ret->setCanvas(m_canvas);
73 ret->setColors(colors());
74 return ret;
75}
KisColorHistory(QWidget *parent=0)
void setCanvas(KisCanvas2 *canvas) override
QPointer< KisCanvas2 > m_canvas

References KisColorPatches::colors(), KisColorHistory(), KisColorSelectorBase::m_canvas, setCanvas(), and KisColorPatches::setColors().

◆ setCanvas()

void KisColorHistory::setCanvas ( KisCanvas2 * canvas)
overridevirtual

Reimplemented from KisColorSelectorBase.

Definition at line 50 of file kis_color_history.cpp.

51{
52 if (!canvas) return;
53
55
57 m_resourceProvider->disconnect(this);
58 }
59
60 m_resourceProvider = canvas->imageView()->resourceProvider();
61 m_document = canvas->viewManager()->document();
62
64
65 connect(m_resourceProvider, SIGNAL(sigFGColorUsed(KoColor)),
66 this, SLOT(addColorToHistory(KoColor)), Qt::UniqueConnection);
67}
KisViewManager * viewManager() const
QPointer< KisView > imageView() const
QList< KoColor > colorHistory()
void addColorToHistory(const KoColor &color)
void setCanvas(KisCanvas2 *canvas) override
KisDocument * document() const

References addColorToHistory(), colorHistory(), connect(), KisViewManager::document(), KisCanvas2::imageView(), m_document, m_resourceProvider, KisColorPatches::setCanvas(), KisColorPatches::setColors(), and KisCanvas2::viewManager().

◆ unsetCanvas()

void KisColorHistory::unsetCanvas ( )
overridevirtual

Reimplemented from KisColorSelectorBase.

Definition at line 42 of file kis_color_history.cpp.

43{
45 m_document = 0;
46
48}
void unsetCanvas() override

References m_document, m_resourceProvider, and KisColorPatches::unsetCanvas().

◆ updateColorHistory()

void KisColorHistory::updateColorHistory ( const QList< KoColor > & history)
private

Resource provider saves the history all the time, whatever the option state is.

Definition at line 106 of file kis_color_history.cpp.

107{
109 m_document->setColorHistory(history);
110 }
111
116 if (m_resourceProvider) {
118 }
119
120 setColors(history);
121}
void setColorHistory(const QList< KoColor > &colors)

References m_document, m_history_per_document, m_resourceProvider, KisCanvasResourceProvider::setColorHistory(), KisDocument::setColorHistory(), and KisColorPatches::setColors().

◆ updateUserSettings

void KisColorHistory::updateUserSettings ( )
slot

Definition at line 123 of file kis_color_history.cpp.

124{
125
126 KisConfig config(true);
127 m_history_per_document = config.colorHistoryPerDocument();
128 updateColorHistory(colorHistory()); // Show with respect to the current strategy
129}

References colorHistory(), KisConfig::colorHistoryPerDocument(), m_history_per_document, and updateColorHistory().

Member Data Documentation

◆ m_clearButton

QToolButton* KisColorHistory::m_clearButton
private

Definition at line 46 of file kis_color_history.h.

◆ m_document

KisDocument* KisColorHistory::m_document
private

Definition at line 47 of file kis_color_history.h.

◆ m_history_per_document

bool KisColorHistory::m_history_per_document = false
private

Definition at line 44 of file kis_color_history.h.

◆ m_resourceProvider

KisCanvasResourceProvider* KisColorHistory::m_resourceProvider
private

Definition at line 48 of file kis_color_history.h.


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