Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_wdg_color_to_alpha.cpp
Go to the documentation of this file.
1/*
2 * This file is part of Krita
3 *
4 * SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.net>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
10#include <QCheckBox>
11#include <QLayout>
12#include <QSpinBox>
13
14#include <KoColor.h>
15#include <KoToolManager.h>
16
17#include <KisViewManager.h>
18#include <kis_canvas2.h>
20#include <filter/kis_filter.h>
22#include <kis_selection.h>
23#include <kis_paint_device.h>
27
28#include "ui_wdgcolortoalphabase.h"
29
31 : KisConfigWidget(parent),
32 m_view(0)
33{
34 m_widget = new Ui_WdgColorToAlphaBase();
35 m_widget->setupUi(this);
36
37 m_widget->textLabel1->hide();
38
39 m_widget->intThreshold->setRange(1, 255, 0);
40
41 connect(m_widget->colorSelector, SIGNAL(sigNewColor(KoColor)), SLOT(slotColorSelectorChanged(KoColor)));
42 connect(m_widget->intThreshold, SIGNAL(valueChanged(qreal)), SIGNAL(sigConfigurationItemChanged()));
43 connect(m_widget->btnCustomColor, SIGNAL(changed(KoColor)), SLOT(slotCustomColorSelected(KoColor)));
44
45 KoColor c(Qt::white, KoColorSpaceRegistry::instance()->rgb8());
46 m_widget->btnCustomColor->setColor(c);
47}
48
53
55{
56 m_view = view;
57
58 KoCanvasResourcesInterfaceSP canvasResources = view ? view->canvasBase()->resourceManager()->canvasResourcesInterface() : nullptr;
59 setCanvasResourcesInterface(canvasResources);
60}
61
63{
64 m_widget->btnCustomColor->setColor(color);
65}
66
68{
69 m_widget->btnCustomColor->setColor(color);
70}
71
73{
74 KoColor c(color, KoColorSpaceRegistry::instance()->rgb8());
75 m_widget->colorSelector->slotSetColor(color);
77}
78
80{
81 QVariant value;
82 if (config->getProperty("targetcolor", value)) {
83 KoColor c;
84 if (value.value<QColor>().isValid()) {
85 c = KoColor(value.value<QColor>(), KoColorSpaceRegistry::instance()->rgb8());
86 } else {
87 c = value.value<KoColor>();
88 }
89 m_widget->colorSelector->slotSetColor(c);
90 }
91 if (config->getProperty("threshold", value)) {
92 m_widget->intThreshold->setValue(value.toInt());
93 }
94}
95
97{
99 config->setProperty("targetcolor", widget()->colorSelector->getCurrentColor().toQColor());
100 config->setProperty("threshold", widget()->intThreshold->value());
101 return config;
102}
103
105{
106 if (m_view) {
107 disconnect(m_view->canvasResourceProvider(), SIGNAL(sigFGColorChanged(KoColor)), this, SLOT(slotFgColorChanged(KoColor)));
108 }
109}
110
112{
113 if (m_view) {
114 connect(m_view->canvasResourceProvider(), SIGNAL(sigFGColorChanged(KoColor)), this, SLOT(slotFgColorChanged(KoColor)));
115 }
116}
117
118
float value(const T *src, size_t ch)
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.
KisCanvasResourceProvider * canvasResourceProvider()
void slotFgColorChanged(const KoColor &color)
Ui_WdgColorToAlphaBase * m_widget
void slotColorSelectorChanged(const KoColor &color)
void slotCustomColorSelected(const KoColor &color)
KisWdgColorToAlpha(QWidget *parent)
void setConfiguration(const KisPropertiesConfigurationSP) override
void setView(KisViewManager *view) override
void hideEvent(QHideEvent *) override
const Ui_WdgColorToAlphaBase * widget() const
void showEvent(QShowEvent *) override
KisPropertiesConfigurationSP configuration() const override
QPointer< KoCanvasResourceProvider > resourceManager
static KoColorSpaceRegistry * instance()
const KoColorSpace * rgb8(const QString &profileName=QString())