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