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
{
#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

View file

@ -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

View file

@ -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;