diff --git a/ChangeLog.txt b/ChangeLog.txt index 0bd9ed91a..4441f8219 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -39,7 +39,6 @@ - New option: Pointer mode. - Fix GUI freezing while nesting. - New option: Use Tool Groups. -- Switch to using external pdftops utility to convert pdf to ps on mac. # Valentina 0.7.52 September 12, 2022 - Fix crash when default locale is ru. diff --git a/dist/macx/bin64/pdftops b/dist/macx/bin64/pdftops new file mode 100755 index 000000000..131325b9e Binary files /dev/null and b/dist/macx/bin64/pdftops differ diff --git a/src/app/puzzle/puzzle.qbs b/src/app/puzzle/puzzle.qbs index 910c93f61..eaf2d715e 100644 --- a/src/app/puzzle/puzzle.qbs +++ b/src/app/puzzle/puzzle.qbs @@ -201,6 +201,16 @@ VToolApp { qbs.installDir: buildconfig.installBinaryPath } + Group { + condition: qbs.targetOS.contains("macos") && qbs.architecture.contains("x86_64") && buildconfig.enableMultiBundle + name: "pdftops MacOS" + prefix: project.sourceDirectory + "/dist/macx/bin64/" + files: ["pdftops"] + fileTags: ["pdftops_dist_macx"] + qbs.install: true + qbs.installDir: buildconfig.installBinaryPath + } + Group { name: "48x48/apps" prefix: project.sourceDirectory + "/share/icons/48x48/apps/" diff --git a/src/app/valentina/valentina.pro b/src/app/valentina/valentina.pro index 17c6db27d..cd4aa5332 100644 --- a/src/app/valentina/valentina.pro +++ b/src/app/valentina/valentina.pro @@ -304,6 +304,10 @@ unix{ puzzle.path = $$MACOS_DIR puzzle.files += $${OUT_PWD}/../puzzle/$${DESTDIR}/puzzle.app/$$MACOS_DIR/puzzle + # Utility pdftops need for saving a layout image to PS and EPS formates. + xpdf.path = $$MACOS_DIR + xpdf.files += $${PWD}/../../../dist/macx/bin64/pdftops + # logo on macx. ICON = ../../../dist/Valentina.icns @@ -342,6 +346,7 @@ unix{ libraries \ tape \ puzzle \ + xpdf \ icns_resources } } diff --git a/src/app/valentina/valentina.qbs b/src/app/valentina/valentina.qbs index 17f06b6e6..a06bcdc5d 100644 --- a/src/app/valentina/valentina.qbs +++ b/src/app/valentina/valentina.qbs @@ -267,6 +267,15 @@ VToolApp { qbs.installDir: buildconfig.installBinaryPath } + Group { + condition: qbs.targetOS.contains("macos") && qbs.architecture.contains("x86_64") + name: "pdftops MacOS" + prefix: project.sourceDirectory + "/dist/macx/bin64/" + files: ["pdftops"] + qbs.install: true + qbs.installDir: buildconfig.installBinaryPath + } + Group { name: "freedesktop" prefix: project.sourceDirectory + "/dist/" diff --git a/src/libs/vlayout/vlayoutexporter.cpp b/src/libs/vlayout/vlayoutexporter.cpp index 64cbed7e4..5f6e57082 100644 --- a/src/libs/vlayout/vlayoutexporter.cpp +++ b/src/libs/vlayout/vlayoutexporter.cpp @@ -405,7 +405,7 @@ void VLayoutExporter::ExportToHPGL2(const QVector &details) const auto VLayoutExporter::SupportPDFConversion() -> bool { QProcess proc; -#if defined(Q_OS_WIN) +#if defined(Q_OS_WIN) || defined(Q_OS_OSX) // Seek pdftops in app bundle or near valentina.exe proc.start(qApp->applicationDirPath() + QLatin1String("/") + *PDFTOPS, QStringList()); #else @@ -435,7 +435,13 @@ void VLayoutExporter::PdfToPs(const QStringList ¶ms) #endif QProcess proc; +#if defined(Q_OS_MAC) + // Fix issue #594. Broken export on Mac. + proc.setWorkingDirectory(qApp->applicationDirPath()); + proc.start(QLatin1String("./") + *PDFTOPS, params); +#else proc.start(*PDFTOPS, params); +#endif const int timeout = 15000; if (proc.waitForStarted(timeout))