From: Alexander Potashev Date: Sun, 21 Jul 2019 14:53:36 +0000 (+0300) Subject: Merge branch 'Applications/19.08' X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/e5c698f295c10946c7a544df30656ed766285cb2?hp=-c Merge branch 'Applications/19.08' --- e5c698f295c10946c7a544df30656ed766285cb2 diff --combined src/settings/services/servicemenuinstaller/servicemenuinstaller.cpp index c0b1cd14a,037874539..1144a50b8 --- a/src/settings/services/servicemenuinstaller/servicemenuinstaller.cpp +++ b/src/settings/services/servicemenuinstaller/servicemenuinstaller.cpp @@@ -24,7 -24,6 +24,7 @@@ #include #include #include +#include #include @@@ -43,6 -42,41 +43,6 @@@ Q_NORETURN void fail(const QString &str exit(1); } -bool evaluateShell(const QString &program, const QStringList &arguments, QString &output, QString &errorText) -{ - QProcess process; - process.start(program, arguments, QIODevice::ReadOnly); - if (!process.waitForStarted()) { - fail(i18n("Failed to run process: %1 %2", program, arguments.join(" "))); - } - - if (!process.waitForFinished()) { - fail(i18n("Process did not finish in reasonable time: %1 %2", program, arguments.join(" "))); - } - - const auto stdoutResult = QString::fromUtf8(process.readAllStandardOutput()).trimmed(); - const auto stderrResult = QString::fromUtf8(process.readAllStandardError()).trimmed(); - - if (process.exitStatus() == QProcess::NormalExit && process.exitCode() == 0) { - output = stdoutResult; - return true; - } else { - errorText = stderrResult + stdoutResult; - return false; - } -} - -QString mimeType(const QString &path) -{ - QString result; - QString errorText; - if (evaluateShell("xdg-mime", QStringList{"query", "filetype", path}, result, errorText)) { - return result; - } else { - fail(i18n("Failed to run xdg-mime %1: %2", path, errorText)); - } -} - QString getServiceMenusDir() { const QString dataLocation = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); @@@ -80,7 -114,7 +80,7 @@@ void runUncompress(const QString &input "multipart/x-zip"}, UncompressCommand{"unzip", QStringList{}, QStringList{"-d"}}}); - const auto mime = mimeType(inputPath); + const auto mime = QMimeDatabase().mimeTypeForFile(inputPath).name(); UncompressCommand command{}; for (const auto &pair : mimeTypeToCommand) { @@@ -171,8 -205,8 +171,8 @@@ bool runInstallerScript(const QString & } errorText = i18nc( - "%1 = comma separated list of arguments", - "Installer script %1 failed, tried arguments \"%1\".", path, argVariants.join(i18nc("Separator between arguments", "\", \""))); + "%2 = comma separated list of arguments", + "Installer script %1 failed, tried arguments \"%2\".", path, argVariants.join(i18nc("Separator between arguments", "\", \""))); return false; }