From 605661eeb87598c01b926361d75fc2c579f780e9 Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 27 May 2016 22:20:41 +0200 Subject: [PATCH] Changed: Use product variables from installer.ini --- .../client/ryzom_installer/src/configfile.cpp | 50 ++++++++++++++++++- .../client/ryzom_installer/src/configfile.h | 18 ++++++- .../ryzom_installer/src/operationdialog.cpp | 17 +++---- 3 files changed, 74 insertions(+), 11 deletions(-) diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp index b855e7905..4574e00b5 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp @@ -59,6 +59,15 @@ bool CConfigFile::load(const QString &filename) m_use64BitsClient = settings.value("use_64bits_client").toBool(); settings.endGroup(); + settings.beginGroup("product"); + m_productName = settings.value("name").toString(); + m_productPublisher = settings.value("publisher").toString(); + m_productAboutUrl = settings.value("url_about").toString(); + m_productUpdateUrl = settings.value("url_update").toString(); + m_productHelpUrl = settings.value("url_help").toString(); + m_productComments = settings.value("comments").toString(); + settings.endGroup(); + settings.beginGroup("servers"); int serversCount = settings.value("size").toInt(); m_defaultServerIndex = settings.value("default").toInt(); @@ -142,6 +151,15 @@ bool CConfigFile::save() const settings.setValue("use_64bits_client", m_use64BitsClient); settings.endGroup(); + settings.beginGroup("product"); + settings.setValue("name", m_productName); + settings.setValue("publisher", m_productPublisher); + settings.setValue("url_about", m_productAboutUrl); + settings.setValue("url_update", m_productUpdateUrl); + settings.setValue("url_help", m_productHelpUrl); + settings.setValue("comments", m_productComments); + settings.endGroup(); + settings.beginGroup("servers"); settings.setValue("size", m_servers.size()); settings.setValue("default", m_defaultServerIndex); @@ -345,7 +363,7 @@ void CConfigFile::setUse64BitsClient(bool on) m_use64BitsClient = on; } -QString CConfigFile::expandVariables(const QString &str) +QString CConfigFile::expandVariables(const QString &str) const { QString res = str; @@ -721,3 +739,33 @@ CConfigFile::InstallationStep CConfigFile::getNextStep() const return Done; } + +QString CConfigFile::getProductName() const +{ + return m_productName; +} + +QString CConfigFile::getProductPublisher() const +{ + return m_productPublisher; +} + +QString CConfigFile::getProductAboutUrl() const +{ + return expandVariables(m_productAboutUrl); +} + +QString CConfigFile::getProductUpdateUrl() const +{ + return expandVariables(m_productUpdateUrl); +} + +QString CConfigFile::getProductHelpUrl() const +{ + return expandVariables(m_productHelpUrl); +} + +QString CConfigFile::getProductComments() const +{ + return m_productComments; +} diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.h b/code/ryzom/tools/client/ryzom_installer/src/configfile.h index 72325667b..7a8f2307c 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.h +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.h @@ -164,7 +164,7 @@ public: bool use64BitsClient() const; void setUse64BitsClient(bool on); - QString expandVariables(const QString &str); + QString expandVariables(const QString &str) const; QString getClientArch() const; @@ -174,6 +174,14 @@ public: InstallationStep getNextStep() const; + // product details + QString getProductName() const; + QString getProductPublisher() const; + QString getProductAboutUrl() const; + QString getProductUpdateUrl() const; + QString getProductHelpUrl() const; + QString getProductComments() const; + private: int m_defaultServerIndex; int m_defaultProfileIndex; @@ -189,6 +197,14 @@ private: QString m_defaultConfigPath; QString m_configPath; + // product + QString m_productName; + QString m_productPublisher; + QString m_productAboutUrl; + QString m_productUpdateUrl; + QString m_productHelpUrl; + QString m_productComments; + static CConfigFile *s_instance; }; diff --git a/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp b/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp index d2c0a2593..736ed4cd0 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp @@ -486,7 +486,6 @@ bool COperationDialog::createDefaultProfile() CServer server = config->getServer(config->getDefaultServerIndex()); m_currentOperation = QApplication::tr("Create default profile"); -// m_currentOperationProgressFormat = QApplication::tr("Deleting %1..."); CProfile profile; @@ -539,9 +538,10 @@ bool COperationDialog::createAddRemoveEntry() QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Ryzom", QSettings::NativeFormat); QStringList versionTokens = QString(RYZOM_VERSION).split('.'); + QString nativeFullPath = QDir::toNativeSeparators(newInstallerFullPath); settings.setValue("Comments", ""); - settings.setValue("DisplayIcon", QDir::toNativeSeparators(newInstallerFullPath) + ",0"); + settings.setValue("DisplayIcon", nativeFullPath + ",0"); settings.setValue("DisplayName", "Ryzom"); settings.setValue("DisplayVersion", RYZOM_VERSION); settings.setValue("EstimatedSize", 1500000); // TODO: compute real size @@ -552,13 +552,12 @@ bool COperationDialog::createAddRemoveEntry() settings.setValue("NoModify", 0); settings.setValue("NoRemove", 0); settings.setValue("NoRepair", 0); - settings.setValue("Publisher", AUTHOR); - settings.setValue("QuietUninstallString", QDir::toNativeSeparators(newInstallerFullPath) + " -u -s"); - settings.setValue("UninstallString", QDir::toNativeSeparators(newInstallerFullPath) + " -u"); - settings.setValue("URLUpdateInfo", "http://ryzom.fr/info"); - settings.setValue("URLInfoAbout", "http://ryzom.fr/info2"); - // settings.setValue("sEstimatedSize2", 0); - settings.setValue("HelpLink", "http://ryzom.fr/support"); + if (!config->getProductPublisher().isEmpty()) settings.setValue("Publisher", config->getProductPublisher()); + settings.setValue("QuietUninstallString", nativeFullPath + " -u -s"); + settings.setValue("UninstallString", nativeFullPath + " -u"); + if (!config->getProductUpdateUrl().isEmpty()) settings.setValue("URLUpdateInfo", config->getProductUpdateUrl()); + if (!config->getProductAboutUrl().isEmpty()) settings.setValue("URLInfoAbout", config->getProductAboutUrl()); + if (!config->getProductHelpUrl().isEmpty()) settings.setValue("HelpLink", config->getProductHelpUrl()); // ModifyPath #endif }