Krita Source Code Documentation
Loading...
Searching...
No Matches
KisGradientMapFilterConfigWidget.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the KDE project
3 *
4 * SPDX-FileCopyrightText: 2016 Spencer Brown <sbrown655@gmail.com>
5 * SPDX-FileCopyrightText: 2020 Deif Lou <ginoba@gmail.com>
6 *
7 * SPDX-License-Identifier: GPL-2.0-or-later
8 */
9
12#include <KisViewManager.h>
14#include <kis_signals_blocker.h>
15
18
19
21 : KisConfigWidget(parent, f)
22{
23 m_ui.setupUi(this);
24
26
27 m_ui.widgetGradientEditor->setContentsMargins(10, 10, 10, 10);
28 m_ui.widgetGradientEditor->loadUISettings();
29
30 connect(m_ui.widgetGradientEditor, SIGNAL(sigGradientChanged()), m_gradientChangedCompressor, SLOT(start()));
31 connect(m_gradientChangedCompressor, SIGNAL(timeout()), this, SIGNAL(sigConfigurationItemChanged()));
32 connect(m_ui.comboBoxColorMode, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &KisConfigWidget::sigConfigurationItemChanged);
33 connect(m_ui.widgetDither, SIGNAL(sigConfigurationItemChanged()), this, SIGNAL(sigConfigurationItemChanged()));
34}
35
37{
38 m_ui.widgetGradientEditor->saveUISettings();
39}
40
42{
44
45 KoAbstractGradientSP gradient = m_ui.widgetGradientEditor->gradient();
46
48 if (gradient && canvasResourcesInterface()) {
49 gradient->bakeVariableColors(canvasResourcesInterface());
50 }
51 config->setGradient(gradient);
52
53 config->setColorMode(m_ui.comboBoxColorMode->currentIndex());
54 m_ui.widgetDither->configuration(*config, "dither/");
55
56 return config;
57}
58
60{
61 const KisGradientMapFilterConfiguration *filterConfig =
62 dynamic_cast<const KisGradientMapFilterConfiguration*>(config.data());
63 Q_ASSERT(filterConfig);
64
65 {
66 KisSignalsBlocker signalsBlocker(this);
67
68 KoAbstractGradientSP fallbackGradient = nullptr;
69
72 KoAbstractGradientSP currentGradient =
74 if (currentGradient) {
75 fallbackGradient = currentGradient->clone().dynamicCast<KoAbstractGradient>();
76 }
77 }
78 KisSignalsBlocker b(m_ui.widgetGradientEditor);
79 m_ui.widgetGradientEditor->setGradient(filterConfig->gradient(fallbackGradient));
80 m_ui.comboBoxColorMode->setCurrentIndex(filterConfig->colorMode());
81 m_ui.widgetDither->setConfiguration(*filterConfig, "dither/");
82 }
83
85}
86
92
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KoCanvasResourceProvider * resourceManager()
virtual void setCanvasResourcesInterface(KoCanvasResourcesInterfaceSP canvasResourcesInterface)
void sigConfigurationItemChanged()
virtual KoCanvasResourcesInterfaceSP canvasResourcesInterface() const
static KisResourcesInterfaceSP instance()
void setConfiguration(const KisPropertiesConfigurationSP config) override
void setView(KisViewManager *view) override
KisGradientMapFilterConfigWidget(QWidget *parent, Qt::WindowFlags f=Qt::WindowFlags())
void setCanvasResourcesInterface(KoCanvasResourcesInterfaceSP canvasResourcesInterface) override
KisPropertiesConfigurationSP configuration() const override
KoAbstractGradientSP gradient(KoAbstractGradientSP fallbackGradient=nullptr) const
void setGradient(KoAbstractGradientSP newGradient)
KisCanvasResourceProvider * canvasResourceProvider()
KoCanvasResourcesInterfaceSP canvasResourcesInterface() const
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:130