From 8902bc635629819a7fabb9a9aee22b2480684d42 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Fri, 27 Jan 2023 13:36:01 +0800 Subject: [PATCH] windeployqt: allow user set translation directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the "translationdir" option, which allows the user to choose a different directory to deploy the translation files. Pick-to: 6.5 6.4 Change-Id: Iacf2031abb6d992e6765c02f232f81317b784720 Reviewed-by: Timothée Keller Reviewed-by: Oliver Wolff --- src/tools/windeployqt/main.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tools/windeployqt/main.cpp b/src/tools/windeployqt/main.cpp index 7545aaf503..ddd01724c0 100644 --- a/src/tools/windeployqt/main.cpp +++ b/src/tools/windeployqt/main.cpp @@ -337,6 +337,12 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse QStringLiteral("path")); parser->addOption(pluginDirOption); + const QCommandLineOption translationDirOption( + u"translationdir"_s, + u"Copy translations to path."_s, + u"path"_s); + parser->addOption(translationDirOption); + QCommandLineOption qmlDeployDirOption(QStringLiteral("qml-deploy-dir"), QStringLiteral("Copy qml files to path."), QStringLiteral("path")); @@ -478,6 +484,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse options->libraryDirectory = parser->value(libDirOption); options->pluginDirectory = parser->value(pluginDirOption); + options->translationsDirectory = parser->value(translationDirOption); options->qmlDirectory = parser->value(qmlDeployDirOption); options->plugins = !parser->isSet(noPluginsOption); options->libraries = !parser->isSet(noLibraryOption); @@ -633,7 +640,8 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse } if (multipleDirs) std::wcerr << "Warning: using binaries from different directories\n"; - options->translationsDirectory = options->directory + "/translations"_L1; + if (options->translationsDirectory.isEmpty()) + options->translationsDirectory = options->directory + "/translations"_L1; return 0; }