]> granicus.if.org Git - handbrake/commitdiff
WinGui: (WPF) Added backing properties for binding on the options window & some gener...
authorsr55 <sr55.hb@outlook.com>
Sat, 22 Oct 2011 21:26:28 +0000 (21:26 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 22 Oct 2011 21:26:28 +0000 (21:26 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4310 b64f7644-9d1e-0410-96f1-a4d463321fa5

23 files changed:
win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/Settings.StyleCop
win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs
win/CS/HandBrakeWPF/Startup/MefBootstrapper.cs
win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs
win/CS/HandBrakeWPF/ViewModels/AddPresetViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IAboutViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IOptionsViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IViewModelBase.cs [new file with mode: 0644]
win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
win/CS/HandBrakeWPF/ViewModels/PreviewViewModel.cs
win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs
win/CS/HandBrakeWPF/ViewModels/ViewModelBase.cs
win/CS/HandBrakeWPF/Views/AboutView.xaml
win/CS/HandBrakeWPF/Views/AboutView.xaml.cs
win/CS/HandBrakeWPF/Views/AddPresetView.xaml.cs
win/CS/HandBrakeWPF/Views/MainView.xaml.cs
win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs
win/CS/HandBrakeWPF/Views/PreviewView.xaml.cs
win/CS/HandBrakeWPF/Views/QueueView.xaml.cs
win/CS/libraries/WPFToolkit.Extended.dll [deleted file]

index 7eaa3b2fa60c9d38e69a2b683682bb83c18891ca..272d09ab4eb60f593a2d926fbc30f74f01518934 100644 (file)
@@ -78,6 +78,7 @@
     <Compile Include="ViewModels\Interfaces\IAboutViewModel.cs" />\r
     <Compile Include="ViewModels\Interfaces\IMainViewModel.cs" />\r
     <Compile Include="ViewModels\Interfaces\IOptionsViewModel.cs" />\r
+    <Compile Include="ViewModels\Interfaces\IViewModelBase.cs" />\r
     <Compile Include="ViewModels\PreviewViewModel.cs" />\r
     <Compile Include="ViewModels\QueueViewModel.cs" />\r
     <Compile Include="ViewModels\OptionsViewModel.cs" />\r
index 7f55ce6c690defa9a5168f5f32fe29bd4d184233..1b0202d9194195fd8d7c6e79a98c0bebf017866a 100644 (file)
@@ -1 +1,39 @@
-<StyleCopSettings Version="4.3" />
\ No newline at end of file
+<StyleCopSettings Version="105">\r
+  <Analyzers>\r
+    <Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules">\r
+      <Rules>\r
+        <Rule Name="FileMustHaveHeader">\r
+          <RuleSettings>\r
+            <BooleanProperty Name="Enabled">True</BooleanProperty>\r
+          </RuleSettings>\r
+        </Rule>\r
+        <Rule Name="FileHeaderMustShowCopyright">\r
+          <RuleSettings>\r
+            <BooleanProperty Name="Enabled">True</BooleanProperty>\r
+          </RuleSettings>\r
+        </Rule>\r
+        <Rule Name="FileHeaderMustHaveCopyrightText">\r
+          <RuleSettings>\r
+            <BooleanProperty Name="Enabled">True</BooleanProperty>\r
+          </RuleSettings>\r
+        </Rule>\r
+        <Rule Name="FileHeaderMustContainFileName">\r
+          <RuleSettings>\r
+            <BooleanProperty Name="Enabled">True</BooleanProperty>\r
+          </RuleSettings>\r
+        </Rule>\r
+        <Rule Name="FileHeaderFileNameDocumentationMustMatchFileName">\r
+          <RuleSettings>\r
+            <BooleanProperty Name="Enabled">True</BooleanProperty>\r
+          </RuleSettings>\r
+        </Rule>\r
+        <Rule Name="FileHeaderMustHaveSummary">\r
+          <RuleSettings>\r
+            <BooleanProperty Name="Enabled">True</BooleanProperty>\r
+          </RuleSettings>\r
+        </Rule>\r
+      </Rules>\r
+      <AnalyzerSettings />\r
+    </Analyzer>\r
+  </Analyzers>\r
+</StyleCopSettings>
\ No newline at end of file
index 02710b161d4e0b3f0b2f93a4202398734d3eb07e..695e0c7c1de1b4d95505429a8b6d4ff46b894cce 100644 (file)
@@ -1,4 +1,13 @@
-namespace HandBrakeWPF.Startup\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="CastleBootstrapper.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Castle Bootstrapper\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Startup\r
 {\r
     using System;\r
     using System.Collections.Generic;\r
             this.windsorContainer.Register(Component.For<IMainViewModel>().ImplementedBy<MainViewModel>().LifeStyle.Is(LifestyleType.Singleton));\r
         }\r
 \r
+        /// <summary>\r
+        /// Select Assemblies\r
+        /// </summary>\r
+        /// <returns>\r
+        /// A List of Assembly objects\r
+        /// </returns>\r
         protected override IEnumerable<Assembly> SelectAssemblies()\r
         {\r
             return AppDomain.CurrentDomain.GetAssemblies();\r
         }\r
 \r
+        /// <summary>\r
+        /// Get an Instance of a service\r
+        /// </summary>\r
+        /// <param name="service">\r
+        /// The service.\r
+        /// </param>\r
+        /// <param name="key">\r
+        /// The key.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The Service Requested\r
+        /// </returns>\r
         protected override object GetInstance(Type service, string key)\r
         {\r
             return string.IsNullOrWhiteSpace(key) ? this.windsorContainer.Resolve(service) : this.windsorContainer.Resolve(key, new { });\r
         }\r
 \r
+        /// <summary>\r
+        /// Get all instances of a service\r
+        /// </summary>\r
+        /// <param name="service">\r
+        /// The service.\r
+        /// </param>\r
+        /// <returns>\r
+        /// A collection of instances of the requested service type.\r
+        /// </returns>\r
         protected override IEnumerable<object> GetAllInstances(Type service)\r
         {\r
             return this.windsorContainer.ResolveAll(service).Cast<object>();\r
         }\r
 \r
+        /// <summary>\r
+        /// Build Up\r
+        /// </summary>\r
+        /// <param name="instance">\r
+        /// The instance.\r
+        /// </param>\r
         protected override void BuildUp(object instance)\r
         {\r
             instance.GetType().GetProperties()\r
index c03d4baf973a0862c35d33d7649828f2b0fe5f18..730081af7983ae1ae39e7bf3530974f712da38b9 100644 (file)
@@ -1,4 +1,13 @@
-namespace HandBrakeWPF.Startup \r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="MefBootstrapper.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The MEF Bootstrapper (Not Used)\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Startup \r
 {\r
     using System;\r
     using System.Collections.Generic;\r
 \r
     using HandBrakeWPF.ViewModels.Interfaces;\r
 \r
+    /// <summary>\r
+    /// The MEF Bootstrapper (Not Used)\r
+    /// </summary>\r
     public class MefBootstrapper : Bootstrapper<IMainViewModel>\r
     {\r
+        /// <summary>\r
+        /// The Backing field for the container\r
+        /// </summary>\r
         private CompositionContainer container;\r
 \r
+        /// <summary>\r
+        /// MEF Configure\r
+        /// </summary>\r
         protected override void Configure()\r
         {\r
             container = new CompositionContainer(\r
             container.Compose(batch);\r
         }\r
 \r
+        /// <summary>\r
+        /// Get an Instance of a service\r
+        /// </summary>\r
+        /// <param name="serviceType">\r
+        /// The service.\r
+        /// </param>\r
+        /// <param name="key">\r
+        /// The key.\r
+        /// </param>\r
+        /// <returns>\r
+        /// The Service Requested\r
+        /// </returns>\r
         protected override object GetInstance(Type serviceType, string key)\r
         {\r
             string contract = string.IsNullOrEmpty(key) ? AttributedModelServices.GetContractName(serviceType) : key;\r
             throw new Exception(string.Format("Could not locate any instances of contract {0}.", contract));\r
         }\r
 \r
+        /// <summary>\r
+        /// Get all instances of a service\r
+        /// </summary>\r
+        /// <param name="serviceType">\r
+        /// The service.\r
+        /// </param>\r
+        /// <returns>\r
+        /// A collection of instances of the requested service type.\r
+        /// </returns>\r
         protected override IEnumerable<object> GetAllInstances(Type serviceType)\r
         {\r
             return container.GetExportedValues<object>(AttributedModelServices.GetContractName(serviceType));\r
         }\r
 \r
+        /// <summary>\r
+        /// Build Up\r
+        /// </summary>\r
+        /// <param name="instance">\r
+        /// The instance.\r
+        /// </param>\r
         protected override void BuildUp(object instance)\r
         {\r
             container.SatisfyImportsOnce(instance);\r
index 759be462d4b22537db46213e11e875570ca1129d..d6e5d5598445eed812d4fb8fd2162ba14ce627e9 100644 (file)
@@ -1,7 +1,11 @@
-/*  AboutViewModel.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="AboutViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The About View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
@@ -9,6 +13,9 @@ namespace HandBrakeWPF.ViewModels
 \r
     using Caliburn.Micro;\r
 \r
+    using HandBrake.ApplicationServices;\r
+    using HandBrake.ApplicationServices.Services.Interfaces;\r
+\r
     using HandBrakeWPF.ViewModels.Interfaces;\r
 \r
     /// <summary>\r
@@ -17,21 +24,48 @@ namespace HandBrakeWPF.ViewModels
     [Export(typeof(IAboutViewModel))]\r
     public class AboutViewModel : ViewModelBase, IAboutViewModel\r
     {\r
+        /// <summary>\r
+        /// Backing Field for the User setting service.\r
+        /// </summary>\r
+        private readonly IUserSettingService userSettingService;\r
+\r
         /// <summary>\r
         /// Initializes a new instance of the <see cref="AboutViewModel"/> class.\r
         /// </summary>\r
         /// <param name="windowManager">\r
         /// The window manager.\r
         /// </param>\r
-        public AboutViewModel(IWindowManager windowManager) : base(windowManager)\r
+        /// <param name="userSettingService">\r
+        /// The user Setting Service.\r
+        /// </param>\r
+        public AboutViewModel(IWindowManager windowManager, IUserSettingService userSettingService)\r
+            : base(windowManager)\r
         {\r
+            this.userSettingService = userSettingService;\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets Version.\r
+        /// </summary>\r
+        public string Version\r
+        {\r
+            get\r
+            {\r
+                string nightly = userSettingService.GetUserSetting<string>(ASUserSettingConstants.HandBrakeVersion).Contains("svn") ? " (SVN / Nightly Build)" : string.Empty;\r
+                return string.Format(\r
+                    "{0} ({1}) {2}",\r
+                    userSettingService.GetUserSetting<string>(ASUserSettingConstants.HandBrakeVersion),\r
+                    userSettingService.GetUserSetting<int>(ASUserSettingConstants.HandBrakeBuild),\r
+                    nightly);\r
+            }\r
         }\r
 \r
         /// <summary>\r
         /// Close this window.\r
         /// </summary>\r
         public void Close()\r
-        {       \r
+        {\r
+            this.TryClose();\r
         }\r
     }\r
 }\r
index 199e44be278fbbfbe2e3df02632fb2e566e912c4..8f6919e9d648930d306d26a31e5748a125ee3acb 100644 (file)
@@ -1,12 +1,14 @@
-/*  AddPresetViewModel.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="AddPresetViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Add Preset View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
-    using System.ComponentModel.Composition;\r
-\r
     using Caliburn.Micro;\r
 \r
     /// <summary>\r
@@ -14,8 +16,22 @@ namespace HandBrakeWPF.ViewModels
     /// </summary>\r
     public class AddPresetViewModel : ViewModelBase\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="AddPresetViewModel"/> class.\r
+        /// </summary>\r
+        /// <param name="windowManager">\r
+        /// The window manager.\r
+        /// </param>\r
         public AddPresetViewModel(IWindowManager windowManager) : base(windowManager)\r
         {\r
         }\r
+\r
+        /// <summary>\r
+        /// Close this window.\r
+        /// </summary>\r
+        public void Close()\r
+        {\r
+            this.TryClose();\r
+        }\r
     }\r
 }\r
index 7e592ccde6ae9808a9a9eba2a35a73806d3e0a84..05d08529955461c75f1acd29771a10879cf01df5 100644 (file)
@@ -1,3 +1,12 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="IAboutViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The About View Model Interface\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
 namespace HandBrakeWPF.ViewModels.Interfaces\r
 {\r
     /// <summary>\r
index 31ce54db04d6164b93e692219c6db45cdcce7def..96519f42bd916c7f53c840b7af8e21a5e72ae96e 100644 (file)
@@ -1,5 +1,17 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="IMainViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Main Window View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
 namespace HandBrakeWPF.ViewModels.Interfaces\r
 {\r
+    /// <summary>\r
+    /// The Main Window View Model\r
+    /// </summary>\r
     public interface IMainViewModel\r
     {\r
         /// <summary>\r
index b6b75ad87605aadb080a48250f82dd8e6161d4ef..7805aea63b650eab8adefd3256a5c2492160e5f9 100644 (file)
@@ -1,3 +1,12 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="IOptionsViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Options Screen View Model Interface\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
 namespace HandBrakeWPF.ViewModels.Interfaces\r
 {\r
     /// <summary>\r
diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IViewModelBase.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IViewModelBase.cs
new file mode 100644 (file)
index 0000000..4b99d62
--- /dev/null
@@ -0,0 +1,18 @@
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="IViewModelBase.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Defines the IViewModelBase type.\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.ViewModels.Interfaces\r
+{\r
+    /// <summary>\r
+    /// The View Model base class interface\r
+    /// </summary>\r
+    public interface IViewModelBase\r
+    {\r
+    }\r
+}\r
index 30c7053815ec7ed5870da8fd0a0fd96d73ae137f..ddc0f4472bd5c1862ed3f933d55134a98a452041 100644 (file)
@@ -1,7 +1,11 @@
-/*  MainViewModel.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="MainViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   HandBrakes Main Window\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
@@ -29,6 +33,11 @@ namespace HandBrakeWPF.ViewModels
     {\r
         #region Private Variables and Services\r
 \r
+        /// <summary>\r
+        /// The Backing field for the user setting service.\r
+        /// </summary>\r
+        private readonly IUserSettingService userSettingService;\r
+\r
         /// <summary>\r
         /// The Source Scan Service.\r
         /// </summary>\r
@@ -61,8 +70,6 @@ namespace HandBrakeWPF.ViewModels
 \r
         #endregion\r
 \r
-        #region Properties\r
-\r
         /// <summary>\r
         /// Initializes a new instance of the <see cref="MainViewModel"/> class.\r
         /// The viewmodel for HandBrakes main window.\r
@@ -70,9 +77,12 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="windowManager">\r
         /// The window manager.\r
         /// </param>\r
+        /// <param name="userSettingService">The User Setting Service</param>\r
         [ImportingConstructor]\r
-        public MainViewModel(IWindowManager windowManager) : base(windowManager) \r
+        public MainViewModel(IWindowManager windowManager, IUserSettingService userSettingService)\r
+            : base(windowManager)\r
         {\r
+            this.userSettingService = userSettingService;\r
             // Setup Services (TODO - Bring Castle back into the project to wire these up for us)\r
             this.scanService = File.Exists("hb.dll") ? (IScan)new LibScan() : new ScanService();\r
             this.queueProcessor = new QueueProcessor(Process.GetProcessesByName("HandBrake").Length);\r
@@ -92,6 +102,7 @@ namespace HandBrakeWPF.ViewModels
             this.queueProcessor.EncodeService.EncodeStatusChanged += this.EncodeStatusChanged;\r
         }\r
 \r
+        #region Properties\r
         /// <summary>\r
         /// Gets or sets TestProperty.\r
         /// </summary>\r
@@ -192,22 +203,31 @@ namespace HandBrakeWPF.ViewModels
         }\r
 \r
         #region Menu and Taskbar\r
-        \r
+\r
+        /// <summary>\r
+        /// Open the About Window\r
+        /// </summary>\r
         public void OpenAboutApplication()\r
         {\r
-            this.WindowManager.ShowWindow(new AboutViewModel(this.WindowManager));\r
+            this.WindowManager.ShowWindow(new AboutViewModel(this.WindowManager, this.userSettingService));\r
         }\r
 \r
+        /// <summary>\r
+        /// Open the Options Window\r
+        /// </summary>\r
         public void OpenOptionsWindow()\r
         {\r
             this.WindowManager.ShowWindow(new OptionsViewModel(this.WindowManager));\r
         }\r
 \r
+        /// <summary>\r
+        /// Open the Queue Window.\r
+        /// </summary>\r
         public void OpenQueueWindow()\r
         {\r
             this.WindowManager.ShowWindow(new QueueViewModel(this.WindowManager));\r
         }\r
-        \r
+\r
         /// <summary>\r
         /// Shutdown the Application\r
         /// </summary>\r
index 6b8e4d9394029ddcd1c9b8fbe093ee9a99ab9435..2e945a008159303720cb9027bffe6e89c20c45cc 100644 (file)
@@ -1,10 +1,15 @@
-/*  OptionsViewModel.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="OptionsViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Options View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
+    using System.ComponentModel;\r
     using System.ComponentModel.Composition;\r
 \r
     using Caliburn.Micro;\r
@@ -17,21 +22,1120 @@ namespace HandBrakeWPF.ViewModels
     [Export(typeof(IOptionsViewModel))]\r
     public class OptionsViewModel : ViewModelBase, IOptionsViewModel\r
     {\r
+        #region Constants and Fields\r
+\r
+        /// <summary>\r
+        /// The add audio mode options.\r
+        /// </summary>\r
+        private BindingList<string> addAudioModeOptions;\r
+\r
+        /// <summary>\r
+        /// The add closed captions.\r
+        /// </summary>\r
+        private bool addClosedCaptions;\r
+\r
+        /// <summary>\r
+        /// The add only one audio track per language.\r
+        /// </summary>\r
+        private bool addOnlyOneAudioTrackPerLanguage;\r
+\r
+        /// <summary>\r
+        /// The add subtitle mode options.\r
+        /// </summary>\r
+        private BindingList<string> addSubtitleModeOptions;\r
+\r
+        /// <summary>\r
+        /// The arguments.\r
+        /// </summary>\r
+        private string arguments;\r
+\r
+        /// <summary>\r
+        /// The auto name default path.\r
+        /// </summary>\r
+        private string autoNameDefaultPath;\r
+\r
+        /// <summary>\r
+        /// The automatically name files.\r
+        /// </summary>\r
+        private bool automaticallyNameFiles;\r
+\r
+        /// <summary>\r
+        /// The autoname format.\r
+        /// </summary>\r
+        private string autonameFormat;\r
+\r
+        /// <summary>\r
+        /// The available languages.\r
+        /// </summary>\r
+        private BindingList<string> availableLanguages;\r
+\r
+        /// <summary>\r
+        /// The change to title case.\r
+        /// </summary>\r
+        private bool changeToTitleCase;\r
+\r
+        /// <summary>\r
+        /// The check for updates.\r
+        /// </summary>\r
+        private bool checkForUpdates;\r
+\r
+        /// <summary>\r
+        /// The check for updates frequencies.\r
+        /// </summary>\r
+        private BindingList<string> checkForUpdatesFrequencies;\r
+\r
+        /// <summary>\r
+        /// The check for updates frequency.\r
+        /// </summary>\r
+        private bool checkForUpdatesFrequency;\r
+\r
+        /// <summary>\r
+        /// The clear old olgs.\r
+        /// </summary>\r
+        private bool clearOldOlgs;\r
+\r
+        /// <summary>\r
+        /// The constant quality granularity.\r
+        /// </summary>\r
+        private BindingList<string> constantQualityGranularity;\r
+\r
+        /// <summary>\r
+        /// The copy log to encode directory.\r
+        /// </summary>\r
+        private bool copyLogToEncodeDirectory;\r
+\r
+        /// <summary>\r
+        /// The copy log to sepcficed location.\r
+        /// </summary>\r
+        private bool copyLogToSepcficedLocation;\r
+\r
+        /// <summary>\r
+        /// The disable libdvd nav.\r
+        /// </summary>\r
+        private bool disableLibdvdNav;\r
+\r
+        /// <summary>\r
+        /// The disable p reset update check notification.\r
+        /// </summary>\r
+        private bool disablePResetUpdateCheckNotification;\r
+\r
+        /// <summary>\r
+        /// The display status messages tray icon.\r
+        /// </summary>\r
+        private bool displayStatusMessagesTrayIcon;\r
+\r
+        /// <summary>\r
+        /// The enable gui tooltips.\r
+        /// </summary>\r
+        private bool enableGuiTooltips;\r
+\r
+        /// <summary>\r
+        /// The enable query editor.\r
+        /// </summary>\r
+        private bool enableQueryEditor;\r
+\r
+        /// <summary>\r
+        /// The growl after encode.\r
+        /// </summary>\r
+        private bool growlAfterEncode;\r
+\r
+        /// <summary>\r
+        /// The growl after queue.\r
+        /// </summary>\r
+        private bool growlAfterQueue;\r
+\r
+        /// <summary>\r
+        /// The log directory.\r
+        /// </summary>\r
+        private string logDirectory;\r
+\r
+        /// <summary>\r
+        /// The log verbosity options.\r
+        /// </summary>\r
+        private BindingList<string> logVerbosityOptions;\r
+\r
+        /// <summary>\r
+        /// The min length.\r
+        /// </summary>\r
+        private long minLength;\r
+\r
+        /// <summary>\r
+        /// The minimise to tray.\r
+        /// </summary>\r
+        private bool minimiseToTray;\r
+\r
+        /// <summary>\r
+        /// The mp 4 extension options.\r
+        /// </summary>\r
+        private BindingList<string> mp4ExtensionOptions;\r
+\r
+        /// <summary>\r
+        /// The prevent sleep.\r
+        /// </summary>\r
+        private bool preventSleep;\r
+\r
+        /// <summary>\r
+        /// The preview pictures to scan.\r
+        /// </summary>\r
+        private BindingList<int> previewPicturesToScan;\r
+\r
+        /// <summary>\r
+        /// The priority level options.\r
+        /// </summary>\r
+        private BindingList<string> priorityLevelOptions;\r
+\r
+        /// <summary>\r
+        /// The prompt on different query.\r
+        /// </summary>\r
+        private bool promptOnDifferentQuery;\r
+\r
+        /// <summary>\r
+        /// The remove underscores.\r
+        /// </summary>\r
+        private bool removeUnderscores;\r
+\r
+        /// <summary>\r
+        /// The selected add audio mode.\r
+        /// </summary>\r
+        private string selectedAddAudioMode;\r
+\r
+        /// <summary>\r
+        /// The selected add subtitle mode.\r
+        /// </summary>\r
+        private string selectedAddSubtitleMode;\r
+\r
+        /// <summary>\r
+        /// The selected granulairty.\r
+        /// </summary>\r
+        private bool selectedGranulairty;\r
+\r
+        /// <summary>\r
+        /// The selected mp 4 extension.\r
+        /// </summary>\r
+        private string selectedMp4Extension;\r
+\r
+        /// <summary>\r
+        /// The selected preferred languages.\r
+        /// </summary>\r
+        private BindingList<string> selectedPreferredLanguages;\r
+\r
+        /// <summary>\r
+        /// The selected preferreed langauge.\r
+        /// </summary>\r
+        private string selectedPreferreedLangauge;\r
+\r
+        /// <summary>\r
+        /// The selected preview count.\r
+        /// </summary>\r
+        private int selectedPreviewCount;\r
+\r
+        /// <summary>\r
+        /// The selected priority.\r
+        /// </summary>\r
+        private string selectedPriority;\r
+\r
+        /// <summary>\r
+        /// The selected verbosity.\r
+        /// </summary>\r
+        private string selectedVerbosity;\r
+\r
+        /// <summary>\r
+        /// The send file after encode.\r
+        /// </summary>\r
+        private bool sendFileAfterEncode;\r
+\r
+        /// <summary>\r
+        /// The send file to.\r
+        /// </summary>\r
+        private string sendFileTo;\r
+\r
+        /// <summary>\r
+        /// The show cli window.\r
+        /// </summary>\r
+        private bool showCliWindow;\r
+\r
+        /// <summary>\r
+        /// The vlc path.\r
+        /// </summary>\r
+        private string vlcPath;\r
+\r
+        /// <summary>\r
+        /// The when done.\r
+        /// </summary>\r
+        private string whenDone;\r
+\r
+        /// <summary>\r
+        /// The when done options.\r
+        /// </summary>\r
+        private BindingList<string> whenDoneOptions;\r
+\r
+        #endregion\r
+\r
+        #region Constructors and Destructors\r
+\r
         /// <summary>\r
         /// Initializes a new instance of the <see cref="OptionsViewModel"/> class.\r
         /// </summary>\r
         /// <param name="windowManager">\r
         /// The window manager.\r
         /// </param>\r
-        public OptionsViewModel(IWindowManager windowManager) : base(windowManager)\r
+        public OptionsViewModel(IWindowManager windowManager)\r
+            : base(windowManager)\r
+        {\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region Properties\r
+        /* General */\r
+\r
+        /// <summary>\r
+        /// Gets or sets AddAudioModeOptions.\r
+        /// </summary>\r
+        public BindingList<string> AddAudioModeOptions\r
+        {\r
+            get\r
+            {\r
+                return this.addAudioModeOptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.addAudioModeOptions = value;\r
+                this.NotifyOfPropertyChange("AddAudioModeOptions");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether AddClosedCaptions.\r
+        /// </summary>\r
+        public bool AddClosedCaptions\r
         {\r
+            get\r
+            {\r
+                return this.addClosedCaptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.addClosedCaptions = value;\r
+                this.NotifyOfPropertyChange("AddClosedCaptions");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether AddOnlyOneAudioTrackPerLanguage.\r
+        /// </summary>\r
+        public bool AddOnlyOneAudioTrackPerLanguage\r
+        {\r
+            get\r
+            {\r
+                return this.addOnlyOneAudioTrackPerLanguage;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.addOnlyOneAudioTrackPerLanguage = value;\r
+                this.NotifyOfPropertyChange("AddOnlyOneAudioTrackPerLanguage");\r
+            }\r
         }\r
 \r
+        /// <summary>\r
+        /// Gets or sets AddSubtitleModeOptions.\r
+        /// </summary>\r
+        public BindingList<string> AddSubtitleModeOptions\r
+        {\r
+            get\r
+            {\r
+                return this.addSubtitleModeOptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.addSubtitleModeOptions = value;\r
+                this.NotifyOfPropertyChange("AddSubtitleModeOptions");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets Arguments.\r
+        /// </summary>\r
+        public string Arguments\r
+        {\r
+            get\r
+            {\r
+                return this.arguments;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.arguments = value;\r
+                this.NotifyOfPropertyChange("Arguments");\r
+            }\r
+        }\r
+\r
+        /* Output Files */\r
+\r
+        /// <summary>\r
+        /// Gets or sets AutoNameDefaultPath.\r
+        /// </summary>\r
+        public string AutoNameDefaultPath\r
+        {\r
+            get\r
+            {\r
+                return this.autoNameDefaultPath;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.autoNameDefaultPath = value;\r
+                this.NotifyOfPropertyChange("AutoNameDefaultPath");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether AutomaticallyNameFiles.\r
+        /// </summary>\r
+        public bool AutomaticallyNameFiles\r
+        {\r
+            get\r
+            {\r
+                return this.automaticallyNameFiles;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.automaticallyNameFiles = value;\r
+                this.NotifyOfPropertyChange("AutomaticallyNameFiles");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets AutonameFormat.\r
+        /// </summary>\r
+        public string AutonameFormat\r
+        {\r
+            get\r
+            {\r
+                return this.autonameFormat;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.autonameFormat = value;\r
+                this.NotifyOfPropertyChange("AutonameFormat");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets AvailableLanguages.\r
+        /// </summary>\r
+        public BindingList<string> AvailableLanguages\r
+        {\r
+            get\r
+            {\r
+                return this.availableLanguages;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.availableLanguages = value;\r
+                this.NotifyOfPropertyChange("AvailableLanguages");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether ChangeToTitleCase.\r
+        /// </summary>\r
+        public bool ChangeToTitleCase\r
+        {\r
+            get\r
+            {\r
+                return this.changeToTitleCase;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.changeToTitleCase = value;\r
+                this.NotifyOfPropertyChange("ChangeToTitleCase");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether CheckForUpdates.\r
+        /// </summary>\r
+        public bool CheckForUpdates\r
+        {\r
+            get\r
+            {\r
+                return this.checkForUpdates;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.checkForUpdates = value;\r
+                this.NotifyOfPropertyChange("CheckForUpdates");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets CheckForUpdatesFrequencies.\r
+        /// </summary>\r
+        public BindingList<string> CheckForUpdatesFrequencies\r
+        {\r
+            get\r
+            {\r
+                return this.checkForUpdatesFrequencies;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.checkForUpdatesFrequencies = value;\r
+                this.NotifyOfPropertyChange("CheckForUpdatesFrequencies");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether CheckForUpdatesFrequency.\r
+        /// </summary>\r
+        public bool CheckForUpdatesFrequency\r
+        {\r
+            get\r
+            {\r
+                return this.checkForUpdatesFrequency;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.checkForUpdatesFrequency = value;\r
+                this.NotifyOfPropertyChange("CheckForUpdatesFrequency");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether ClearOldOlgs.\r
+        /// </summary>\r
+        public bool ClearOldOlgs\r
+        {\r
+            get\r
+            {\r
+                return this.clearOldOlgs;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.clearOldOlgs = value;\r
+                this.NotifyOfPropertyChange("ClearOldOlgs");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets ConstantQualityGranularity.\r
+        /// </summary>\r
+        public BindingList<string> ConstantQualityGranularity\r
+        {\r
+            get\r
+            {\r
+                return this.constantQualityGranularity;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.constantQualityGranularity = value;\r
+                this.NotifyOfPropertyChange("ConstantQualityGranularity");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether CopyLogToEncodeDirectory.\r
+        /// </summary>\r
+        public bool CopyLogToEncodeDirectory\r
+        {\r
+            get\r
+            {\r
+                return this.copyLogToEncodeDirectory;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.copyLogToEncodeDirectory = value;\r
+                this.NotifyOfPropertyChange("CopyLogToEncodeDirectory");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether CopyLogToSepcficedLocation.\r
+        /// </summary>\r
+        public bool CopyLogToSepcficedLocation\r
+        {\r
+            get\r
+            {\r
+                return this.copyLogToSepcficedLocation;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.copyLogToSepcficedLocation = value;\r
+                this.NotifyOfPropertyChange("CopyLogToSepcficedLocation");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether DisableLibdvdNav.\r
+        /// </summary>\r
+        public bool DisableLibdvdNav\r
+        {\r
+            get\r
+            {\r
+                return this.disableLibdvdNav;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.disableLibdvdNav = value;\r
+                this.NotifyOfPropertyChange("DisableLibdvdNav");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether DisablePResetUpdateCheckNotification.\r
+        /// </summary>\r
+        public bool DisablePResetUpdateCheckNotification\r
+        {\r
+            get\r
+            {\r
+                return this.disablePResetUpdateCheckNotification;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.disablePResetUpdateCheckNotification = value;\r
+                this.NotifyOfPropertyChange("DisablePResetUpdateCheckNotification");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether DisplayStatusMessagesTrayIcon.\r
+        /// </summary>\r
+        public bool DisplayStatusMessagesTrayIcon\r
+        {\r
+            get\r
+            {\r
+                return this.displayStatusMessagesTrayIcon;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.displayStatusMessagesTrayIcon = value;\r
+                this.NotifyOfPropertyChange("DisplayStatusMessagesTrayIcon");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether EnableGuiTooltips.\r
+        /// </summary>\r
+        public bool EnableGuiTooltips\r
+        {\r
+            get\r
+            {\r
+                return this.enableGuiTooltips;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.enableGuiTooltips = value;\r
+                this.NotifyOfPropertyChange("EnableGuiTooltips");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether EnableQueryEditor.\r
+        /// </summary>\r
+        public bool EnableQueryEditor\r
+        {\r
+            get\r
+            {\r
+                return this.enableQueryEditor;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.enableQueryEditor = value;\r
+                this.NotifyOfPropertyChange("EnableQueryEditor");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether GrowlAfterEncode.\r
+        /// </summary>\r
+        public bool GrowlAfterEncode\r
+        {\r
+            get\r
+            {\r
+                return this.growlAfterEncode;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.growlAfterEncode = value;\r
+                this.NotifyOfPropertyChange("GrowlAfterEncode");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether GrowlAfterQueue.\r
+        /// </summary>\r
+        public bool GrowlAfterQueue\r
+        {\r
+            get\r
+            {\r
+                return this.growlAfterQueue;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.growlAfterQueue = value;\r
+                this.NotifyOfPropertyChange("GrowlAfterQueue");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets LogDirectory.\r
+        /// </summary>\r
+        public string LogDirectory\r
+        {\r
+            get\r
+            {\r
+                return this.logDirectory;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.logDirectory = value;\r
+                this.NotifyOfPropertyChange("LogDirectory");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets LogVerbosityOptions.\r
+        /// </summary>\r
+        public BindingList<string> LogVerbosityOptions\r
+        {\r
+            get\r
+            {\r
+                return this.logVerbosityOptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.logVerbosityOptions = value;\r
+                this.NotifyOfPropertyChange("LogVerbosityOptions");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets MinLength.\r
+        /// </summary>\r
+        public long MinLength\r
+        {\r
+            get\r
+            {\r
+                return this.minLength;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.minLength = value;\r
+                this.NotifyOfPropertyChange("MinLength");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether MinimiseToTray.\r
+        /// </summary>\r
+        public bool MinimiseToTray\r
+        {\r
+            get\r
+            {\r
+                return this.minimiseToTray;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.minimiseToTray = value;\r
+                this.NotifyOfPropertyChange("MinimiseToTray");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets Mp4ExtensionOptions.\r
+        /// </summary>\r
+        public BindingList<string> Mp4ExtensionOptions\r
+        {\r
+            get\r
+            {\r
+                return this.mp4ExtensionOptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.mp4ExtensionOptions = value;\r
+                this.NotifyOfPropertyChange("Mp4ExtensionOptions");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether PreventSleep.\r
+        /// </summary>\r
+        public bool PreventSleep\r
+        {\r
+            get\r
+            {\r
+                return this.preventSleep;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.preventSleep = value;\r
+                this.NotifyOfPropertyChange("PreventSleep");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets PreviewPicturesToScan.\r
+        /// </summary>\r
+        public BindingList<int> PreviewPicturesToScan\r
+        {\r
+            get\r
+            {\r
+                return this.previewPicturesToScan;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.previewPicturesToScan = value;\r
+                this.NotifyOfPropertyChange("PreviewPicturesToScan");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets PriorityLevelOptions.\r
+        /// </summary>\r
+        public BindingList<string> PriorityLevelOptions\r
+        {\r
+            get\r
+            {\r
+                return this.priorityLevelOptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.priorityLevelOptions = value;\r
+                this.NotifyOfPropertyChange("PriorityLevelOptions");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether PromptOnDifferentQuery.\r
+        /// </summary>\r
+        public bool PromptOnDifferentQuery\r
+        {\r
+            get\r
+            {\r
+                return this.promptOnDifferentQuery;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.promptOnDifferentQuery = value;\r
+                this.NotifyOfPropertyChange("PromptOnDifferentQuery");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether RemoveUnderscores.\r
+        /// </summary>\r
+        public bool RemoveUnderscores\r
+        {\r
+            get\r
+            {\r
+                return this.removeUnderscores;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.removeUnderscores = value;\r
+                this.NotifyOfPropertyChange("RemoveUnderscores");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedAddAudioMode.\r
+        /// </summary>\r
+        public string SelectedAddAudioMode\r
+        {\r
+            get\r
+            {\r
+                return this.selectedAddAudioMode;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedAddAudioMode = value;\r
+                this.NotifyOfPropertyChange("SelectedAddAudioMode");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedAddSubtitleMode.\r
+        /// </summary>\r
+        public string SelectedAddSubtitleMode\r
+        {\r
+            get\r
+            {\r
+                return this.selectedAddSubtitleMode;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedAddSubtitleMode = value;\r
+                this.NotifyOfPropertyChange("SelectedAddSubtitleMode");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether SelectedGranulairty.\r
+        /// </summary>\r
+        public bool SelectedGranulairty\r
+        {\r
+            get\r
+            {\r
+                return this.selectedGranulairty;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedGranulairty = value;\r
+                this.NotifyOfPropertyChange("SelectedGranulairty");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedMp4Extension.\r
+        /// </summary>\r
+        public string SelectedMp4Extension\r
+        {\r
+            get\r
+            {\r
+                return this.selectedMp4Extension;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedMp4Extension = value;\r
+                this.NotifyOfPropertyChange("SelectedMp4Extension");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedPreferredLanguages.\r
+        /// </summary>\r
+        public BindingList<string> SelectedPreferredLanguages\r
+        {\r
+            get\r
+            {\r
+                return this.selectedPreferredLanguages;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedPreferredLanguages = value;\r
+                this.NotifyOfPropertyChange("SelectedPreferredLanguages");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedPreferreedLangauge.\r
+        /// </summary>\r
+        public string SelectedPreferreedLangauge\r
+        {\r
+            get\r
+            {\r
+                return this.selectedPreferreedLangauge;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedPreferreedLangauge = value;\r
+                this.NotifyOfPropertyChange("SelectedPreferreedLangauge");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedPreviewCount.\r
+        /// </summary>\r
+        public int SelectedPreviewCount\r
+        {\r
+            get\r
+            {\r
+                return this.selectedPreviewCount;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedPreviewCount = value;\r
+                this.NotifyOfPropertyChange("SelectedPreviewCount");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedPriority.\r
+        /// </summary>\r
+        public string SelectedPriority\r
+        {\r
+            get\r
+            {\r
+                return this.selectedPriority;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedPriority = value;\r
+                this.NotifyOfPropertyChange("SelectedPriority");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SelectedVerbosity.\r
+        /// </summary>\r
+        public string SelectedVerbosity\r
+        {\r
+            get\r
+            {\r
+                return this.selectedVerbosity;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.selectedVerbosity = value;\r
+                this.NotifyOfPropertyChange("SelectedVerbosity");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether SendFileAfterEncode.\r
+        /// </summary>\r
+        public bool SendFileAfterEncode\r
+        {\r
+            get\r
+            {\r
+                return this.sendFileAfterEncode;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.sendFileAfterEncode = value;\r
+                this.NotifyOfPropertyChange("SendFileAfterEncode");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets SendFileTo.\r
+        /// </summary>\r
+        public string SendFileTo\r
+        {\r
+            get\r
+            {\r
+                return this.sendFileTo;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.sendFileTo = value;\r
+                this.NotifyOfPropertyChange("SendFileTo");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets a value indicating whether ShowCliWindow.\r
+        /// </summary>\r
+        public bool ShowCliWindow\r
+        {\r
+            get\r
+            {\r
+                return this.showCliWindow;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.showCliWindow = value;\r
+                this.NotifyOfPropertyChange("ShowCliWindow");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets VLCPath.\r
+        /// </summary>\r
+        public string VLCPath\r
+        {\r
+            get\r
+            {\r
+                return this.vlcPath;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.vlcPath = value;\r
+                this.NotifyOfPropertyChange("VLCPath");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets WhenDone.\r
+        /// </summary>\r
+        public string WhenDone\r
+        {\r
+            get\r
+            {\r
+                return this.whenDone;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.whenDone = value;\r
+                this.NotifyOfPropertyChange("WhenDone");\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets or sets WhenDoneOptions.\r
+        /// </summary>\r
+        public BindingList<string> WhenDoneOptions\r
+        {\r
+            get\r
+            {\r
+                return this.whenDoneOptions;\r
+            }\r
+\r
+            set\r
+            {\r
+                this.whenDoneOptions = value;\r
+                this.NotifyOfPropertyChange("WhenDoneOptions");\r
+            }\r
+        }\r
+\r
+        #endregion\r
+\r
+        #region Public Methods\r
+\r
         /// <summary>\r
         /// Close this window.\r
         /// </summary>\r
         public void Close()\r
-        {         \r
+        {\r
+            this.TryClose();\r
         }\r
+\r
+        #endregion\r
     }\r
-}\r
+}
\ No newline at end of file
index a72d0d665b6eae9d8be0b0a84a3028942bcba04b..16177a55e076f868e8d5d3b803e113bca97311ce 100644 (file)
@@ -1,7 +1,11 @@
-/*  PreviewViewModel.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="PreviewViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The About View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
@@ -12,8 +16,22 @@ namespace HandBrakeWPF.ViewModels
     /// </summary>\r
     public class PreviewViewModel : ViewModelBase\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="PreviewViewModel"/> class.\r
+        /// </summary>\r
+        /// <param name="windowManager">\r
+        /// The window manager.\r
+        /// </param>\r
         public PreviewViewModel(IWindowManager windowManager) : base(windowManager)\r
         {\r
         }\r
+\r
+        /// <summary>\r
+        /// Close this window.\r
+        /// </summary>\r
+        public void Close()\r
+        {\r
+            this.TryClose();\r
+        }\r
     }\r
 }\r
index e74722792819994f57ba41d263492a2b4663b80a..d294e311bcafce749fee8b867826692cab162916 100644 (file)
@@ -1,7 +1,11 @@
-/*  QueueViewModel.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="QueueViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   The Preview View Model\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
@@ -12,8 +16,22 @@ namespace HandBrakeWPF.ViewModels
     /// </summary>\r
     public class QueueViewModel : ViewModelBase\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="QueueViewModel"/> class.\r
+        /// </summary>\r
+        /// <param name="windowManager">\r
+        /// The window manager.\r
+        /// </param>\r
         public QueueViewModel(IWindowManager windowManager) : base(windowManager)\r
         {\r
         }\r
+\r
+        /// <summary>\r
+        /// Close this window.\r
+        /// </summary>\r
+        public void Close()\r
+        {\r
+            this.TryClose();\r
+        }\r
     }\r
 }\r
index cc2d9307ae74f379bcb37f9a7a05ce838e88d15c..eea335d84266c84fa454e09ab0abcfa71c0e6d66 100644 (file)
@@ -1,11 +1,22 @@
-namespace HandBrakeWPF.ViewModels\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="ViewModelBase.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   A Base Class for the View Models which contains reusable code.\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.ViewModels\r
 {\r
     using Caliburn.Micro;\r
 \r
+    using HandBrakeWPF.ViewModels.Interfaces;\r
+\r
     /// <summary>\r
     /// A Base Class for the View Models which contains reusable code.\r
     /// </summary>\r
-    public class ViewModelBase : Screen\r
+    public class ViewModelBase : Screen, IViewModelBase\r
     {\r
         /// <summary>\r
         /// Initializes a new instance of the <see cref="ViewModelBase"/> class.\r
index ce52f61a5fcebc93bce0210c70f552028af58171..0c8bf0ecba601e4f4a893647d1ac58427b767684 100644 (file)
@@ -1,16 +1,20 @@
 <Window x:Class="HandBrakeWPF.Views.AboutView"\r
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\r
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Micro="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro" Title="AboutView" Height="268" Width="511">\r
-    \r
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Micro="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro" Title="AboutView" \r
+        Height="270" Width="500">\r
+\r
     <StackPanel Orientation="Horizontal">\r
         <Image Source="Images/logo64.png" Width="64" Height="64" SnapsToDevicePixels="True" Margin="10,10,10,10" HorizontalAlignment="Left" VerticalAlignment="Top" />\r
 \r
         <StackPanel Orientation="Vertical">\r
-            <Label Content="HandBrake WPF Demo App" FontWeight="Bold" FontSize="14" Margin="0,10,0,0" />\r
-            <Label Content="Copyright 2003-2011 HandBrake Team" />\r
-            \r
+            <StackPanel Orientation="Horizontal" Margin="0,10,0,0">\r
+                <TextBlock Text="HandBrake" FontWeight="Bold" FontSize="14" Margin="0,0,5,0" />\r
+                <TextBlock Text="{Binding Version}" Margin="0,0,0,1" VerticalAlignment="Bottom" />\r
+            </StackPanel>\r
+            <TextBlock Text="Copyright 2003-2011 HandBrake Team" />\r
+\r
             <Label Content="License:" />\r
-            <TextBox Width="380" Height="100" IsReadOnly="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Margin="10,0,10,10">\r
+            <TextBox Width="380" Height="125" IsReadOnly="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Margin="10,0,10,10">\r
                 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r
 \r
 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.\r
@@ -18,11 +22,9 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
             </TextBox>\r
 \r
-            <Button Content="OK" Micro:Message.Attach="[Event Click] = [Action Close]"\r
-                    HorizontalAlignment="Right" Padding="10,2" Margin="0,0,10,10" />\r
-            \r
-         </StackPanel>\r
-\r
+            <Button Content="Close" Micro:Message.Attach="[Event Click] = [Action Close]"\r
+                    HorizontalAlignment="Right" Padding="12,2" Margin="0,0,10,10" />\r
 \r
+        </StackPanel>\r
     </StackPanel>\r
 </Window>\r
index 22de6967b9f0ea4d15b00001da6b762e9bcf9df3..55665fc8b29c0889df3453f235171825c4d8ed17 100644 (file)
@@ -1,4 +1,13 @@
-namespace HandBrakeWPF.Views\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="AboutView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for AboutView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Views\r
 {\r
     using System.Windows;\r
 \r
@@ -7,6 +16,9 @@
     /// </summary>\r
     public partial class AboutView : Window\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="AboutView"/> class.\r
+        /// </summary>\r
         public AboutView()\r
         {\r
             InitializeComponent();\r
index b99e48b2623d893406e75943e7730fdfc8bca305..9cb9e39e15f7d0eea9d6b7c25dd9f0c136135ec7 100644 (file)
@@ -1,24 +1,24 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Windows;\r
-using System.Windows.Controls;\r
-using System.Windows.Data;\r
-using System.Windows.Documents;\r
-using System.Windows.Input;\r
-using System.Windows.Media;\r
-using System.Windows.Media.Imaging;\r
-using System.Windows.Navigation;\r
-using System.Windows.Shapes;\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="AddPresetView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for VideoView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.Views\r
 {\r
+    using System.Windows.Controls;\r
+\r
     /// <summary>\r
     /// Interaction logic for VideoView.xaml\r
     /// </summary>\r
     public partial class AddPresetView : UserControl\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="AddPresetView"/> class.\r
+        /// </summary>\r
         public AddPresetView()\r
         {\r
             InitializeComponent();\r
index efb3e7d6e0a67a9a23dc2043f5deea6529b0dfb1..165e749231bddbcc1f97d322f80dd5928f6b3233 100644 (file)
@@ -1,7 +1,11 @@
-/*  MainView.xaml.cs $\r
-    This file is part of the HandBrake source code.\r
-    Homepage: <http://handbrake.fr>.\r
-    It may be used under the terms of the GNU General Public License. */\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="MainView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for MainView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.Views\r
 {\r
index 9d0fc947c6f77da660b76215a4d207d64e54dccf..e17c98514892f8d20f1e40727e0bd7c821409e53 100644 (file)
@@ -1,23 +1,24 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Windows;\r
-using System.Windows.Controls;\r
-using System.Windows.Data;\r
-using System.Windows.Documents;\r
-using System.Windows.Input;\r
-using System.Windows.Media;\r
-using System.Windows.Media.Imaging;\r
-using System.Windows.Shapes;\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="OptionsView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for OptionsView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
 \r
 namespace HandBrakeWPF.Views\r
 {\r
+    using System.Windows;\r
+\r
     /// <summary>\r
     /// Interaction logic for OptionsView.xaml\r
     /// </summary>\r
     public partial class OptionsView : Window\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="OptionsView"/> class.\r
+        /// </summary>\r
         public OptionsView()\r
         {\r
             InitializeComponent();\r
index 0bbf84b0a3b4395c8e2b05cc8ae2432e9efa4c05..e64f70411ddda5fa39748c71747f7c4247cc65ba 100644 (file)
@@ -1,4 +1,13 @@
-namespace HandBrakeWPF.Views\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="PreviewView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for VideoView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Views\r
 {\r
     using System.Windows.Controls;\r
 \r
@@ -7,6 +16,9 @@
     /// </summary>\r
     public partial class PreviewView : UserControl\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="PreviewView"/> class.\r
+        /// </summary>\r
         public PreviewView()\r
         {\r
             InitializeComponent();\r
index ae0743166f52bdb2dbc3a2dd78785faed0e23009..7b6fa9fdfd47f9b85f4ae9a5195c98e71205b136 100644 (file)
@@ -1,4 +1,13 @@
-namespace HandBrakeWPF.Views\r
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="QueueView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+//   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+//   Interaction logic for VideoView.xaml\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Views\r
 {\r
     using System.Windows.Controls;\r
 \r
@@ -7,6 +16,9 @@
     /// </summary>\r
     public partial class QueueView : UserControl\r
     {\r
+        /// <summary>\r
+        /// Initializes a new instance of the <see cref="QueueView"/> class.\r
+        /// </summary>\r
         public QueueView()\r
         {\r
             InitializeComponent();\r
diff --git a/win/CS/libraries/WPFToolkit.Extended.dll b/win/CS/libraries/WPFToolkit.Extended.dll
deleted file mode 100644 (file)
index 6eccad0..0000000
Binary files a/win/CS/libraries/WPFToolkit.Extended.dll and /dev/null differ