Page MenuHomePhabricator

diff.patch

Authored By
wangx
Dec 1 2010, 5:04 PM
Size
6 KB
Referenced Files
None
Subscribers
None

diff.patch

Index: QmitkCommonFunctionality.cpp
===================================================================
--- QmitkCommonFunctionality.cpp (revision 28124)
+++ QmitkCommonFunctionality.cpp (working copy)
@@ -127,12 +127,27 @@
else
fileName = aFileName;
fileName = itksys::SystemTools::GetFilenameWithoutExtension(fileName);
- fileName += ".mps";
- QString qfileName = QFileDialog::getSaveFileName(NULL, "Save file", QString(fileName.c_str()),"MITK Point-Sets (*.mps)");
+ // fileName += ".mps";
+ QString selected_suffix("MITK Point-Sets (*.mps)");
+ QString possible_suffixes("MITK Point-Sets (*.mps)");
+ QString initialFileName = QString::fromStdString(fileName);
+
+ /*QString qfileName = QFileDialog::getSaveFileName( NULL, "Save image", initialFilename ,mitk::CoreObjectFactory::GetInstance()->GetSaveFileExtensions(),&selected_suffix);
+ */
+ QString qfileName = QFileDialog::getSaveFileName(NULL, "Save file", initialFileName, possible_suffixes, &selected_suffix);
MITK_INFO<<qfileName.toLocal8Bit().constData();
mitk::PointSetWriter::Pointer writer = mitk::PointSetWriter::New();
std::string extension = itksys::SystemTools::GetFilenameLastExtension( qfileName.toLocal8Bit().constData() );
+ if (extension == "") // if no extension has been entered manually into the filename
+ {
+ // get from combobox selected file extension
+ extension = itksys::SystemTools::GetFilenameLastExtension( selected_suffix.toLocal8Bit().constData());
+ extension = extension.substr(0, extension.size()-1);
+ qfileName += QString::fromStdString(extension);
+ }
+
+ MITK_INFO<<"extension: " << extension;
// check if extension is valid
if (!writer->IsExtensionValid(extension))
{
@@ -143,7 +158,7 @@
return;
}
- if (fileName.empty() == false )
+ if (qfileName.isEmpty() == false )
{
writer->SetInput( pointset );
writer->SetFileName( qfileName.toLocal8Bit().constData() );
@@ -379,11 +394,25 @@
fileName = aFileName;
std::string selectedItemsName = itksys::SystemTools::GetFilenameWithoutExtension(fileName);
- selectedItemsName += ".stl";
- QString qfileName = QFileDialog::getSaveFileName(NULL, "Save surface object", QString(selectedItemsName.c_str()),"Surface Data(*.stl *.vtk *.vtp)");
- if (!(qfileName.isEmpty()) )
- {
- if(qfileName.endsWith(".stl")==true)
+ //selectedItemsName += ".stl"
+ QString selected_suffix("STL File (*.stl)");
+ QString possible_suffixes("STL File (*.stl);; VTK File (*.vtk);; VTP File (*.vtp)");
+ QString qfileName = QFileDialog::getSaveFileName(NULL, "Save surface object", QString::fromStdString(selectedItemsName), possible_suffixes,
+ &selected_suffix);
+
+ if (qfileName.isEmpty())
+ return "";
+
+ std::string extension = itksys::SystemTools::GetFilenameLastExtension( qfileName.toStdString() );
+ if (extension == "") // if no extension has been entered manually into the filename
+ {
+ // get from combobox selected file extension
+ extension = itksys::SystemTools::GetFilenameLastExtension( selected_suffix.toLocal8Bit().constData());
+ extension = extension.substr(0, extension.size()-1);
+ qfileName += QString::fromStdString(extension);
+ }
+
+ if(extension == ".stl" )
{
mitk::SurfaceVtkWriter<vtkSTLWriter>::Pointer writer=mitk::SurfaceVtkWriter<vtkSTLWriter>::New();
@@ -405,8 +434,7 @@
writer->GetVtkWriter()->SetFileTypeToBinary();
writer->Write();
}
- else
- if(qfileName.endsWith(".vtp")==true)
+ else if(extension == ".vtp")
{
mitk::SurfaceVtkWriter<vtkXMLPolyDataWriter>::Pointer writer=mitk::SurfaceVtkWriter<vtkXMLPolyDataWriter>::New();
writer->SetInput( surface );
@@ -414,10 +442,8 @@
writer->GetVtkWriter()->SetDataModeToBinary();
writer->Write();
}
- else if (qfileName.endsWith(".vtk")==true)
+ else if (extension == ".vtk")
{
- /*if (qfileName.endsWith(".vtk")==false)
- qfileName += ".vtk";*/
mitk::SurfaceVtkWriter<vtkPolyDataWriter>::Pointer writer=mitk::SurfaceVtkWriter<vtkPolyDataWriter>::New();
writer->SetInput( surface );
writer->SetFileName(qfileName.toLocal8Bit().constData());
@@ -429,13 +455,7 @@
QMessageBox::critical(NULL,"ERROR","File extension not suitable for writing Surface data. Choose .vtk, .stl or .vtp");
return "";
}
- fileName = qfileName.toLocal8Bit().constData();
- }
- else
- {
- fileName.clear();
- }
- return fileName;
+ return qfileName.toLocal8Bit().constData();
}
#include "mitkImageWriter.h"
@@ -444,6 +464,7 @@
std::string CommonFunctionality::SaveImage(mitk::Image* image, const char* aFileName, bool askForDifferentFilename)
{
static QString lastDirectory = "";
+ QString selected_suffix("DKFZ Pic (*.pic)");
std::string fileName;
if(aFileName == NULL || askForDifferentFilename)
@@ -453,9 +474,7 @@
// prepend the last directory
initialFilename = lastDirectory + initialFilename;
-
- QString suffix_pic("DKFZ Pic (*.pic)");
- QString qfileName = QFileDialog::getSaveFileName( NULL, "Save image", initialFilename ,mitk::CoreObjectFactory::GetInstance()->GetSaveFileExtensions(),&suffix_pic);
+ QString qfileName = QFileDialog::getSaveFileName( NULL, "Save image", initialFilename ,mitk::CoreObjectFactory::GetInstance()->GetSaveFileExtensions(),&selected_suffix);
MITK_INFO<<qfileName.toLocal8Bit().constData();
if (qfileName.isEmpty() )
return "";
@@ -470,8 +489,13 @@
std::string baseFilename = itksys::SystemTools::GetFilenameWithoutLastExtension( fileName );
std::string extension = itksys::SystemTools::GetFilenameLastExtension( fileName );
- if (extension == "")
- extension = ".pic";
+ if (extension == "") // if no extension has been entered manually into the filename
+ {
+ // get from combobox selected file extension
+ extension = itksys::SystemTools::GetFilenameLastExtension( selected_suffix.toLocal8Bit().constData());
+ extension = extension.substr(0, extension.size()-1);
+ fileName += extension;
+ }
if (extension == ".gz")
{

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
622
Default Alt Text
diff.patch (6 KB)

Event Timeline