From 75d3db65e8037606c9597f65b1fd369f4cf0f7e3 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 14 Sep 2016 08:14:56 +0200 Subject: [PATCH] Fixed: Only ask once if user want to uninstall Ryzom, see #279 --HG-- branch : develop --- .../client/ryzom_installer/src/configfile.cpp | 15 +++++++++++++-- .../tools/client/ryzom_installer/src/configfile.h | 4 ++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp index 7b3952a22..f23976cd9 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp @@ -27,7 +27,8 @@ CConfigFile *CConfigFile::s_instance = NULL; CConfigFile::CConfigFile(QObject *parent):QObject(parent), m_version(-1), - m_defaultServerIndex(0), m_defaultProfileIndex(0), m_use64BitsClient(false), m_shouldUninstallOldClient(true) + m_defaultServerIndex(0), m_defaultProfileIndex(0), m_use64BitsClient(false), m_shouldUninstallOldClient(true), + m_uninstallingOldClient(false) { s_instance = this; @@ -461,6 +462,16 @@ void CConfigFile::setShouldUninstallOldClient(bool on) m_shouldUninstallOldClient = on; } +bool CConfigFile::uninstallingOldClient() const +{ + return m_uninstallingOldClient; +} + +void CConfigFile::setUninstallingOldClient(bool on) +{ + m_uninstallingOldClient = on; +} + QString CConfigFile::expandVariables(const QString &str) const { QString res = str; @@ -972,7 +983,7 @@ OperationStep CConfigFile::getInstallNextStep() const if (!settings.contains("InstallLocation")) return CreateAddRemoveEntry; #endif - if (m_shouldUninstallOldClient && !getSrcServerDirectory().isEmpty() && QFile::exists(getSrcServerDirectory() + "/Uninstall.exe")) + if (!m_uninstallingOldClient && m_shouldUninstallOldClient && !getSrcServerDirectory().isEmpty() && QFile::exists(getSrcServerDirectory() + "/Uninstall.exe")) { return UninstallOldClient; } diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.h b/code/ryzom/tools/client/ryzom_installer/src/configfile.h index b2a4ae7e5..5c2a4dacc 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.h +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.h @@ -109,6 +109,9 @@ public: bool shouldUninstallOldClient() const; void setShouldUninstallOldClient(bool on); + bool uninstallingOldClient() const; + void setUninstallingOldClient(bool on); + QString expandVariables(const QString &str) const; QString getClientArch() const; @@ -147,6 +150,7 @@ private: QString m_srcDirectory; bool m_use64BitsClient; bool m_shouldUninstallOldClient; + bool m_uninstallingOldClient; QString m_language; QString m_defaultConfigPath;