From 48bf07e6229e97e77596bb8094759ddb9778febd Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 6 Oct 2015 18:45:06 +0200 Subject: [PATCH] + split file extension from descriptive text of file format to avoid that invalid translation breaks file dialog --- src/Gui/EditorView.cpp | 3 +- src/Mod/Drawing/Gui/Command.cpp | 12 ++++---- src/Mod/Drawing/Gui/DrawingView.cpp | 2 +- src/Mod/Part/Gui/Command.cpp | 12 ++++---- src/Mod/Part/Gui/DlgPartImportIgesImp.cpp | 12 ++++---- src/Mod/Part/Gui/DlgPartImportStepImp.cpp | 8 ++++-- src/Mod/Raytracing/Gui/Command.cpp | 34 ++++++++++++----------- src/Mod/Robot/Gui/CommandExport.cpp | 20 +++++-------- 8 files changed, 53 insertions(+), 50 deletions(-) diff --git a/src/Gui/EditorView.cpp b/src/Gui/EditorView.cpp index feae267808..0aee2fd2bd 100644 --- a/src/Gui/EditorView.cpp +++ b/src/Gui/EditorView.cpp @@ -391,7 +391,8 @@ void EditorView::print(QPrinter* printer) */ void EditorView::printPdf() { - QString filename = FileDialog::getSaveFileName(this, tr("Export PDF"), QString(), tr("PDF file (*.pdf)")); + QString filename = FileDialog::getSaveFileName(this, tr("Export PDF"), QString(), + QString::fromLatin1("%1 (*.pdf)").arg(tr("PDF file"))); if (!filename.isEmpty()) { QPrinter printer(QPrinter::ScreenResolution); printer.setOutputFormat(QPrinter::PdfFormat); diff --git a/src/Mod/Drawing/Gui/Command.cpp b/src/Mod/Drawing/Gui/Command.cpp index 4d9eaff534..46bb6b90a5 100644 --- a/src/Mod/Drawing/Gui/Command.cpp +++ b/src/Mod/Drawing/Gui/Command.cpp @@ -67,8 +67,8 @@ CmdDrawingOpen::CmdDrawingOpen() void CmdDrawingOpen::activated(int iMsg) { // Reading an image - QString filename = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QObject::tr("Choose an SVG file to open"), QString::null, - QObject::tr("Scalable Vector Graphics (*.svg *.svgz)")); + QString filename = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QObject::tr("Choose an SVG file to open"), QString::null, + QString::fromLatin1("%1 (*.svg *.svgz)").arg(QObject::tr("Scalable Vector Graphic"))); if (!filename.isEmpty()) { // load the file with the module @@ -586,8 +586,8 @@ void CmdDrawingSymbol::activated(int iMsg) } } // Reading an image - QString filename = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QObject::tr("Choose an SVG file to open"), QString::null, - QObject::tr("Scalable Vector Graphics (*.svg *.svgz)")); + QString filename = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QObject::tr("Choose an SVG file to open"), QString::null, + QString::fromLatin1("%1 (*.svg *.svgz)").arg(QObject::tr("Scalable Vector Graphic"))); if (!filename.isEmpty()) { std::string PageName = pages.front()->getNameInDocument(); @@ -639,8 +639,8 @@ void CmdDrawingExportPage::activated(int iMsg) } QStringList filter; - filter << QObject::tr("SVG (*.svg)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.svg)").arg(QObject::tr("Scalable Vector Graphic")); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export page"), QString(), filter.join(QLatin1String(";;"))); if (!fn.isEmpty()) { diff --git a/src/Mod/Drawing/Gui/DrawingView.cpp b/src/Mod/Drawing/Gui/DrawingView.cpp index 8333bd08b9..64d83fd8dd 100644 --- a/src/Mod/Drawing/Gui/DrawingView.cpp +++ b/src/Mod/Drawing/Gui/DrawingView.cpp @@ -459,7 +459,7 @@ void DrawingView::printPdf() dlg.setFileMode(QFileDialog::AnyFile); dlg.setAcceptMode(QFileDialog::AcceptSave); dlg.setWindowTitle(tr("Export PDF")); - dlg.setFilters(QStringList() << tr("PDF file (*.pdf)")); + dlg.setFilters(QStringList() << QString::fromLatin1("%1 (*.pdf)").arg(tr("PDF file"))); QGridLayout *gridLayout; QGridLayout *formLayout; diff --git a/src/Mod/Part/Gui/Command.cpp b/src/Mod/Part/Gui/Command.cpp index 727c1a52e1..b4689f18dd 100644 --- a/src/Mod/Part/Gui/Command.cpp +++ b/src/Mod/Part/Gui/Command.cpp @@ -806,11 +806,13 @@ CmdPartImportCurveNet::CmdPartImportCurveNet() void CmdPartImportCurveNet::activated(int iMsg) { QStringList filter; - filter << QObject::tr("All CAD Files (*.stp *.step *.igs *.iges *.brp *.brep)"); - filter << QObject::tr("STEP (*.stp *.step)"); - filter << QObject::tr("IGES (*.igs *.iges)"); - filter << QObject::tr("BREP (*.brp *.brep)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.stp *.step *.igs *.iges *.brp *.brep)") + .arg(QObject::tr("All CAD Files")); + filter << QString::fromLatin1("STEP (*.stp *.step)"); + filter << QString::fromLatin1("IGES (*.igs *.iges)"); + filter << QString::fromLatin1("BREP (*.brp *.brep)"); + filter << QString::fromLatin1("%1 (*.*)") + .arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QString(), QString(), filter.join(QLatin1String(";;"))); if (!fn.isEmpty()) { diff --git a/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp b/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp index 1476b7faea..4ddd84e9af 100644 --- a/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp +++ b/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp @@ -42,8 +42,8 @@ using namespace PartGui; * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a modal dialog. */ -DlgPartImportIgesImp::DlgPartImportIgesImp( QWidget* parent, Qt::WFlags fl ) - : QDialog( parent, fl ) +DlgPartImportIgesImp::DlgPartImportIgesImp(QWidget* parent, Qt::WFlags fl) + : QDialog(parent, fl) { this->setupUi(this); } @@ -66,9 +66,11 @@ void DlgPartImportIgesImp::OnApply() void DlgPartImportIgesImp::onChooseFileName() { - QString fn = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QString::null, QString::null, tr("IGES (*.igs *.iges);;All Files (*.*)")); - if (! fn.isEmpty() ) - { + QString fn = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QString::null, QString::null, + QString::fromLatin1("%1 (*.igs *.iges);;%2 (*.*)")) + .arg(tr("IGES")) + .arg(tr("All Files")); + if (!fn.isEmpty()) { FileName->setText(fn); } } diff --git a/src/Mod/Part/Gui/DlgPartImportStepImp.cpp b/src/Mod/Part/Gui/DlgPartImportStepImp.cpp index d4e376d015..3740a043d0 100644 --- a/src/Mod/Part/Gui/DlgPartImportStepImp.cpp +++ b/src/Mod/Part/Gui/DlgPartImportStepImp.cpp @@ -65,9 +65,11 @@ void DlgPartImportStepImp::OnApply() void DlgPartImportStepImp::onChooseFileName() { - QString fn = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QString::null, QString::null, tr("STEP (*.stp *.step);;All Files (*.*)")); - if (! fn.isEmpty() ) - { + QString fn = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QString::null, QString::null, + QString::fromLatin1("%1 (*.stp *.step);;%2 (*.*)")) + .arg(tr("STEP")) + .arg(tr("All Files")); + if (!fn.isEmpty()) { FileName->setText(fn); } } diff --git a/src/Mod/Raytracing/Gui/Command.cpp b/src/Mod/Raytracing/Gui/Command.cpp index fa0ed9fe6f..743eed8289 100644 --- a/src/Mod/Raytracing/Gui/Command.cpp +++ b/src/Mod/Raytracing/Gui/Command.cpp @@ -132,8 +132,8 @@ void CmdRaytracingWriteCamera::activated(int iMsg) float Dist = Cam->focalDistance.getValue(); QStringList filter; - filter << QObject::tr("POV-Ray (*.pov)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.pov)").arg(QObject::tr("POV-Ray")); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export page"), QString(), filter.join(QLatin1String(";;"))); if (fn.isEmpty()) return; @@ -183,8 +183,8 @@ CmdRaytracingWritePart::CmdRaytracingWritePart() void CmdRaytracingWritePart::activated(int iMsg) { QStringList filter; - filter << QObject::tr("POV-Ray (*.pov)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.pov)").arg(QObject::tr("POV-Ray")); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export page"), QString(), filter.join(QLatin1String(";;"))); if (fn.isEmpty()) return; @@ -245,8 +245,8 @@ void CmdRaytracingWriteView::activated(int iMsg) } QStringList filter; - filter << QObject::tr("POV-Ray(*.pov)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.pov)").arg(QObject::tr("POV-Ray")); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export page"), QString(), filter.join(QLatin1String(";;"))); if (fn.isEmpty()) @@ -510,7 +510,7 @@ CmdRaytracingExportProject::CmdRaytracingExportProject() void CmdRaytracingExportProject::activated(int iMsg) { - const char *filterLabel; + QString filterLabel; unsigned int n = getSelection().countObjectsOfType(Raytracing::RayProject::getClassTypeId()); if (n != 1) { n = getSelection().countObjectsOfType(Raytracing::LuxProject::getClassTypeId()); @@ -518,16 +518,18 @@ void CmdRaytracingExportProject::activated(int iMsg) QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"), QObject::tr("Select one Raytracing project object.")); return; - } else { - filterLabel = "Luxrender Scene (*.lxs)"; } - } else { - filterLabel = "POV-Ray Scene (*.pov)"; + else { + filterLabel = QString::fromLatin1("%1 (*.lxs)").arg(QObject::tr("Luxrender")); + } + } + else { + filterLabel = QString::fromLatin1("%1 (*.pov)").arg(QObject::tr("POV-Ray")); } QStringList filter; - filter << QObject::tr(filterLabel); - filter << QObject::tr("All Files (*.*)"); + filter << filterLabel; + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export page"), QString(), filter.join(QLatin1String(";;"))); if (!fn.isEmpty()) { @@ -632,11 +634,11 @@ void CmdRaytracingRender::activated(int iMsg) QStringList filter; #ifdef FC_OS_WIN32 - filter << QObject::tr("Rendered image (*.bmp *.png)"); + filter << QString::fromLatin1("%1 (*.bmp *.png)").arg(QObject::tr("Rendered image")); #else - filter << QObject::tr("Rendered image (*.png)"); + filter << QString::fromLatin1("%1 (*.png)").arg(QObject::tr("Rendered image")); #endif - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Rendered image"), QString(), filter.join(QLatin1String(";;"))); if (!fn.isEmpty()) { fn = QDir::toNativeSeparators(fn); diff --git a/src/Mod/Robot/Gui/CommandExport.cpp b/src/Mod/Robot/Gui/CommandExport.cpp index bd7239b8cd..7f6cc2a8e0 100644 --- a/src/Mod/Robot/Gui/CommandExport.cpp +++ b/src/Mod/Robot/Gui/CommandExport.cpp @@ -85,17 +85,14 @@ void CmdRobotExportKukaCompact::activated(int iMsg) std::string TrakName = pcTrajectoryObject->getNameInDocument(); QStringList filter; - filter << QObject::tr("KRL file(*.src)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.src)").arg(QObject::tr("KRL file")); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export program"), QString(), filter.join(QLatin1String(";;"))); - if (fn.isEmpty()) + if (fn.isEmpty()) return; - doCommand(Doc,"from KukaExporter import ExportCompactSub"); doCommand(Doc,"ExportCompactSub(App.activeDocument().%s,App.activeDocument().%s,'%s')",pcRobotObject->getNameInDocument(),pcTrajectoryObject->getNameInDocument(),(const char*)fn.toLatin1()); - - } bool CmdRobotExportKukaCompact::isActive(void) @@ -150,17 +147,14 @@ void CmdRobotExportKukaFull::activated(int iMsg) std::string TrakName = pcTrajectoryObject->getNameInDocument(); QStringList filter; - filter << QObject::tr("KRL file(*.src)"); - filter << QObject::tr("All Files (*.*)"); + filter << QString::fromLatin1("%1 (*.src)").arg(QObject::tr("KRL file")); + filter << QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")); QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QObject::tr("Export program"), QString(), filter.join(QLatin1String(";;"))); - if (fn.isEmpty()) + if (fn.isEmpty()) return; - + doCommand(Doc,"from KukaExporter import ExportFullSub"); doCommand(Doc,"ExportFullSub(App.activeDocument().%s,App.activeDocument().%s,'%s')",pcRobotObject->getNameInDocument(),pcTrajectoryObject->getNameInDocument(),(const char*)fn.toLatin1()); - - - } bool CmdRobotExportKukaFull::isActive(void)