]> Creatis software - cpPlugins.git/blobdiff - plugins/IO/ImageWriter.cxx
...
[cpPlugins.git] / plugins / IO / ImageWriter.cxx
index 8fcf08e7dce05f1a705936975403e724365f7b03..c5aa3df9b1ccfc427d59a7ad0235c08388fed2fe 100644 (file)
@@ -1,78 +1,13 @@
 #include <IO/ImageWriter.h>
-#include <IO/ImageWriterQDialog.h>
 #include <cpPlugins/DataObjects/Image.h>
 #include <cpPlugins/DataObjects/Image_Demanglers.h>
+#include <cpPlugins/QT/SaveFileDialog.h>
 #include <cpInstances_SimpleImages.h>
 
 #include <itkImageFileWriter.h>
 
 #ifdef cpPlugins_QT4
-
-#include <QApplication>
-#include <QFileInfo>
-
-// -------------------------------------------------------------------------
-cpPluginsIO::ImageWriterQDialog::
-ImageWriterQDialog( QWidget* parent )
-  : QFileDialog( parent ),
-    m_ProcessObject( NULL )
-{
-  this->connect(
-    this, SIGNAL( accepted( ) ), this, SLOT( _dlg_Accepted( ) )
-    );
-  this->setWindowTitle( "Save an image" );
-}
-
-// -------------------------------------------------------------------------
-cpPluginsIO::ImageWriterQDialog::
-~ImageWriterQDialog( )
-{
-}
-
-// -------------------------------------------------------------------------
-void cpPluginsIO::ImageWriterQDialog::
-setProcessObject( cpPlugins::BaseObjects::ProcessObject* obj )
-{
-  if( obj == NULL )
-    return;
-  this->m_ProcessObject = obj;
-  auto parameters = this->m_ProcessObject->GetParameters( );
-  auto extensions = parameters->GetAcceptedFileExtensions( "FileName" );
-  auto filename = parameters->GetSaveFileName( "FileName" );
-
-  QStringList filters;
-  if( extensions != "" )
-    filters << extensions.c_str( );
-  filters << "Any file (*)";
-  this->setFileMode( QFileDialog::AnyFile );
-  this->setNameFilters( filters );
-  this->setAcceptMode( QFileDialog::AcceptSave );
-  if( filename != "" )
-  {
-    QFileInfo info( filename.c_str( ) );
-    if( info.exists( ) )
-      this->setDirectory( info.canonicalPath( ) );
-    else
-      this->setDirectory( "." );
-  }
-  else
-    this->setDirectory( "." );
-}
-
-// -------------------------------------------------------------------------
-void cpPluginsIO::ImageWriterQDialog::
-_dlg_Accepted( )
-{
-  if( this->m_ProcessObject != NULL )
-  {
-    auto param = this->m_ProcessObject->GetParameters( );
-    auto files = this->selectedFiles( );
-    if( files.size( ) > 0 )
-      param->SetSaveFileName( "FileName", files.begin( )->toStdString( ) );
-
-  } // fi
-}
-
+#  include <QApplication>
 #endif // cpPlugins_QT4
 
 // -------------------------------------------------------------------------
@@ -80,11 +15,11 @@ QDialog* cpPluginsIO::ImageWriter::
 CreateQDialog( )
 {
 #ifdef cpPlugins_QT4
-  ImageWriterQDialog* dlg = NULL;
+  cpPlugins::QT::SaveFileDialog* dlg = NULL;
   if( QApplication::instance( ) != NULL )
   {
-    dlg = new ImageWriterQDialog( );
-    dlg->setProcessObject( this );
+    dlg = new cpPlugins::QT::SaveFileDialog( );
+    dlg->SetParameters( &( this->m_Parameters ), "FileName" );
 
   } // fi
   return( dlg );
@@ -100,7 +35,7 @@ ImageWriter( )
 {
   this->_ConfigureInput< cpPlugins::DataObjects::Image >( "Input", true, false );
   this->m_Parameters.Clear( );
-  this->m_Parameters.ConfigureAsSaveFileName( "FileName" );
+  this->m_Parameters.ConfigureAsSaveFileName( "FileName", "" );
   this->m_Parameters.SetAcceptedFileExtensions(
     "FileName",
     "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff)"