From d3f07c825cf77a729105f93c386c0cc57f768098 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 29 Sep 2016 20:46:29 +0200 Subject: [PATCH] Fixed: Create Installer link under Linux --- .../client/ryzom_installer/src/configfile.cpp | 7 ++----- .../tools/client/ryzom_installer/src/profile.cpp | 16 ++-------------- .../tools/client/ryzom_installer/src/utils.cpp | 12 ++++++------ 3 files changed, 10 insertions(+), 25 deletions(-) diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp index 6466f299e..93caa15ac 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp @@ -729,11 +729,8 @@ QString CConfigFile::getInstallerOriginalDirPath() const QString CConfigFile::getInstallerMenuLinkFullPath() const { -#ifdef Q_OS_WIN32 - return QString("%1/%2/%2 Installer.lnk").arg(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)).arg(QApplication::applicationName()); -#else - return ""; -#endif + // don't put extension + return QString("%1/%2/%2 Installer").arg(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)).arg(QApplication::applicationName()); } QStringList CConfigFile::getInstallerRequiredFiles() const diff --git a/code/ryzom/tools/client/ryzom_installer/src/profile.cpp b/code/ryzom/tools/client/ryzom_installer/src/profile.cpp index 83cbe4205..bc15c5508 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/profile.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/profile.cpp @@ -65,24 +65,12 @@ QString CProfile::getClientFullPath() const QString CProfile::getClientDesktopShortcutFullPath() const { -#ifdef Q_OS_WIN32 - return CConfigFile::getInstance()->getDesktopDirectory() + "/" + name + ".lnk"; -#elif defined(Q_OS_MAC) - return ""; -#else - return CConfigFile::getInstance()->getDesktopDirectory() + "/" + name + ".desktop"; -#endif + return CConfigFile::getInstance()->getDesktopDirectory() + "/" + name; } QString CProfile::getClientMenuShortcutFullPath() const { -#ifdef Q_OS_WIN32 - return CConfigFile::getInstance()->getMenuDirectory() + "/" + name + ".lnk"; -#elif defined(Q_OS_MAC) - return ""; -#else - return CConfigFile::getInstance()->getMenuDirectory() + "/" + name + ".desktop"; -#endif + return CConfigFile::getInstance()->getMenuDirectory() + "/" + name; } void CProfile::createShortcuts() const diff --git a/code/ryzom/tools/client/ryzom_installer/src/utils.cpp b/code/ryzom/tools/client/ryzom_installer/src/utils.cpp index e150805e0..a06ca053b 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/utils.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/utils.cpp @@ -152,17 +152,15 @@ bool createLink(const QString &link, const QString &name, const QString &executa psl->SetArguments(qToWide(arguments)); psl->SetWorkingDirectory(qToWide(QDir::toNativeSeparators(workingDir))); - // Query IShellLink for the IPersistFile interface, used for saving the - // shortcut in persistent storage. + // Query IShellLink for the IPersistFile interface, used for saving the shortcut in persistent storage. hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf); if (SUCCEEDED(hres)) { - // Add code here to check return value from MultiByteWideChar - // for success. + QString path(link + ".lnk"); // Save the link by calling IPersistFile::Save. - hres = ppf->Save(qToWide(QDir::toNativeSeparators(link)), TRUE); + hres = ppf->Save(qToWide(QDir::toNativeSeparators(path)), TRUE); ppf->Release(); } psl->Release(); @@ -261,8 +259,10 @@ bool createLink(const QString &link, const QString &name, const QString &executa data.replace("$COMMAND", command); data.replace("$ICON", icon); + QString path(link + ".desktop"); + // write file - file.setFileName(link); + file.setFileName(path); if (!file.open(QFile::WriteOnly)) return false;