Fixed: Create Installer link under Linux

This commit is contained in:
kervala 2016-09-29 20:46:29 +02:00
parent a21a6f8740
commit db76b17612
3 changed files with 10 additions and 25 deletions

View file

@ -729,11 +729,8 @@ QString CConfigFile::getInstallerOriginalDirPath() const
QString CConfigFile::getInstallerMenuLinkFullPath() const QString CConfigFile::getInstallerMenuLinkFullPath() const
{ {
#ifdef Q_OS_WIN32 // don't put extension
return QString("%1/%2/%2 Installer.lnk").arg(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)).arg(QApplication::applicationName()); return QString("%1/%2/%2 Installer").arg(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)).arg(QApplication::applicationName());
#else
return "";
#endif
} }
QStringList CConfigFile::getInstallerRequiredFiles() const QStringList CConfigFile::getInstallerRequiredFiles() const

View file

@ -65,24 +65,12 @@ QString CProfile::getClientFullPath() const
QString CProfile::getClientDesktopShortcutFullPath() const QString CProfile::getClientDesktopShortcutFullPath() const
{ {
#ifdef Q_OS_WIN32 return CConfigFile::getInstance()->getDesktopDirectory() + "/" + name;
return CConfigFile::getInstance()->getDesktopDirectory() + "/" + name + ".lnk";
#elif defined(Q_OS_MAC)
return "";
#else
return CConfigFile::getInstance()->getDesktopDirectory() + "/" + name + ".desktop";
#endif
} }
QString CProfile::getClientMenuShortcutFullPath() const QString CProfile::getClientMenuShortcutFullPath() const
{ {
#ifdef Q_OS_WIN32 return CConfigFile::getInstance()->getMenuDirectory() + "/" + name;
return CConfigFile::getInstance()->getMenuDirectory() + "/" + name + ".lnk";
#elif defined(Q_OS_MAC)
return "";
#else
return CConfigFile::getInstance()->getMenuDirectory() + "/" + name + ".desktop";
#endif
} }
void CProfile::createShortcuts() const void CProfile::createShortcuts() const

View file

@ -152,17 +152,15 @@ bool createLink(const QString &link, const QString &name, const QString &executa
psl->SetArguments(qToWide(arguments)); psl->SetArguments(qToWide(arguments));
psl->SetWorkingDirectory(qToWide(QDir::toNativeSeparators(workingDir))); psl->SetWorkingDirectory(qToWide(QDir::toNativeSeparators(workingDir)));
// Query IShellLink for the IPersistFile interface, used for saving the // Query IShellLink for the IPersistFile interface, used for saving the shortcut in persistent storage.
// shortcut in persistent storage.
hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf); hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
if (SUCCEEDED(hres)) if (SUCCEEDED(hres))
{ {
// Add code here to check return value from MultiByteWideChar QString path(link + ".lnk");
// for success.
// Save the link by calling IPersistFile::Save. // 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(); ppf->Release();
} }
psl->Release(); psl->Release();
@ -261,8 +259,10 @@ bool createLink(const QString &link, const QString &name, const QString &executa
data.replace("$COMMAND", command); data.replace("$COMMAND", command);
data.replace("$ICON", icon); data.replace("$ICON", icon);
QString path(link + ".desktop");
// write file // write file
file.setFileName(link); file.setFileName(path);
if (!file.open(QFile::WriteOnly)) return false; if (!file.open(QFile::WriteOnly)) return false;