From 4259a9391bf9574cae9402dbba71acf9d74bcf41 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 19 Oct 2014 19:42:50 +0200 Subject: [PATCH] + save last used export/import filter --- src/Gui/CommandDoc.cpp | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/Gui/CommandDoc.cpp b/src/Gui/CommandDoc.cpp index 908f3ab81..89ee4a4a4 100644 --- a/src/Gui/CommandDoc.cpp +++ b/src/Gui/CommandDoc.cpp @@ -191,20 +191,25 @@ void StdCmdImport::activated(int iMsg) } formatList += QObject::tr(allFiles); - QString selectedFilter; + Base::Reference hPath = App::GetApplication().GetUserParameter().GetGroup("BaseApp") + ->GetGroup("Preferences")->GetGroup("General"); + QString selectedFilter = QString::fromStdString(hPath->GetASCII("FileImportFilter")); QStringList fileList = FileDialog::getOpenFileNames(getMainWindow(), QObject::tr("Import file"), QString(), formatList, &selectedFilter); - SelectModule::Dict dict = SelectModule::importHandler(fileList, selectedFilter); - // load the files with the associated modules - for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) { - getGuiApplication()->importFrom(it.key().toUtf8(), - getActiveGuiDocument()->getDocument()->getName(), - it.value().toAscii()); - } + if (!fileList.isEmpty()) { + hPath->SetASCII("FileImportFilter", selectedFilter.toLatin1().constData()); + SelectModule::Dict dict = SelectModule::importHandler(fileList, selectedFilter); + // load the files with the associated modules + for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) { + getGuiApplication()->importFrom(it.key().toUtf8(), + getActiveGuiDocument()->getDocument()->getName(), + it.value().toAscii()); + } - std::list views = getActiveGuiDocument()->getMDIViewsOfType(Gui::View3DInventor::getClassTypeId()); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - (*it)->viewAll(); + std::list views = getActiveGuiDocument()->getMDIViewsOfType(Gui::View3DInventor::getClassTypeId()); + for (std::list::iterator it = views.begin(); it != views.end(); ++it) { + (*it)->viewAll(); + } } } @@ -255,10 +260,14 @@ void StdCmdExport::activated(int iMsg) } } - QString selectedFilter; + Base::Reference hPath = App::GetApplication().GetUserParameter().GetGroup("BaseApp") + ->GetGroup("Preferences")->GetGroup("General"); + QString selectedFilter = QString::fromStdString(hPath->GetASCII("FileExportFilter")); + QString fileName = FileDialog::getSaveFileName(getMainWindow(), QObject::tr("Export file"), QString(), formatList, &selectedFilter); if (!fileName.isEmpty()) { + hPath->SetASCII("FileExportFilter", selectedFilter.toLatin1().constData()); SelectModule::Dict dict = SelectModule::exportHandler(fileName, selectedFilter); // export the files with the associated modules for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) {