]> git.saurik.com Git - wxWidgets.git/commitdiff
adding a for am/pm and windows special character t
authorStefan Csomor <csomor@advancedconcepts.ch>
Sun, 29 Mar 2009 20:10:14 +0000 (20:10 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sun, 29 Mar 2009 20:10:14 +0000 (20:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/intl.cpp

index 506009b981caf401c658de74c4cf4b0dca3f3aab..13e89b61ad5b1d53d1177f7ecbb80fd693847682 100644 (file)
@@ -2613,6 +2613,13 @@ static wxString TranslateFromUnicodeFormat(const wxString& fmt)
 
     char chLast = '\0';
     size_t lastCount = 0;
+    
+    const char* formatchars = 
+        "dghHmMsSy"
+#ifdef __WXMSW__
+        "t"
+#endif
+        ;
     for ( wxString::const_iterator p = fmt.begin(); /* end handled inside */; ++p )
     {
         if ( p != fmt.end() )
@@ -2624,7 +2631,7 @@ static wxString TranslateFromUnicodeFormat(const wxString& fmt)
             }
 
             const wxUniChar ch = (*p).GetValue();
-            if ( ch.IsAscii() && strchr("dghHmMsSy", ch) )
+            if ( ch.IsAscii() && strchr(formatchars, ch) )
             {
                 // these characters come in groups, start counting them
                 chLast = ch;
@@ -2758,6 +2765,23 @@ static wxString TranslateFromUnicodeFormat(const wxString& fmt)
                     wxASSERT_MSG( lastCount <= 2, "too many 'g's" );
                     break;
 
+                case 'a':
+                    fmtWX += "%p";
+                    break;
+#ifdef __WXMSW__
+                case 't':
+                    switch ( lastCount )
+                    {
+                        case 1: // t
+                        case 2: // tt
+                            fmtWX += "%p";
+                            break;
+
+                        default:
+                            wxFAIL_MSG( "too many 't's" );
+                    }
+                    break;
+#endif
                 default:
                     wxFAIL_MSG( "unreachable" );
             }