File indexing completed on 2024-05-26 04:33:08

0001 /*
0002  * This file is part of Krita
0003  *
0004  * SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.net>
0005  *
0006  *  SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #include "kis_wdg_noise.h"
0010 
0011 
0012 #include <QLayout>
0013 
0014 #include <filter/kis_filter_configuration.h>
0015 #include <KisGlobalResourcesInterface.h>
0016 
0017 #include "ui_wdgnoiseoptions.h"
0018 
0019 KisWdgNoise::KisWdgNoise(KisFilter* /*nfilter*/, QWidget* parent)
0020         : KisConfigWidget(parent)
0021 {
0022     m_widget = new Ui_WdgNoiseOptions();
0023     m_widget->setupUi(this);
0024 
0025     connect(widget()->intLevel, SIGNAL(valueChanged(int)), SIGNAL(sigConfigurationItemChanged()));
0026     connect(widget()->intOpacity, SIGNAL(valueChanged(int)), SIGNAL(sigConfigurationItemChanged()));
0027     m_seedThreshold = rand();
0028     m_seedRed = rand();
0029     m_seedGreen = rand();
0030     m_seedBlue = rand();
0031 }
0032 
0033 KisWdgNoise::~KisWdgNoise()
0034 {
0035     delete m_widget;
0036 }
0037 
0038 void KisWdgNoise::setConfiguration(const KisPropertiesConfigurationSP config)
0039 {
0040     QVariant value;
0041     if (config->getProperty("level", value)) {
0042         widget()->intLevel->setValue(value.toUInt());
0043     }
0044     if (config->getProperty("opacity", value)) {
0045         widget()->intOpacity->setValue(value.toUInt());
0046     }
0047 }
0048 
0049 KisPropertiesConfigurationSP KisWdgNoise::configuration() const
0050 {
0051     KisFilterConfigurationSP config = new KisFilterConfiguration("noise", 1, KisGlobalResourcesInterface::instance());
0052     config->setProperty("level", this->widget()->intLevel->value());
0053     config->setProperty("opacity", this->widget()->intOpacity->value());
0054     config->setProperty("seedThreshold", m_seedThreshold);
0055     config->setProperty("seedRed", m_seedRed);
0056     config->setProperty("seedGreen", m_seedGreen);
0057     config->setProperty("seedBlue", m_seedBlue);
0058     return config;
0059 }
0060 
0061