From: Vadim Zeitlin Date: Sat, 19 May 2001 01:04:25 +0000 (+0000) Subject: merged wxRegConf rename fix from 2.2 X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/442d08ce743780b40895848a7d07c083e327aa2f merged wxRegConf rename fix from 2.2 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/regconf.cpp b/src/msw/regconf.cpp index fefb7b86c9..5d8d70f97a 100644 --- a/src/msw/regconf.cpp +++ b/src/msw/regconf.cpp @@ -695,34 +695,7 @@ bool wxRegConfig::RenameEntry(const wxString& oldName, const wxString& newName) if ( HasEntry(newName) ) return FALSE; - // delete the old entry and create the new one - but do in the reverse - // order to not lose the data if Create() fails - - bool ok; - if ( m_keyLocal.IsNumericValue(oldName) ) - { - long val; - ok = m_keyLocal.QueryValue(oldName, &val) && - m_keyLocal.SetValue(newName, val); - } - else - { - wxString val; - ok = m_keyLocal.QueryValue(oldName, val) && - m_keyLocal.SetValue(newName, val); - } - - if ( !ok ) - return FALSE; - - if ( !m_keyLocal.DeleteValue(oldName) ) - { - m_keyLocal.DeleteValue(newName); - - return FALSE; - } - - return TRUE; + return m_keyLocal.RenameValue(oldName, newName); } bool wxRegConfig::RenameGroup(const wxString& oldName, const wxString& newName) @@ -735,11 +708,7 @@ bool wxRegConfig::RenameGroup(const wxString& oldName, const wxString& newName) if ( HasGroup(newName) ) return FALSE; - // TODO there is no way to rename a registry key - we must do a deep copy - // ourselves - wxFAIL_MSG(wxT("Registry key renaming not implemented")); - - return FALSE; + return wxRegKey(m_keyLocal, oldName).Rename(newName); } // ----------------------------------------------------------------------------