From 293c6cc4617af07901b2a6326a5af1894ceb9ffc Mon Sep 17 00:00:00 2001 From: Max Horn Date: Thu, 21 Nov 2002 17:25:31 +0000 Subject: enhanced Config::rename_domain; added the ability to change the domain name in EditGameDialog svn-id: r5673 --- common/config-file.cpp | 18 +++++++++--------- common/config-file.h | 2 +- common/gameDetector.cpp | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'common') diff --git a/common/config-file.cpp b/common/config-file.cpp index 137a25ebc6..821d6e5b3c 100644 --- a/common/config-file.cpp +++ b/common/config-file.cpp @@ -201,22 +201,22 @@ void Config::flush() const } } -void Config::rename_domain(const String &d) +void Config::rename_domain(const String &oldD, const String &newD) { - String domain(d); - domain.toLowercase(); + String oldDomain(oldD); + String newDomain(newD); + oldDomain.toLowercase(); + newDomain.toLowercase(); - if (domain == defaultDomain) + if (oldDomain == newDomain) return; - StringMap &oldHash = domains[defaultDomain]; - StringMap &newHash = domains[domain]; + StringMap &oldHash = domains[oldDomain]; + StringMap &newHash = domains[newDomain]; newHash.merge(oldHash); - domains.remove(defaultDomain); - - defaultDomain = domain; + domains.remove(oldDomain); } void Config::delete_domain(const String &d) diff --git a/common/config-file.h b/common/config-file.h index 520fb769dd..0612954914 100644 --- a/common/config-file.h +++ b/common/config-file.h @@ -46,7 +46,7 @@ public: void set_domain(const String &d); void flush() const; - void rename_domain(const String &d); + void rename_domain(const String &oldD, const String &newD); void delete_domain(const String &d); bool has_domain(const String &d) const; void set_filename(const String &); diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp index 51011b9425..9e766674f2 100644 --- a/common/gameDetector.cpp +++ b/common/gameDetector.cpp @@ -360,8 +360,8 @@ void GameDetector::setGame(const String &name) { _gameFileName = name; g_config->set_domain(name); - g_config->rename_domain("game-specific"); - g_config->rename_domain(name); + g_config->rename_domain(name, "game-specific"); + g_config->rename_domain("game-specific", name); updateconfig(); } -- cgit v1.2.3