Changed: Use product variables from installer.ini

This commit is contained in:
kervala 2016-05-27 22:20:41 +02:00
parent 37e2221e53
commit 605661eeb8
3 changed files with 74 additions and 11 deletions

View file

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

View file

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

View file

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