Changed: Installer filename should not depend on server

--HG--
branch : develop
This commit is contained in:
kervala 2016-10-03 17:17:20 +02:00
parent 9c1a5a315f
commit 7d7ce29894
6 changed files with 37 additions and 35 deletions

View file

@ -1,7 +1,10 @@
version=2 version=3
[common] [common]
installation_directory= installation_directory=
installer_filename_windows=ryzom_installer_qt_r.exe
installer_filename_osx=RyzomInstaller.app/Contents/MacOS/RyzomInstaller
installer_filename_linux=ryzom_installer_qt
[product] [product]
name=Ryzom name=Ryzom
@ -31,9 +34,6 @@ client_filename_old_windows=client_ryzom_rd.exe
configuration_filename_windows=ryzom_configuration_qt_r.exe configuration_filename_windows=ryzom_configuration_qt_r.exe
configuration_filename_osx=Ryzom.app/Contents/MacOS/RyzomConfiguration configuration_filename_osx=Ryzom.app/Contents/MacOS/RyzomConfiguration
configuration_filename_linux=ryzom_configuration_qt configuration_filename_linux=ryzom_configuration_qt
installer_filename_windows=ryzom_installer_qt_r.exe
installer_filename_osx=RyzomInstaller.app/Contents/MacOS/RyzomInstaller
installer_filename_linux=ryzom_installer_qt
comments= comments=
[server_1] [server_1]
@ -54,9 +54,6 @@ client_filename_old_windows=client_ryzom_rd.exe
configuration_filename_windows=ryzom_configuration_qt_r.exe configuration_filename_windows=ryzom_configuration_qt_r.exe
configuration_filename_osx=Ryzom.app/Contents/MacOS/RyzomConfiguration configuration_filename_osx=Ryzom.app/Contents/MacOS/RyzomConfiguration
configuration_filename_linux=ryzom_configuration_qt configuration_filename_linux=ryzom_configuration_qt
installer_filename_windows=ryzom_installer_qt_r.exe
installer_filename_osx=RyzomInstaller.app/Contents/MacOS/RyzomInstaller
installer_filename_linux=ryzom_installer_qt
comments=Test server comments=Test server
[profiles] [profiles]

View file

@ -82,6 +82,18 @@ bool CConfigFile::load(const QString &filename)
m_installationDirectory = settings.value("installation_directory").toString(); m_installationDirectory = settings.value("installation_directory").toString();
m_use64BitsClient = settings.value("use_64bits_client", true).toBool(); m_use64BitsClient = settings.value("use_64bits_client", true).toBool();
m_shouldUninstallOldClient = settings.value("should_uninstall_old_client", true).toBool(); m_shouldUninstallOldClient = settings.value("should_uninstall_old_client", true).toBool();
if (!useDefaultValues)
{
#if defined(Q_OS_WIN)
m_installerFilename = settings.value("installer_filename_windows").toString();
#elif defined(Q_OS_MAC)
m_installerFilename = settings.value("installer_filename_osx").toString();
#else
m_installerFilename = settings.value("installer_filename_linux").toString();
#endif
}
settings.endGroup(); settings.endGroup();
if (!useDefaultValues) if (!useDefaultValues)
@ -129,6 +141,9 @@ bool CConfigFile::load(const QString &filename)
settings.endGroup(); settings.endGroup();
} }
// save file with new values
if (useDefaultValues) save();
return !m_servers.isEmpty(); return !m_servers.isEmpty();
} }
@ -144,6 +159,15 @@ bool CConfigFile::save() const
settings.setValue("installation_directory", m_installationDirectory); settings.setValue("installation_directory", m_installationDirectory);
settings.setValue("use_64bits_client", m_use64BitsClient); settings.setValue("use_64bits_client", m_use64BitsClient);
settings.setValue("should_uninstall_old_client", m_shouldUninstallOldClient); settings.setValue("should_uninstall_old_client", m_shouldUninstallOldClient);
#if defined(Q_OS_WIN)
settings.setValue("installer_filename_windows", m_installerFilename);
#elif defined(Q_OS_MAC)
settings.setValue("installer_filename_osx", m_installerFilename);
#else
settings.setValue("installer_filename_linux", m_installerFilename);
#endif
settings.endGroup(); settings.endGroup();
settings.beginGroup("product"); settings.beginGroup("product");
@ -686,10 +710,7 @@ bool CConfigFile::shouldCreateMenuShortcut() const
bool CConfigFile::shouldCopyInstaller() const bool CConfigFile::shouldCopyInstaller() const
{ {
const CProfile &p = getProfile(); QString installerDst = getInstallationDirectory() + "/" + m_installerFilename;
const CServer &s = getServer(p.server);
QString installerDst = getInstallationDirectory() + "/" + s.installerFilename;
// if installer not found in installation directory, extract it from BNP // if installer not found in installation directory, extract it from BNP
if (!QFile::exists(installerDst)) return true; if (!QFile::exists(installerDst)) return true;

View file

@ -116,6 +116,8 @@ public:
bool uninstallingOldClient() const; bool uninstallingOldClient() const;
void setUninstallingOldClient(bool on) const; void setUninstallingOldClient(bool on) const;
QString getInstallerFilename() const { return m_installerFilename; }
QString expandVariables(const QString &str) const; QString expandVariables(const QString &str) const;
QString getClientArch() const; QString getClientArch() const;
@ -155,6 +157,7 @@ private:
QString m_srcDirectory; QString m_srcDirectory;
bool m_use64BitsClient; bool m_use64BitsClient;
bool m_shouldUninstallOldClient; bool m_shouldUninstallOldClient;
QString m_installerFilename;
QString m_language; QString m_language;
QString m_defaultConfigPath; QString m_defaultConfigPath;

View file

@ -735,15 +735,12 @@ void COperationDialog::copyInstaller()
{ {
CConfigFile *config = CConfigFile::getInstance(); CConfigFile *config = CConfigFile::getInstance();
// default server
const CServer &server = config->getServer();
m_currentOperation = tr("Copying installer to new location..."); m_currentOperation = tr("Copying installer to new location...");
QString destinationDirectory = config->getInstallationDirectory(); QString destinationDirectory = config->getInstallationDirectory();
// rename old client to installer // rename old client to installer
QString newInstallerFilename = server.installerFilename; QString newInstallerFilename = config->getInstallerFilename();
if (!newInstallerFilename.isEmpty()) if (!newInstallerFilename.isEmpty())
{ {
@ -944,14 +941,10 @@ bool COperationDialog::createAddRemoveEntry()
{ {
CConfigFile *config = CConfigFile::getInstance(); CConfigFile *config = CConfigFile::getInstance();
const CServer &server = config->getServer(); QString newInstallerFilename = config->getInstallerFilename();
QString oldInstallerFilename = server.clientFilenameOld; if (!newInstallerFilename.isEmpty())
QString newInstallerFilename = server.installerFilename;
if (!oldInstallerFilename.isEmpty() && !newInstallerFilename.isEmpty())
{ {
QString oldInstallerFullPath = config->getSrcServerDirectory() + "/" + oldInstallerFilename;
QString newInstallerFullPath = config->getInstallationDirectory() + "/" + newInstallerFilename; QString newInstallerFullPath = config->getInstallationDirectory() + "/" + newInstallerFilename;
if (QFile::exists(newInstallerFullPath)) if (QFile::exists(newInstallerFullPath))
@ -959,7 +952,6 @@ bool COperationDialog::createAddRemoveEntry()
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Ryzom", QSettings::NativeFormat); QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Ryzom", QSettings::NativeFormat);
QStringList versionTokens = QString(RYZOM_VERSION).split('.');
QString nativeFullPath = QDir::toNativeSeparators(newInstallerFullPath); QString nativeFullPath = QDir::toNativeSeparators(newInstallerFullPath);
settings.setValue("Comments", ""); settings.setValue("Comments", "");
@ -994,14 +986,10 @@ bool COperationDialog::updateAddRemoveEntry()
{ {
CConfigFile *config = CConfigFile::getInstance(); CConfigFile *config = CConfigFile::getInstance();
const CServer &server = config->getServer(); QString newInstallerFilename = config->getInstallerFilename();
QString oldInstallerFilename = server.clientFilenameOld; if (!newInstallerFilename.isEmpty())
QString newInstallerFilename = server.installerFilename;
if (!oldInstallerFilename.isEmpty() && !newInstallerFilename.isEmpty())
{ {
QString oldInstallerFullPath = config->getSrcServerDirectory() + "/" + oldInstallerFilename;
QString newInstallerFullPath = config->getInstallationDirectory() + "/" + newInstallerFilename; QString newInstallerFullPath = config->getInstallationDirectory() + "/" + newInstallerFilename;
if (QFile::exists(newInstallerFullPath)) if (QFile::exists(newInstallerFullPath))

View file

@ -40,17 +40,14 @@ void CServer::loadFromSettings(const QSettings &settings)
clientFilename = settings.value("client_filename_windows").toString(); clientFilename = settings.value("client_filename_windows").toString();
clientFilenameOld = settings.value("client_filename_old_windows").toString(); clientFilenameOld = settings.value("client_filename_old_windows").toString();
configurationFilename = settings.value("configuration_filename_windows").toString(); configurationFilename = settings.value("configuration_filename_windows").toString();
installerFilename = settings.value("installer_filename_windows").toString();
#elif defined(Q_OS_MAC) #elif defined(Q_OS_MAC)
clientFilename = settings.value("client_filename_osx").toString(); clientFilename = settings.value("client_filename_osx").toString();
clientFilenameOld = settings.value("client_filename_old_osx").toString(); clientFilenameOld = settings.value("client_filename_old_osx").toString();
configurationFilename = settings.value("configuration_filename_osx").toString(); configurationFilename = settings.value("configuration_filename_osx").toString();
installerFilename = settings.value("installer_filename_osx").toString();
#else #else
clientFilename = settings.value("client_filename_linux").toString(); clientFilename = settings.value("client_filename_linux").toString();
clientFilenameOld = settings.value("client_filename_old_linux").toString(); clientFilenameOld = settings.value("client_filename_old_linux").toString();
configurationFilename = settings.value("configuration_filename_linux").toString(); configurationFilename = settings.value("configuration_filename_linux").toString();
installerFilename = settings.value("installer_filename_linux").toString();
#endif #endif
comments = settings.value("comments").toString(); comments = settings.value("comments").toString();
} }
@ -71,17 +68,14 @@ void CServer::saveToSettings(QSettings &settings) const
settings.setValue("client_filename_windows", clientFilename); settings.setValue("client_filename_windows", clientFilename);
settings.setValue("client_filename_old_windows", clientFilenameOld); settings.setValue("client_filename_old_windows", clientFilenameOld);
settings.setValue("configuration_filename_windows", configurationFilename); settings.setValue("configuration_filename_windows", configurationFilename);
settings.setValue("installer_filename_windows", installerFilename);
#elif defined(Q_OS_MAC) #elif defined(Q_OS_MAC)
settings.setValue("client_filename_osx", clientFilename); settings.setValue("client_filename_osx", clientFilename);
settings.setValue("client_filename_old_osx", clientFilenameOld); settings.setValue("client_filename_old_osx", clientFilenameOld);
settings.setValue("configuration_filename_osx", configurationFilename); settings.setValue("configuration_filename_osx", configurationFilename);
settings.setValue("installer_filename_osx", installerFilename);
#else #else
settings.setValue("client_filename_linux", clientFilename); settings.setValue("client_filename_linux", clientFilename);
settings.setValue("client_filename_old_linux", clientFilenameOld); settings.setValue("client_filename_old_linux", clientFilenameOld);
settings.setValue("configuration_filename_linux", configurationFilename); settings.setValue("configuration_filename_linux", configurationFilename);
settings.setValue("installer_filename_linux", installerFilename);
#endif #endif
settings.setValue("comments", comments); settings.setValue("comments", comments);
} }

View file

@ -41,7 +41,6 @@ public:
QString clientFilename; QString clientFilename;
QString clientFilenameOld; QString clientFilenameOld;
QString configurationFilename; QString configurationFilename;
QString installerFilename;
QString comments; QString comments;
void loadFromSettings(const QSettings &settings); void loadFromSettings(const QSettings &settings);