]> granicus.if.org Git - handbrake/commitdiff
WinGui: Order By Name R-Click option on Add to queue selection window.
authorsr55 <sr55.hb@outlook.com>
Sat, 4 Feb 2017 15:51:34 +0000 (15:51 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 4 Feb 2017 15:51:34 +0000 (15:51 +0000)
win/CS/HandBrakeWPF/ViewModels/QueueSelectionViewModel.cs
win/CS/HandBrakeWPF/Views/QueueSelectionView.xaml

index 5e41c0a284782d2eb11219e26431846523be28a3..6705670d523ae3b5276e508cda2fc98ddde490d8 100644 (file)
@@ -30,6 +30,7 @@ namespace HandBrakeWPF.ViewModels
         private readonly IUserSettingService userSettingService;\r
         private bool orderedByDuration;\r
         private bool orderedByTitle;\r
+        private bool orderedByName;\r
         private Action<IEnumerable<SelectionTitle>> addToQueue;\r
 \r
         private string currentPreset;\r
@@ -116,6 +117,23 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether ordered by name.\r
+        /// </summary>\r
+        public bool OrderedByName\r
+        {\r
+            get\r
+            {\r
+                return this.orderedByName;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.orderedByName = value;\r
+                this.NotifyOfPropertyChange(() => OrderedByName);\r
+            }\r
+        }\r
+\r
         /// <summary>\r
         /// Gets a value indicating whether is auto naming enabled.\r
         /// </summary>\r
@@ -136,6 +154,7 @@ namespace HandBrakeWPF.ViewModels
             this.NotifyOfPropertyChange(() => TitleList);\r
             this.OrderedByTitle = true;\r
             this.OrderedByDuration = false;\r
+            this.OrderedByName = false;\r
         }\r
 \r
         /// <summary>\r
@@ -147,6 +166,19 @@ namespace HandBrakeWPF.ViewModels
             this.NotifyOfPropertyChange(() => TitleList);\r
             this.OrderedByTitle = false;\r
             this.OrderedByDuration = true;\r
+            this.OrderedByName = false;\r
+        }\r
+\r
+        /// <summary>\r
+        /// The order by name.\r
+        /// </summary>\r
+        public void OrderByName()\r
+        {\r
+            TitleList = new BindingList<SelectionTitle>(TitleList.OrderBy(o => o.Title.SourceName).ToList());\r
+            this.NotifyOfPropertyChange(() => TitleList);\r
+            this.OrderedByTitle = false;\r
+            this.OrderedByDuration = false;\r
+            this.OrderedByName = true;\r
         }\r
 \r
         /// <summary>\r
index 9773381109f907630fdd75938e97d9e93a8cd3ff..bd1e9bce5577556c3b7c27f546bae1d9bcd63150 100644 (file)
@@ -66,6 +66,7 @@
                     <Separator />\r
                     <MenuItem Header="Order by Title" IsChecked="{Binding OrderedByTitle}" cal:Message.Attach="[Event Click] = [Action OrderByTitle]" />\r
                     <MenuItem Header="Order by Duration" IsChecked="{Binding OrderedByDuration}" cal:Message.Attach="[Event Click] = [Action OrderByDuration]" />\r
+                    <MenuItem Header="Order by Name" IsChecked="{Binding OrderedByName}" cal:Message.Attach="[Event Click] = [Action OrderByName]" />\r
                 </ContextMenu>\r
             </ListBox.ContextMenu>\r
 \r