]> granicus.if.org Git - handbrake/commitdiff
WinGui: Fix for configure audio tracks not behaving correctly with "Any" option.
authorsr55 <sr55.hb@outlook.com>
Sun, 31 Jan 2016 17:45:19 +0000 (17:45 +0000)
committersr55 <sr55.hb@outlook.com>
Sun, 31 Jan 2016 17:45:19 +0000 (17:45 +0000)
win/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs

index 0966b18fd40e94eabd4d493001086813390a280d..05a904d5fd5732cd1e8ba9b16b745cc2880eddcc 100644 (file)
@@ -582,7 +582,7 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         private void AddFirstForSelectedLanguages()\r
         {\r
-            foreach (Audio sourceTrack in this.GetSelectedLanguagesTracks())\r
+            foreach (Audio sourceTrack in this.GetSelectedLanguagesTracks(false))\r
             {\r
                 // Step 2: Check if the track list already contrains this track\r
                 bool found = this.Task.AudioTracks.Any(audioTrack => Equals(audioTrack.ScannedTrack, sourceTrack));\r
@@ -612,7 +612,7 @@ namespace HandBrakeWPF.ViewModels
         public void AddAllRemainingForSelectedLanguages()\r
         {\r
             // Add them if they are not already added.\r
-            foreach (Audio sourceTrack in this.GetSelectedLanguagesTracks())\r
+            foreach (Audio sourceTrack in this.GetSelectedLanguagesTracks(true))\r
             {\r
                 // Step 2: Check if the track list already contrains this track\r
                 bool found = this.Task.AudioTracks.Any(audioTrack => Equals(audioTrack.ScannedTrack, sourceTrack));\r
@@ -650,17 +650,22 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Gets a list of source tracks for the users selected languages.\r
         /// </summary>\r
+        /// <param name="includeAny">\r
+        /// The include Any.\r
+        /// </param>\r
         /// <returns>\r
         /// A list of source audio tracks.\r
         /// </returns>\r
-        private IEnumerable<Audio> GetSelectedLanguagesTracks()\r
+        private IEnumerable<Audio> GetSelectedLanguagesTracks(bool includeAny)\r
         {\r
             List<Audio> trackList = new List<Audio>();\r
 \r
-            List<string> isoCodes = this.AudioBehaviours.SelectedLangauges.Contains(Constants.Any)\r
-                                            ? LanguageUtilities.GetIsoCodes()\r
-                                            : LanguageUtilities.GetLanguageCodes(\r
-                                                this.AudioBehaviours.SelectedLangauges.ToArray());\r
+            List<string> isoCodes = LanguageUtilities.GetLanguageCodes(this.AudioBehaviours.SelectedLangauges.ToArray());\r
+\r
+            if (includeAny)\r
+            {\r
+                isoCodes = LanguageUtilities.GetIsoCodes();\r
+            }\r
 \r
             foreach (string code in isoCodes)\r
             {\r