Krita Source Code Documentation
Loading...
Searching...
No Matches
KisWdgFilterFastColorOverlay.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
9#include <KisViewManager.h>
10#include <kis_canvas2.h>
13#include <ui_wdgfilterfastcoloroverlay.h>
17
19 : KisConfigWidget(parent)
20 , m_view(nullptr)
21 , m_compositeOp(KisFilterFastColorOverlay::defaultCompositeOp())
22{
23 m_widget.reset(new Ui_WdgFilterFastColorOverlay());
24 m_widget->setupUi(this);
25
26 m_widget->intOpacity->setRange(0, 100);
27 m_widget->intOpacity->setSingleStep(1);
28 m_widget->intOpacity->setPageStep(10);
29
30 connect(m_widget->intOpacity, SIGNAL(valueChanged(int)), SIGNAL(sigConfigurationItemChanged()));
31 connect(m_widget->cmbCompositeOp, SIGNAL(currentIndexChanged(int)), this, SLOT(slotCompositeOpComboIndexChanged(int)));
32 connect(m_widget->bnColor, SIGNAL(changed(const KoColor&)), SIGNAL(sigConfigurationItemChanged()));
33
34 connect(m_widget->radioCompositeOpNormal, SIGNAL(toggled(bool)), this, SLOT(slotCompositeOpNormalToggled(bool)));
35 connect(m_widget->radioCompositeOpTint, SIGNAL(toggled(bool)), this, SLOT(slotCompositeOpTintToggled(bool)));
36 connect(m_widget->radioCompositeOpCustom, SIGNAL(toggled(bool)), this, SLOT(slotCompositeOpCustomToggled(bool)));
37}
38
40
42{
43 m_view = view;
44
45 KoCanvasResourcesInterfaceSP canvasResources = view ? view->canvasBase()->resourceManager()->canvasResourcesInterface() : nullptr;
46 setCanvasResourcesInterface(canvasResources);
47}
48
50{
51 m_widget->intOpacity->setValue(config->getPropertyLazy("opacity", KisFilterFastColorOverlay::defaultOpacity()));
52 m_widget->cmbCompositeOp->selectCompositeOp(KoID(config->getPropertyLazy("compositeopCustom", KisFilterFastColorOverlay::defaultCompositeOp())));
53 m_widget->bnColor->setColor(config->getColor("color", KoColor(KisFilterFastColorOverlay::defaultColor(), KoColorSpaceRegistry::instance()->rgb8())));
54
55 m_compositeOp = KoID(config->getPropertyLazy("compositeop", KisFilterFastColorOverlay::defaultCompositeOp()));
56
58 m_widget->radioCompositeOpNormal->setChecked(true);
59 } else if (m_compositeOp.id() == COMPOSITE_TINT) {
60 m_widget->radioCompositeOpTint->setChecked(true);
61 } else {
62 m_widget->radioCompositeOpCustom->setChecked(true);
63 }
64}
65
67{
69
70 config->setProperty("opacity", m_widget->intOpacity->value());
71 config->setProperty("compositeop", m_compositeOp.id());
72 config->setProperty("compositeopCustom", m_widget->cmbCompositeOp->selectedCompositeOp().id());
73 config->setProperty("color", m_widget->bnColor->color().toQColor());
74
75 return config;
76}
77
86
95
97{
98 m_widget->cmbCompositeOp->setEnabled(checked);
99
100 if (checked) {
101 slotCompositeOpComboIndexChanged(m_widget->cmbCompositeOp->currentIndex());
102 }
103}
104
106{
107 Q_UNUSED(index);
108
109 m_compositeOp = m_widget->cmbCompositeOp->selectedCompositeOp();
110
112}
const QString COMPOSITE_OVER
const QString COMPOSITE_TINT
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
virtual void setCanvasResourcesInterface(KoCanvasResourcesInterfaceSP canvasResourcesInterface)
void sigConfigurationItemChanged()
static KisResourcesInterfaceSP instance()
KisCanvas2 * canvasBase() const
Return the canvas base class.
KisPropertiesConfigurationSP configuration() const override
void setView(KisViewManager *view) override
QScopedPointer< Ui_WdgFilterFastColorOverlay > m_widget
void setConfiguration(const KisPropertiesConfigurationSP) override
QPointer< KoCanvasResourceProvider > resourceManager
Definition KoID.h:30
QString id() const
Definition KoID.cpp:63
static KoColorSpaceRegistry * instance()