]> git.saurik.com Git - wxWidgets.git/commitdiff
avoid duplication in the code by refactoring LCID creation from wxLanguageInfo::WinLa...
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 11 Feb 2008 23:23:10 +0000 (23:23 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 11 Feb 2008 23:23:10 +0000 (23:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/intl.h
src/common/intl.cpp

index 6f297c89e9bb92d69d2b788953100c504b4e4c29..57a3ec063827ce4626d719f239ccfcf3bbaf0632 100644 (file)
@@ -321,12 +321,17 @@ struct WXDLLIMPEXP_BASE wxLanguageInfo
 {
     int Language;                   // wxLanguage id
     wxString CanonicalName;         // Canonical name, e.g. fr_FR
-#ifdef __WIN32__
+#ifdef __WXMSW__
     wxUint32 WinLang,               // Win32 language identifiers
              WinSublang;
-#endif // __WIN32__
+#endif // __WXMSW__
     wxString Description;           // human-readable name of the language
     wxLayoutDirection LayoutDirection;
+
+#ifdef __WXMSW__
+    // return the LCID corresponding to this language
+    wxUint32 GetLCID() const;
+#endif // __WXMSW__
 };
 
 // ----------------------------------------------------------------------------
index 402c20f26ab4682acd9a76dfd0f3eb595448bfb6..9294c25045507282a306c81dcb0ec35995bf3d29 100644 (file)
@@ -1012,6 +1012,19 @@ static wxArrayString gs_searchPrefixes;
 // implementation
 // ============================================================================
 
+// ----------------------------------------------------------------------------
+// wxLanguageInfo
+// ----------------------------------------------------------------------------
+
+#ifdef __WXMSW__
+
+wxUint32 wxLanguageInfo::GetLCID() const
+{
+    return MAKELCID(MAKELANGID(WinLang, WinSublang), SORT_DEFAULT);
+}
+
+#endif // __WXMSW__
+
 // ----------------------------------------------------------------------------
 // wxMsgCatalogFile class
 // ----------------------------------------------------------------------------
@@ -1812,8 +1825,8 @@ bool wxLocale::Init(int language, int flags)
                          = -1
                          #endif
                          ;
-            wxUint32 lcid = MAKELCID(MAKELANGID(info->WinLang, info->WinSublang),
-                                     SORT_DEFAULT);
+            const wxUint32 lcid = info->GetLCID();
+
             // FIXME
 #ifndef __WXWINCE__
             SetThreadLocale(lcid);
@@ -2510,12 +2523,7 @@ bool wxLocale::IsAvailable(int lang)
     if ( !info->WinLang )
         return false;
 
-    if ( !::IsValidLocale
-            (
-                MAKELCID(MAKELANGID(info->WinLang, info->WinSublang),
-                         SORT_DEFAULT),
-                LCID_INSTALLED
-            ) )
+    if ( !::IsValidLocale(info->GetLCID(), LCID_INSTALLED) )
         return false;
 
 #elif defined(__UNIX__)
@@ -2603,11 +2611,8 @@ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat))
     if (wxGetLocale())
     {
         const wxLanguageInfo *info = GetLanguageInfo(wxGetLocale()->GetLanguage());
-        if (info)
-        {                         ;
-            lcid = MAKELCID(MAKELANGID(info->WinLang, info->WinSublang),
-                                     SORT_DEFAULT);
-        }
+        if ( info )
+            lcid = info->GetLCID();
     }
 
     wxString str;