19#include <QResizeEvent>
26 , m_generatorWidget(nullptr)
36 ui()->comboBoxGenerator->addItem(i18n(
"None"));
39 ui()->comboBoxGenerator->addItem(generator->
name());
42 QVBoxLayout *generatorContainerLayout =
new QVBoxLayout(
ui()->widgetGeneratorContainer);
43 generatorContainerLayout->setContentsMargins(0, 0, 0, 0);
45 ui()->sliderHardness->setRange(0.0, 100.0, 2);
46 ui()->sliderHardness->setSingleStep(1.0);
48 i18nc(
"{n} is the number value, % is the percent sign",
"{n}%"));
50 ui()->sliderForegroundOpacity->setRange(0, 100);
52 i18nc(
"{n} is the number value, % is the percent sign",
"Opacity: {n}%"));
53 ui()->sliderBackgroundOpacity->setRange(0, 100);
55 i18nc(
"{n} is the number value, % is the percent sign",
"Opacity: {n}%"));
91 ui()->labelForeground->setVisible(show);
92 ui()->buttonForegroundColor->setVisible(show);
93 ui()->sliderForegroundOpacity->setVisible(show);
94 ui()->labelBackground->setVisible(show);
95 ui()->buttonBackgroundColor->setVisible(show);
96 ui()->sliderBackgroundOpacity->setVisible(show);
104 QString generatorId = config->generatorId(prefix);
106 if (generatorIndex == -1) {
107 ui()->comboBoxGenerator->setCurrentIndex(0);
110 ui()->comboBoxGenerator->setCurrentIndex(generatorIndex + 1);
115 ui()->sliderHardness->setValue(config->hardness(prefix));
116 ui()->checkBoxInvert->setChecked(config->invert(prefix));
117 ui()->buttonForegroundColor->setColor(config->foregroundColor(prefix));
118 ui()->sliderForegroundOpacity->setValue(config->foregroundOpacity(prefix));
119 ui()->buttonBackgroundColor->setColor(config->backgroundColor(prefix));
120 ui()->sliderBackgroundOpacity->setValue(config->backgroundOpacity(prefix));
127 if (
ui()->comboBoxGenerator->currentIndex() == 0) {
128 config->setGeneratorId(prefix,
"");
130 QString generatorId =
m_generatorIds.at(
ui()->comboBoxGenerator->currentIndex() - 1);
131 config->setGeneratorId(prefix, generatorId);
133 config->setGeneratorConfiguration(
139 config->setHardness(prefix,
ui()->sliderHardness->value());
140 config->setInvert(prefix,
ui()->checkBoxInvert->isChecked());
141 config->setForegroundColor(prefix,
ui()->buttonForegroundColor->color());
142 config->setForegroundOpacity(prefix,
ui()->sliderForegroundOpacity->value());
143 config->setBackgroundColor(prefix,
ui()->buttonBackgroundColor->color());
144 config->setBackgroundOpacity(prefix,
ui()->sliderBackgroundOpacity->value());
158 if (generatorWidget) {
159 ui()->widgetGeneratorContainer->layout()->addWidget(generatorWidget);
180 if (generatorId ==
"screentone") {
181 generatorConfig->setProperty(
"rotation", 45.0);
182 generatorConfig->setProperty(
"contrast", 50.0);
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
static KisGeneratorRegistry * instance()
static KisResourcesInterfaceSP instance()
QString m_currentGeneratorId
~KisHalftoneConfigPageWidget()
void setCanvasResourcesInterface(KoCanvasResourcesInterfaceSP canvasResourcesInterface)
Ui_HalftoneConfigPageWidget m_ui
const Ui_HalftoneConfigPageWidget * ui() const
void setConfiguration(const KisHalftoneFilterConfigurationSP config, const QString &prefix)
void slot_comboBoxGenerator_currentIndexChanged(int index)
void setColorsVisible(bool show)
void setView(KisViewManager *view)
void configuration(KisHalftoneFilterConfigurationSP config, const QString &prefix) const
void signal_configurationUpdated()
KoCanvasResourcesInterfaceSP m_canvasResourcesInterface
KisHalftoneConfigPageWidget(QWidget *parent, const KisPaintDeviceSP dev)
const KisPaintDeviceSP m_paintDevice
void setGenerator(const QString &generatorId, const KisFilterConfigurationSP config)
KisConfigWidget * m_generatorWidget
QStringList m_generatorIds
T get(const QString &id) const
QList< QString > keys() const
void setText(QSpinBox *spinBox, const QStringView textTemplate)
virtual KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const
virtual KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const