[Digikam-devel] extragear/graphics/digikamimageplugins/noisereduction
Gilles Caulier
caulier.gilles at free.fr
Tue Mar 14 20:30:26 GMT 2006
SVN commit 518659 by cgilles:
digikam from trunk : Noise reduction tool : load/save settings to/from file options
CCMAIL: digikam-devel at kde.org
M +82 -1 imageeffect_noisereduction.cpp
M +5 -0 imageeffect_noisereduction.h
--- trunk/extragear/graphics/digikamimageplugins/noisereduction/imageeffect_noisereduction.cpp #518658:518659
@@ -30,6 +30,8 @@
#include <qtabwidget.h>
#include <qimage.h>
#include <qlayout.h>
+#include <qfile.h>
+#include <qtextstream.h>
// KDE includes.
@@ -40,6 +42,9 @@
#include <kdebug.h>
#include <kstandarddirs.h>
#include <knuminput.h>
+#include <kfiledialog.h>
+#include <kglobalsettings.h>
+#include <kmessagebox.h>
// Digikam includes.
@@ -55,7 +60,7 @@
{
ImageEffect_NoiseReduction::ImageEffect_NoiseReduction(QWidget* parent, QString title, QFrame* banner)
- : Digikam::CtrlPanelDlg(parent, title, "noisereduction", false,
+ : Digikam::CtrlPanelDlg(parent, title, "noisereduction", true,
false, true, Digikam::ImagePannelWidget::SeparateViewAll, banner)
{
QString whatsThis;
@@ -418,6 +423,82 @@
iface.putOriginalImage(i18n("Noise Reduction"), m_threadedFilter->getTargetImage().bits());
}
+void ImageEffect_NoiseReduction::slotUser3()
+{
+ KURL loadRestorationFile = KFileDialog::getOpenURL(KGlobalSettings::documentPath(),
+ QString( "*" ), this,
+ QString( i18n("Photograph Noise Reduction Settings File to Load")) );
+ if( loadRestorationFile.isEmpty() )
+ return;
+
+ QFile file(loadRestorationFile.path());
+
+ if ( file.open(IO_ReadOnly) )
+ {
+ QTextStream stream( &file );
+ if ( stream.readLine() != "# Photograph Noise Reduction Configuration File" )
+ {
+ KMessageBox::error(this,
+ i18n("\"%1\" is not a Photograph Noise Reduction settings text file.")
+ .arg(loadRestorationFile.fileName()));
+ file.close();
+ return;
+ }
+
+ blockSignals(true);
+ m_radiusInput->setValue( stream.readLine().toDouble() );
+ m_lumToleranceInput->setValue( stream.readLine().toDouble() );
+ m_thresholdInput->setValue( stream.readLine().toDouble() );
+ m_textureInput->setValue( stream.readLine().toDouble() );
+ m_sharpnessInput->setValue( stream.readLine().toDouble() );
+
+ m_csmoothInput->setValue( stream.readLine().toDouble() );
+ m_lookaheadInput->setValue( stream.readLine().toDouble() );
+ m_gammaInput->setValue( stream.readLine().toDouble() );
+ m_dampingInput->setValue( stream.readLine().toDouble() );
+ m_phaseInput->setValue( stream.readLine().toDouble() );
+ blockSignals(false);
+ slotEffect();
+ }
+ else
+ KMessageBox::error(this, i18n("Cannot load settings from the Photograph Noise Reduction text file."));
+
+ file.close();
+}
+
+void ImageEffect_NoiseReduction::slotUser2()
+{
+ KURL saveRestorationFile = KFileDialog::getSaveURL(KGlobalSettings::documentPath(),
+ QString( "*" ), this,
+ QString( i18n("Photograph Noise Reduction Settings File to Save")) );
+ if( saveRestorationFile.isEmpty() )
+ return;
+
+ QFile file(saveRestorationFile.path());
+
+ if ( file.open(IO_WriteOnly) )
+ {
+ QTextStream stream( &file );
+ stream << "# Photograph Noise Reduction Configuration File\n";
+ stream << m_radiusInput->value() << "\n";
+ stream << m_lumToleranceInput->value() << "\n";
+ stream << m_thresholdInput->value() << "\n";
+ stream << m_textureInput->value() << "\n";
+ stream << m_sharpnessInput->value() << "\n";
+
+ stream << m_csmoothInput->value() << "\n";
+ stream << m_lookaheadInput->value() << "\n";
+ stream << m_gammaInput->value() << "\n";
+ stream << m_dampingInput->value() << "\n";
+ stream << m_phaseInput->value() << "\n";
+
+ }
+ else
+ KMessageBox::error(this, i18n("Cannot save settings to the Photograph Noise Reduction text file."));
+
+ file.close();
+}
+
} // NameSpace DigikamNoiseReductionImagesPlugin
#include "imageeffect_noisereduction.moc"
--- trunk/extragear/graphics/digikamimageplugins/noisereduction/imageeffect_noisereduction.h #518658:518659
@@ -55,6 +55,11 @@
KDoubleNumInput *m_dampingInput;
KDoubleNumInput *m_phaseInput;
+private slots:
+
+ void slotUser2();
+ void slotUser3();
+
protected:
void prepareEffect(void);
More information about the Digikam-devel
mailing list