void StdCmdExport::activated(int iMsg) { if (Gui::Selection().countObjectsOfType(App::DocumentObject::getClassTypeId()) == 0) { QMessageBox::warning(Gui::getMainWindow(), QString::fromUtf8(QT_TR_NOOP("No selection")), QString::fromUtf8(QT_TR_NOOP("Please select first the objects you want to export."))); return; } // fill the list of registered endings QString formatList; std::map<std::string, std::string> FilterList = App::GetApplication().getExportFilters(); std::map<std::string, std::string>::const_iterator jt; for (jt=FilterList.begin(); jt != FilterList.end(); ++jt) { // ignore the project file format if (jt->first.find("(*.FCStd)") == std::string::npos) { formatList += QLatin1String(jt->first.c_str()); formatList += QLatin1String(";;"); } } QString selectedFilter; QString fileName = FileDialog::getSaveFileName(getMainWindow(), QObject::tr("Export file"), QString(), formatList, &selectedFilter); if (!fileName.isEmpty()) { 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) { getGuiApplication()->exportTo(it.key().toUtf8(), getActiveGuiDocument()->getDocument()->getName(), it.value().toAscii()); } } }
void DownloadItem::open() { QFileInfo info(m_output); QString selectedFilter; QStringList fileList; fileList << info.absoluteFilePath(); SelectModule::Dict dict = SelectModule::importHandler(fileList, selectedFilter); // load the files with the associated modules if (!dict.isEmpty()) { Gui::Document* doc = Gui::Application::Instance->activeDocument(); if (doc) { for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) { Gui::Application::Instance->importFrom(it.key().toUtf8(), doc->getDocument()->getName(), it.value().toAscii()); } } else { for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) { Gui::Application::Instance->open(it.key().toUtf8(), it.value().toAscii()); } } } else { QUrl url = QUrl::fromLocalFile(info.absolutePath()); QDesktopServices::openUrl(url); } }
void StdCmdOpen::activated(int iMsg) { // fill the list of registered endings QString formatList; const char* supported = QT_TR_NOOP("Supported formats"); const char* allFiles = QT_TR_NOOP("All files (*.*)"); formatList = QObject::tr(supported); formatList += QLatin1String(" ("); std::vector<std::string> filetypes = App::GetApplication().getImportTypes(); std::vector<std::string>::iterator it; // Make sure FCStd is the very first fileformat it = std::find(filetypes.begin(), filetypes.end(), "FCStd"); if (it != filetypes.end()) { filetypes.erase(it); filetypes.insert(filetypes.begin(), "FCStd"); } for (it=filetypes.begin(); it != filetypes.end(); ++it) { formatList += QLatin1String(" *."); formatList += QLatin1String(it->c_str()); } formatList += QLatin1String(");;"); std::map<std::string, std::string> FilterList = App::GetApplication().getImportFilters(); std::map<std::string, std::string>::iterator jt; // Make sure the format name for FCStd is the very first in the list for (jt=FilterList.begin(); jt != FilterList.end(); ++jt) { if (jt->first.find("*.FCStd") != std::string::npos) { formatList += QLatin1String(jt->first.c_str()); formatList += QLatin1String(";;"); FilterList.erase(jt); break; } } for (jt=FilterList.begin(); jt != FilterList.end(); ++jt) { formatList += QLatin1String(jt->first.c_str()); formatList += QLatin1String(";;"); } formatList += QObject::tr(allFiles); QString selectedFilter; QStringList fileList = FileDialog::getOpenFileNames(getMainWindow(), QObject::tr("Open document"), QString(), formatList, &selectedFilter); // load the files with the associated modules SelectModule::Dict dict = SelectModule::importHandler(fileList, selectedFilter); for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) { getGuiApplication()->open(it.key().toUtf8(), it.value().toAscii()); } }
void StdCmdImport::activated(int iMsg) { // fill the list of registered endings QString formatList; const char* supported = QT_TR_NOOP("Supported formats"); const char* allFiles = QT_TR_NOOP("All files (*.*)"); formatList = QObject::tr(supported); formatList += QLatin1String(" ("); std::vector<std::string> filetypes = App::GetApplication().getImportTypes(); std::vector<std::string>::const_iterator it; for (it=filetypes.begin(); it != filetypes.end(); ++it) { if (*it != "FCStd") { // ignore the project file format formatList += QLatin1String(" *."); formatList += QLatin1String(it->c_str()); } } formatList += QLatin1String(");;"); std::map<std::string, std::string> FilterList = App::GetApplication().getImportFilters(); std::map<std::string, std::string>::const_iterator jt; for (jt=FilterList.begin(); jt != FilterList.end(); ++jt) { // ignore the project file format if (jt->first.find("(*.FCStd)") == std::string::npos) { formatList += QLatin1String(jt->first.c_str()); formatList += QLatin1String(";;"); } } formatList += QObject::tr(allFiles); QString selectedFilter; 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()); } std::list<Gui::MDIView*> views = getActiveGuiDocument()->getMDIViewsOfType(Gui::View3DInventor::getClassTypeId()); for (std::list<MDIView*>::iterator it = views.begin(); it != views.end(); ++it) { (*it)->viewAll(); } }