]> granicus.if.org Git - handbrake/commitdiff
WinGui: Make the Autoname macros case-insensitive. Fixes #1670
authorsr55 <sr55.hb@outlook.com>
Sat, 10 Nov 2018 14:18:12 +0000 (14:18 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 10 Nov 2018 14:20:09 +0000 (14:20 +0000)
win/CS/HandBrakeWPF/Constants.cs
win/CS/HandBrakeWPF/Extensions/StringExtensions.cs
win/CS/HandBrakeWPF/Helpers/AutoNameHelper.cs

index f13d8cb0fd04507e312c12799be2f4bc3eab50cf..20133278d5306b3357a61d4730102a7735b03b75 100644 (file)
@@ -14,84 +14,32 @@ namespace HandBrakeWPF
     /// </summary>\r
     public class Constants\r
     {\r
-        /// <summary>\r
-        /// The appcast 64.\r
-        /// </summary>\r
+        /* Appcast URLs */\r
         public const string Appcast64 = "https://handbrake.fr/appcast.x86_64.xml";\r
-\r
-        /// <summary>\r
-        /// The appcast 32.\r
-        /// </summary>\r
         public const string AppcastUnstable64 = "https://handbrake.fr/appcast_unstable.x86_64.xml";\r
 \r
-        /// <summary>\r
-        /// The any.\r
-        /// </summary>\r
+        /* Languages */\r
         public const string Any = "(Any)";\r
-\r
-        /// <summary>\r
-        /// Undefined Language\r
-        /// </summary>\r
         public const string Undefined = "und";\r
 \r
-        /// <summary>\r
-        /// The chapters.\r
-        /// </summary>\r
+        /* Autoname Contanstants */\r
         public const string Chapters = "{chapters}";\r
-\r
-        /// <summary>\r
-        /// The title.\r
-        /// </summary>\r
         public const string Title = "{title}";\r
-\r
-        /// <summary>\r
-        /// The quality.\r
-        /// </summary>\r
         public const string Quality = "{quality}";\r
-\r
-        /// <summary>\r
-        /// The creation date of the new output file.\r
-        /// </summary>\r
         public const string Date = "{date}";\r
-\r
-        /// <summary>\r
-        /// The creation time of the new output file.\r
-        /// </summary>\r
         public const string Time = "{time}";\r
-\r
-        /// <summary>\r
-        /// The source creation date.\r
-        /// </summary>\r
         public const string CretaionDate = "{creation-date}";\r
-\r
-        /// <summary>\r
-        /// The source creation time.\r
-        /// </summary>\r
         public const string CreationTime = "{creation-time}";\r
-\r
-        /// <summary>\r
-        /// The bitrate.\r
-        /// </summary>\r
         public const string Bitrate = "{bitrate}";\r
-\r
-        /// <summary>\r
-        /// The preset.\r
-        /// </summary>\r
         public const string Preset = "{preset}";\r
+        public const string Source = "{source}";\r
 \r
-        /// <summary>\r
-        /// Preset Major Version\r
-        /// </summary>\r
-        public const string PresetVersionMajor = "11";\r
+        public const string SourcePath = "{source_path}";\r
+        public const string SourceFolderName = "{source_folder_name}";\r
 \r
-        /// <summary>\r
-        /// Preset Minor Version\r
-        /// </summary>\r
+        /* Preset Versions */\r
+        public const string PresetVersionMajor = "11";\r
         public const string PresetVersionMinor = "0";\r
-\r
-        /// <summary>\r
-        /// Preset Micro Version\r
-        /// </summary>\r
         public const string PresetVersionMicro = "0";\r
 \r
         public const string FileScanMru = "FileScanMru";\r
index cf7e507aaf8e3b867c3978497092746f40443eac..220d6f14d81a4853437586b0da684535f624b89d 100644 (file)
 namespace HandBrakeWPF.Extensions\r
 {\r
     using System.Globalization;\r
+    using System.Text.RegularExpressions;\r
 \r
-    /// <summary>\r
-    /// String Extensions\r
-    /// </summary>\r
     public static class StringExtensions\r
     { \r
         /// <summary>\r
@@ -36,5 +34,10 @@ namespace HandBrakeWPF.Extensions
 \r
             return 0;\r
         }\r
+\r
+        public static string RegexReplace(this string input, string pattern, string repacelement)\r
+        {\r
+            return Regex.Replace(input, pattern, repacelement, RegexOptions.IgnoreCase);\r
+        }\r
     }\r
 }\r
index 4fd7ec1fcd8f0a443efaea652a059ab6859eb15a..0b000eff7a5f9af3add75dcd312a9ebdd188f0e9 100644 (file)
@@ -59,7 +59,6 @@ namespace HandBrakeWPF.Helpers
             {\r
                 // Get the Source Name and remove any invalid characters\r
                 string sourceName = Path.GetInvalidFileNameChars().Aggregate(sourceOrLabelName, (current, character) => current.Replace(character.ToString(), string.Empty));\r
-                // string sanitisedPresetName = presetName != null ? Path.GetInvalidFileNameChars().Aggregate(presetName.Name, (current, character) => current.Replace(character.ToString(), string.Empty)) : string.Empty;\r
 \r
                 // Remove Underscores\r
                 if (userSettingService.GetUserSetting<bool>(UserSettingConstants.AutoNameRemoveUnderscore))\r
@@ -124,14 +123,14 @@ namespace HandBrakeWPF.Helpers
                 {\r
                     destinationFilename = userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNameFormat);\r
                     destinationFilename =\r
-                        destinationFilename.Replace("{source}", sourceName)\r
-                            .Replace(Constants.Title, dvdTitle)\r
-                            .Replace(Constants.Chapters, combinedChapterTag)\r
-                            .Replace(Constants.Date, DateTime.Now.Date.ToShortDateString().Replace('/', '-'))\r
-                            .Replace(Constants.Time, DateTime.Now.ToString("HH-mm"))\r
-                            .Replace(Constants.CretaionDate, createDate)\r
-                            .Replace(Constants.CreationTime, createTime);\r
-                    // .Replace(Constants.Preset, sanitisedPresetName);\r
+                        destinationFilename\r
+                            .RegexReplace(Constants.Source, sourceName)\r
+                            .RegexReplace(Constants.Title, dvdTitle)\r
+                            .RegexReplace(Constants.Chapters, combinedChapterTag)\r
+                            .RegexReplace(Constants.Date, DateTime.Now.Date.ToShortDateString().Replace('/', '-'))\r
+                            .RegexReplace(Constants.Time, DateTime.Now.ToString("HH-mm"))\r
+                            .RegexReplace(Constants.CretaionDate, createDate)\r
+                            .RegexReplace(Constants.CreationTime, createTime);\r
 \r
                     if (task.VideoEncodeRateType == VideoEncodeRateType.ConstantQuality)\r
                     {\r
@@ -248,8 +247,8 @@ namespace HandBrakeWPF.Helpers
             }\r
 \r
             // If there is an auto name path, use it...\r
-            return userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Trim().StartsWith("{source_path}") ||\r
-                (userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Contains("{source_folder_name}") ||\r
+            return userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Trim().StartsWith(Constants.SourcePath) ||\r
+                (userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Contains(Constants.SourceFolderName) ||\r
                  Directory.Exists(userSettingService.GetUserSetting<string>(UserSettingConstants.AutoNamePath).Trim()));\r
         }        \r
     }\r