WinGui; Implement a smarter Title Case Algorithm. This may resolve #922
authorsr55 <sr55.hb@outlook.com>
Sun, 1 Oct 2017 14:11:21 +0000 (15:11 +0100)
committersr55 <sr55.hb@outlook.com>
Sun, 1 Oct 2017 14:11:21 +0000 (15:11 +0100)
win/CS/HandBrakeWPF/Extensions/StringExtensions.cs

index 35cf4b128ae5ad1f3c1df31e089484a0e4397583..d09c99e20c4a71403cb7af962869ed350e7438c1 100644 (file)
@@ -9,13 +9,13 @@
 \r
 namespace HandBrakeWPF.Extensions\r
 {\r
-    using System.Text;\r
+    using System.Globalization;\r
 \r
     /// <summary>\r
     /// String Extensions\r
     /// </summary>\r
     public static class StringExtensions\r
-    {\r
+    { \r
         /// <summary>\r
         /// Change the input string to title case\r
         /// </summary>\r
@@ -23,19 +23,8 @@ namespace HandBrakeWPF.Extensions
         /// <returns>the input string in title case</returns>\r
         public static string ToTitleCase(this string input)\r
         {\r
-            string[] tokens = input.Split(' ');\r
-            StringBuilder sb = new StringBuilder(input.Length);\r
-            foreach (string s in tokens)\r
-            {\r
-                if (!string.IsNullOrEmpty(s))\r
-                {\r
-                    sb.Append(s[0].ToString().ToUpper());\r
-                    sb.Append(s.Substring(1).ToLower());\r
-                    sb.Append(" ");\r
-                }\r
-            }\r
-\r
-            return sb.ToString().Trim();\r
+            TextInfo textInfo = new CultureInfo(CultureInfo.CurrentCulture.Name, false).TextInfo;\r
+            return textInfo.ToTitleCase(input);\r
         }\r
     }\r
 }\r