1 #include <cpPlugins/QT/SaveFileDialog.h>
2 #include <cpPlugins/Pipeline/Parameters.h>
4 // -------------------------------------------------------------------------
5 cpPlugins::QT::SaveFileDialog::
6 SaveFileDialog( QWidget* parent )
7 : QFileDialog( parent ),
12 this, SIGNAL( accepted( ) ), this, SLOT( _dlg_Accepted( ) )
14 this->setWindowTitle( "Save a file" );
17 // -------------------------------------------------------------------------
18 cpPlugins::QT::SaveFileDialog::
23 // -------------------------------------------------------------------------
24 void cpPlugins::QT::SaveFileDialog::
26 cpPlugins::Pipeline::Parameters* params, const std::string& name
31 this->m_Parameters = NULL;
36 auto param_type = params->GetType( name );
37 if( param_type != cpPlugins::Pipeline::Parameters::SaveFileName )
39 this->m_Parameters = NULL;
44 this->m_Parameters = params;
48 auto extensions = this->m_Parameters->GetAcceptedFileExtensions( name );
49 if( extensions != "" )
50 filters << extensions.c_str( );
51 filters << "Any file (*)";
52 this->setFileMode( QFileDialog::AnyFile );
53 this->setNameFilters( filters );
54 this->setAcceptMode( QFileDialog::AcceptOpen );
55 auto file = this->m_Parameters->GetSaveFileName( this->m_Name );
58 QFileInfo info( file.c_str( ) );
59 this->setDirectory( info.canonicalPath( ) );
62 // -------------------------------------------------------------------------
63 void cpPlugins::QT::SaveFileDialog::
66 if( this->m_Parameters != NULL )
68 auto files = this->selectedFiles( );
69 this->m_Parameters->SetSaveFileName(
70 this->m_Name, files[ 0 ].toStdString( )