diff options
Diffstat (limited to 'src/libs/installer/createdesktopentryoperation.cpp')
-rw-r--r-- | src/libs/installer/createdesktopentryoperation.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libs/installer/createdesktopentryoperation.cpp b/src/libs/installer/createdesktopentryoperation.cpp index c3988a8ec..a19fd773a 100644 --- a/src/libs/installer/createdesktopentryoperation.cpp +++ b/src/libs/installer/createdesktopentryoperation.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2023 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -32,6 +32,7 @@ #include "globals.h" #include "adminauthorization.h" #include "remoteclient.h" +#include "packagemanagercore.h" #include <QDir> #include <QFile> @@ -64,7 +65,7 @@ QString CreateDesktopEntryOperation::absoluteFileName() XDG_DATA_HOME.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share"))); // default user-specific path - if (AdminAuthorization::hasAdminRights() || RemoteClient::instance().isActive()) + if (packageManager() && packageManager()->hasAdminRights()) XDG_DATA_HOME.push_front(QLatin1String("/usr/local/share")); // default system-wide path const QStringList directories = XDG_DATA_HOME; @@ -151,15 +152,16 @@ bool CreateDesktopEntryOperation::performOperation() setDefaultFilePermissions(filename, DefaultFilePermissions::Executable); - QTextStream stream(&file); - stream.setCodec("UTF-8"); - stream << QLatin1String("[Desktop Entry]") << endl; + QString outString; + QTextStream stream(&outString); + stream << QLatin1String("[Desktop Entry]") << Qt::endl; // Type=Application\nExec=qtcreator\nPath=... const QStringList pairs = values.split(QLatin1Char('\n')); for (QStringList::const_iterator it = pairs.begin(); it != pairs.end(); ++it) stream << *it << Qt::endl; + file.write(outString.toUtf8()); return true; } |