summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF
diff options
context:
space:
mode:
authorsr55 <[email protected]>2011-03-13 16:44:49 +0000
committersr55 <[email protected]>2011-03-13 16:44:49 +0000
commitb6a5d4eba610711d15ed99dc5f2e9e126ce06086 (patch)
treee72eb5be161c3ac9b01bbc3b3efcd4ab8f91e06c /win/CS/HandBrakeWPF
parent38f64c238720fe0524f99b380fbb1a8c795a7586 (diff)
Rename Direction C# to CS
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3846 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/CS/HandBrakeWPF')
-rw-r--r--win/CS/HandBrakeWPF/App.xaml13
-rw-r--r--win/CS/HandBrakeWPF/App.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/HandBrakeWPF.csproj297
-rw-r--r--win/CS/HandBrakeWPF/Properties/AssemblyInfo.cs55
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.Designer.cs71
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.resx117
-rw-r--r--win/CS/HandBrakeWPF/Properties/Settings.Designer.cs30
-rw-r--r--win/CS/HandBrakeWPF/Properties/Settings.settings7
-rw-r--r--win/CS/HandBrakeWPF/Services/MefBootstrapper.cs21
-rw-r--r--win/CS/HandBrakeWPF/Settings.StyleCop1
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs20
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/AddPresetViewModel.cs19
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs10
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs308
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs19
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/PreviewViewModel.cs19
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs19
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/ViewModelBase.cs18
-rw-r--r--win/CS/HandBrakeWPF/Views/AboutView.xaml28
-rw-r--r--win/CS/HandBrakeWPF/Views/AboutView.xaml.cs15
-rw-r--r--win/CS/HandBrakeWPF/Views/AddPresetView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/AddPresetView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml102
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml.cs27
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/ActivityWindow.pngbin0 -> 1277 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/ActivityWindow_small.pngbin0 -> 3490 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/AddToQueue.pngbin0 -> 1913 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/AddToQueue_small.pngbin0 -> 829 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/ErrorX.pngbin0 -> 10369 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/General Preferences.pngbin0 -> 1490 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Help16.pngbin0 -> 3499 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Movies.pngbin0 -> 2258 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Output_Small.pngbin0 -> 3232 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Pause.pngbin0 -> 1715 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Play.pngbin0 -> 1792 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Play_small.pngbin0 -> 1166 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Pref_Small.pngbin0 -> 3353 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Queue.pngbin0 -> 1676 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/Queue_Small.pngbin0 -> 3573 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/copy.pngbin0 -> 3291 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/disc_small.pngbin0 -> 3575 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/download.pngbin0 -> 4569 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/folder.pngbin0 -> 463 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/hb16.pngbin0 -> 3746 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/hb32.pngbin0 -> 5935 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/info16.pngbin0 -> 3495 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/logo128.pngbin0 -> 31046 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/logo64.pngbin0 -> 11967 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/picture.pngbin0 -> 698 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/save.pngbin0 -> 3115 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/stop.pngbin0 -> 1341 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/Images/window.pngbin0 -> 935 bytes
-rw-r--r--win/CS/HandBrakeWPF/Views/MainView.xaml194
-rw-r--r--win/CS/HandBrakeWPF/Views/MainView.xaml.cs23
-rw-r--r--win/CS/HandBrakeWPF/Views/OptionsView.xaml8
-rw-r--r--win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs26
-rw-r--r--win/CS/HandBrakeWPF/Views/PreviewView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/PreviewView.xaml.cs15
-rw-r--r--win/CS/HandBrakeWPF/Views/QueueView.xaml11
-rw-r--r--win/CS/HandBrakeWPF/Views/QueueView.xaml.cs15
74 files changed, 1850 insertions, 0 deletions
diff --git a/win/CS/HandBrakeWPF/App.xaml b/win/CS/HandBrakeWPF/App.xaml
new file mode 100644
index 000000000..a00960ad3
--- /dev/null
+++ b/win/CS/HandBrakeWPF/App.xaml
@@ -0,0 +1,13 @@
+<Application x:Class="HandBrakeWPF.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:HandBrakeWPF.Services">
+ <Application.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary>
+ <local:MefBootstrapper x:Key="bootstrapper" />
+ </ResourceDictionary>
+ </ResourceDictionary.MergedDictionaries>
+ </ResourceDictionary>
+ </Application.Resources>
+</Application>
diff --git a/win/CS/HandBrakeWPF/App.xaml.cs b/win/CS/HandBrakeWPF/App.xaml.cs
new file mode 100644
index 000000000..8b47a6291
--- /dev/null
+++ b/win/CS/HandBrakeWPF/App.xaml.cs
@@ -0,0 +1,27 @@
+/* App.xaml.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF
+{
+ /// <summary>
+ /// Interaction logic for App.xaml
+ /// </summary>
+ public partial class App
+ {
+ /*
+ * TODO:
+ * - Setup Castle Windsor support for services.
+ *
+ *
+ */
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="App"/> class.
+ /// </summary>
+ public App()
+ {
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
new file mode 100644
index 000000000..0937aea29
--- /dev/null
+++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{DADE66CB-0E12-4959-ADE5-0ACD31D27C59}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>HandBrakeWPF</RootNamespace>
+ <AssemblyName>HandBrakeWPF</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <PlatformTarget>x86</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <PlatformTarget>x86</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Caliburn.Core">
+ <HintPath>..\libraries\caliburn\Caliburn.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Caliburn.DynamicProxy">
+ <HintPath>..\libraries\caliburn\Caliburn.DynamicProxy.dll</HintPath>
+ </Reference>
+ <Reference Include="Caliburn.FluentValidation">
+ <HintPath>..\libraries\caliburn\Caliburn.FluentValidation.dll</HintPath>
+ </Reference>
+ <Reference Include="Caliburn.MEF">
+ <HintPath>..\libraries\caliburn\Caliburn.MEF.dll</HintPath>
+ </Reference>
+ <Reference Include="Caliburn.PresentationFramework">
+ <HintPath>..\libraries\caliburn\Caliburn.PresentationFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="Caliburn.ShellFramework">
+ <HintPath>..\libraries\caliburn\Caliburn.ShellFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="Caliburn.Windsor">
+ <HintPath>..\libraries\caliburn\Caliburn.Windsor.dll</HintPath>
+ </Reference>
+ <Reference Include="Castle.Core">
+ <HintPath>..\libraries\caliburn\Castle.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Castle.Windsor">
+ <HintPath>..\libraries\caliburn\Castle.Windsor.dll</HintPath>
+ </Reference>
+ <Reference Include="Common.Logging">
+ <HintPath>..\libraries\caliburn\Common.Logging.dll</HintPath>
+ </Reference>
+ <Reference Include="FluentValidation">
+ <HintPath>..\libraries\caliburn\FluentValidation.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Practices.Composite">
+ <HintPath>..\libraries\caliburn\Microsoft.Practices.Composite.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Practices.Composite.Presentation">
+ <HintPath>..\libraries\caliburn\Microsoft.Practices.Composite.Presentation.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.ComponentModel.Composition" />
+ <Reference Include="System.CoreEx">
+ <HintPath>..\libraries\caliburn\System.CoreEx.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Interactive">
+ <HintPath>..\libraries\caliburn\System.Interactive.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Reactive">
+ <HintPath>..\libraries\caliburn\System.Reactive.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Xml" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Xaml">
+ <RequiredTargetFramework>4.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="WindowsBase" />
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ <Reference Include="WPFToolkit.Extended">
+ <HintPath>..\libraries\WPFToolkit.Extended.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Compile Include="Services\MefBootstrapper.cs" />
+ <Compile Include="ViewModels\AboutViewModel.cs" />
+ <Compile Include="ViewModels\AddPresetViewModel.cs" />
+ <Compile Include="ViewModels\Interfaces\IMainViewModel.cs" />
+ <Compile Include="ViewModels\PreviewViewModel.cs" />
+ <Compile Include="ViewModels\QueueViewModel.cs" />
+ <Compile Include="ViewModels\OptionsViewModel.cs" />
+ <Compile Include="ViewModels\ViewModelBase.cs" />
+ <Compile Include="Views\AboutView.xaml.cs">
+ <DependentUpon>AboutView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="ViewModels\MainViewModel.cs" />
+ <Compile Include="Views\Controls\AdvancedView.xaml.cs">
+ <DependentUpon>AdvancedView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\AudioView.xaml.cs">
+ <DependentUpon>AudioView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\ChaptersView.xaml.cs">
+ <DependentUpon>ChaptersView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\AddPresetView.xaml.cs">
+ <DependentUpon>AddPresetView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\PreviewView.xaml.cs">
+ <DependentUpon>PreviewView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\QueueView.xaml.cs">
+ <DependentUpon>QueueView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\FiltersView.xaml.cs">
+ <DependentUpon>FiltersView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\MainView.xaml.cs">
+ <DependentUpon>MainView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\PictureSettingsView.xaml.cs">
+ <DependentUpon>PictureSettingsView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\QueryEditorView.xaml.cs">
+ <DependentUpon>QueryEditorView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\SubtitlesView.xaml.cs">
+ <DependentUpon>SubtitlesView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\Controls\VideoView.xaml.cs">
+ <DependentUpon>VideoView.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Views\OptionsView.xaml.cs">
+ <DependentUpon>OptionsView.xaml</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\Settings.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Settings.settings</DependentUpon>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ </Compile>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <None Include="Properties\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+ </None>
+ <AppDesigner Include="Properties\" />
+ </ItemGroup>
+ <ItemGroup>
+ <Page Include="Views\AboutView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\AdvancedView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\AudioView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\ChaptersView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\AddPresetView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Page Include="Views\PreviewView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Page Include="Views\QueueView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Page Include="Views\Controls\FiltersView.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Page Include="Views\MainView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\PictureSettingsView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\QueryEditorView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\SubtitlesView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\Controls\VideoView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Views\OptionsView.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Model\" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Views\Images\ActivityWindow.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="Views\Images\ActivityWindow_small.png" />
+ <Resource Include="Views\Images\copy.png" />
+ <Resource Include="Views\Images\disc_small.png" />
+ <Resource Include="Views\Images\Output_Small.png" />
+ <Resource Include="Views\Images\Pref_Small.png" />
+ <Resource Include="Views\Images\Queue.png" />
+ <Resource Include="Views\Images\Queue_Small.png" />
+ <Resource Include="Views\Images\stop.png" />
+ <Resource Include="Views\Images\save.png" />
+ <Resource Include="Views\Images\Play_small.png" />
+ <Resource Include="Views\Images\Play.png" />
+ <Resource Include="Views\Images\picture.png" />
+ <Resource Include="Views\Images\Pause.png" />
+ <Resource Include="Views\Images\Movies.png" />
+ <Resource Include="Views\Images\logo64.png" />
+ <Resource Include="Views\Images\logo128.png" />
+ <Resource Include="Views\Images\info16.png" />
+ <Resource Include="Views\Images\Help16.png" />
+ <Resource Include="Views\Images\hb32.png" />
+ <Resource Include="Views\Images\hb16.png" />
+ <Resource Include="Views\Images\General Preferences.png" />
+ <Resource Include="Views\Images\folder.png" />
+ <Resource Include="Views\Images\ErrorX.png" />
+ <Resource Include="Views\Images\download.png" />
+ <Resource Include="Views\Images\AddToQueue_small.png" />
+ <Resource Include="Views\Images\AddToQueue.png" />
+ <Resource Include="Views\Images\window.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\HandBrake.ApplicationServices\HandBrake.ApplicationServices.csproj">
+ <Project>{087A2BA8-BAC2-4577-A46F-07FF9D420016}</Project>
+ <Name>HandBrake.ApplicationServices</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Properties/AssemblyInfo.cs b/win/CS/HandBrakeWPF/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..0e7cf6f8c
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HandBrake")]
+[assembly: AssemblyDescription("A WPF MVVM based GUI for HandBrake.")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("HandBrake Team")]
+[assembly: AssemblyProduct("HandBrake")]
+[assembly: AssemblyCopyright("Copyright © HandBrake Team 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>. For example, if you are using US english
+//in your source files, set the <UICulture> to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.9.5.0")]
+[assembly: AssemblyFileVersion("0.9.5.0")]
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
new file mode 100644
index 000000000..b9eb47749
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.1
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Properties
+{
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HandBrakeWPF.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.resx b/win/CS/HandBrakeWPF/Properties/Resources.resx
new file mode 100644
index 000000000..ffecec851
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Properties/Settings.Designer.cs b/win/CS/HandBrakeWPF/Properties/Settings.Designer.cs
new file mode 100644
index 000000000..ae1b86547
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.1
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Properties/Settings.settings b/win/CS/HandBrakeWPF/Properties/Settings.settings
new file mode 100644
index 000000000..8f2fd95d6
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+ <Settings />
+</SettingsFile> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Services/MefBootstrapper.cs b/win/CS/HandBrakeWPF/Services/MefBootstrapper.cs
new file mode 100644
index 000000000..bd05356c0
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Services/MefBootstrapper.cs
@@ -0,0 +1,21 @@
+namespace HandBrakeWPF.Services
+{
+ using System.ComponentModel.Composition.Hosting;
+ using System.Linq;
+
+ using Caliburn.Core.InversionOfControl;
+ using Caliburn.MEF;
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ using HandBrakeWPF.ViewModels.Interfaces;
+
+ public class MefBootstrapper : Bootstrapper<IMainViewModel>
+ {
+ protected override IServiceLocator CreateContainer()
+ {
+ var container = new CompositionContainer(new AggregateCatalog(SelectAssemblies().Select(x => new AssemblyCatalog(x))));
+
+ return new MEFAdapter(container);
+ }
+ }
+} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Settings.StyleCop b/win/CS/HandBrakeWPF/Settings.StyleCop
new file mode 100644
index 000000000..7f55ce6c6
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Settings.StyleCop
@@ -0,0 +1 @@
+<StyleCopSettings Version="4.3" /> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs
new file mode 100644
index 000000000..aeb0ee822
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs
@@ -0,0 +1,20 @@
+/* AboutViewModel.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.ViewModels
+{
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ /// <summary>
+ /// The About View Model
+ /// </summary>
+ public class AboutViewModel : ViewModelBase
+ {
+ public AboutViewModel(IWindowManager windowManager) : base(windowManager)
+ {
+ }
+
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/AddPresetViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AddPresetViewModel.cs
new file mode 100644
index 000000000..6a44bb1a5
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/AddPresetViewModel.cs
@@ -0,0 +1,19 @@
+/* AddPresetViewModel.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.ViewModels
+{
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ /// <summary>
+ /// The Add Preset View Model
+ /// </summary>
+ public class AddPresetViewModel : ViewModelBase
+ {
+ public AddPresetViewModel(IWindowManager windowManager) : base(windowManager)
+ {
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs
new file mode 100644
index 000000000..31ce54db0
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs
@@ -0,0 +1,10 @@
+namespace HandBrakeWPF.ViewModels.Interfaces
+{
+ public interface IMainViewModel
+ {
+ /// <summary>
+ /// Shutdown the Application
+ /// </summary>
+ void ExitApplication();
+ }
+} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
new file mode 100644
index 000000000..dc8a62a48
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -0,0 +1,308 @@
+/* MainViewModel.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.ViewModels
+{
+ using System;
+ using System.Collections.ObjectModel;
+ using System.ComponentModel.Composition;
+ using System.Diagnostics;
+ using System.IO;
+ using System.Windows;
+
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ using HandBrake.ApplicationServices.Model;
+ using HandBrake.ApplicationServices.Parsing;
+ using HandBrake.ApplicationServices.Services;
+ using HandBrake.ApplicationServices.Services.Interfaces;
+
+ using HandBrakeWPF.ViewModels.Interfaces;
+
+ /// <summary>
+ /// HandBrakes Main Window
+ /// </summary>
+ [Export(typeof(IMainViewModel))]
+ public class MainViewModel : ViewModelBase, IMainViewModel
+ {
+ #region Private Variables and Services
+
+ /// <summary>
+ /// The Source Scan Service.
+ /// </summary>
+ private readonly IScan scanService;
+
+ /// <summary>
+ /// The Encode Service
+ /// </summary>
+ private readonly IQueueProcessor queueProcessor;
+
+ /// <summary>
+ /// The preset service
+ /// </summary>
+ private readonly IPresetService presetService;
+
+ /// <summary>
+ /// HandBrakes Main Window Title
+ /// </summary>
+ private string windowName;
+
+ /// <summary>
+ /// The Source Label
+ /// </summary>
+ private string sourceLabel;
+
+ /// <summary>
+ /// The Toolbar Status Label
+ /// </summary>
+ private string programStatusLabel;
+
+ #endregion
+
+ #region Properties
+
+ [ImportingConstructor]
+ public MainViewModel(IWindowManager windowManager) : base(windowManager)
+ {
+ // Setup Services (TODO - Bring Castle back into the project to wire these up for us)
+ this.scanService = File.Exists("hb.dll") ? (IScan)new LibScan() : new ScanService();
+ this.queueProcessor = new QueueProcessor(Process.GetProcessesByName("HandBrake").Length);
+ this.presetService = new PresetService();
+
+ // Setup Properties
+ this.WindowTitle = "HandBrake WPF Test Application";
+
+ // Setup Events
+ this.scanService.ScanStared += this.ScanStared;
+ this.scanService.ScanCompleted += this.ScanCompleted;
+ this.scanService.ScanStatusChanged += this.ScanStatusChanged;
+
+ this.queueProcessor.QueueCompleted += this.QueueCompleted;
+ this.queueProcessor.QueuePaused += this.QueuePaused;
+ this.queueProcessor.EncodeService.EncodeStarted += this.EncodeStarted;
+ this.queueProcessor.EncodeService.EncodeStatusChanged += this.EncodeStatusChanged;
+ }
+
+ /// <summary>
+ /// Gets or sets TestProperty.
+ /// </summary>
+ public string WindowTitle
+ {
+ get
+ {
+ return this.windowName;
+ }
+
+ set
+ {
+ if (!object.Equals(this.windowName, value))
+ {
+ this.windowName = value;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Gets a list of presets
+ /// </summary>
+ public ObservableCollection<Preset> Presets
+ {
+ get
+ {
+ return this.presetService.Presets;
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets The Current Encode Task that the user is building
+ /// </summary>
+ public EncodeTask CurrentTask { get; set; }
+
+ /// <summary>
+ /// Gets or sets the Last Scanned Source
+ /// This object contains information about the scanned source.
+ /// </summary>
+ public Source ScannedSource { get; set; }
+
+ /// <summary>
+ /// Gets or sets the Source Label
+ /// This indicates the status of scans.
+ /// </summary>
+ public string SourceLabel
+ {
+ get
+ {
+ return string.IsNullOrEmpty(this.sourceLabel) ? "Select 'Source' to continue" : this.sourceLabel;
+ }
+
+ set
+ {
+ if (!object.Equals(this.sourceLabel, value))
+ {
+ this.sourceLabel = value;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the Program Status Toolbar Label
+ /// This indicates the status of HandBrake
+ /// </summary>
+ public string ProgramStatusLabel
+ {
+ get
+ {
+ return string.IsNullOrEmpty(this.programStatusLabel) ? "Ready" : this.sourceLabel;
+ }
+
+ set
+ {
+ if (!object.Equals(this.programStatusLabel, value))
+ {
+ this.programStatusLabel = value;
+ }
+ }
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Shutdown this View
+ /// </summary>
+ public void Shutdown()
+ {
+ // Unsubscribe from Events.
+ this.scanService.ScanStared -= this.ScanStared;
+ this.scanService.ScanCompleted -= this.ScanCompleted;
+ this.scanService.ScanStatusChanged -= this.ScanStatusChanged;
+
+ this.queueProcessor.QueueCompleted -= this.QueueCompleted;
+ this.queueProcessor.QueuePaused -= this.QueuePaused;
+ this.queueProcessor.EncodeService.EncodeStarted -= this.EncodeStarted;
+ this.queueProcessor.EncodeService.EncodeStatusChanged -= this.EncodeStatusChanged;
+ }
+
+
+ #region Menu and Taskbar
+
+ public void AboutApplication()
+ {
+ }
+
+ /// <summary>
+ /// Shutdown the Application
+ /// </summary>
+ public void ExitApplication()
+ {
+ Application.Current.Shutdown();
+ }
+
+ #endregion
+
+
+ #region Event Handlers
+ /// <summary>
+ /// Handle the Scan Status Changed Event.
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The EventArgs
+ /// </param>
+ private void ScanStatusChanged(object sender, HandBrake.ApplicationServices.EventArgs.ScanProgressEventArgs e)
+ {
+ this.SourceLabel = "Scanning Title " + e.CurrentTitle + " of " + e.Titles;
+ }
+
+ /// <summary>
+ /// Handle the Scan Completed Event
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The EventArgs
+ /// </param>
+ private void ScanCompleted(object sender, HandBrake.ApplicationServices.EventArgs.ScanCompletedEventArgs e)
+ {
+ if (e.Successful)
+ {
+ this.ScannedSource = this.scanService.SouceData;
+ }
+ }
+
+ /// <summary>
+ /// Handle the Scan Started Event
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The EventArgs
+ /// </param>
+ private void ScanStared(object sender, EventArgs e)
+ {
+ // TODO - Disable relevant parts of the UI.
+ }
+
+ /// <summary>
+ /// The Encode Status has changed Handler
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The Encode Progress Event Args
+ /// </param>
+ private void EncodeStatusChanged(object sender, HandBrake.ApplicationServices.EventArgs.EncodeProgressEventArgs e)
+ {
+ //
+ }
+
+ /// <summary>
+ /// Encode Started Handler
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The EventArgs
+ /// </param>
+ private void EncodeStarted(object sender, EventArgs e)
+ {
+ // TODO Handle Updating the UI
+ }
+
+ /// <summary>
+ /// The Queue has been paused handler
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The EventArgs
+ /// </param>
+ private void QueuePaused(object sender, EventArgs e)
+ {
+ // TODO Handle Updating the UI
+ }
+
+ /// <summary>
+ /// The Queue has completed handler
+ /// </summary>
+ /// <param name="sender">
+ /// The Sender
+ /// </param>
+ /// <param name="e">
+ /// The EventArgs
+ /// </param>
+ private void QueueCompleted(object sender, EventArgs e)
+ {
+ // TODO Handle Updating the UI
+ }
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
new file mode 100644
index 000000000..6d634bbbb
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
@@ -0,0 +1,19 @@
+/* OptionsViewModel.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.ViewModels
+{
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ /// <summary>
+ /// The Options View Model
+ /// </summary>
+ public class OptionsViewModel : ViewModelBase
+ {
+ public OptionsViewModel(IWindowManager windowManager) : base(windowManager)
+ {
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/PreviewViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/PreviewViewModel.cs
new file mode 100644
index 000000000..b41fd69f5
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/PreviewViewModel.cs
@@ -0,0 +1,19 @@
+/* PreviewViewModel.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.ViewModels
+{
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ /// <summary>
+ /// The About View Model
+ /// </summary>
+ public class PreviewViewModel : ViewModelBase
+ {
+ public PreviewViewModel(IWindowManager windowManager) : base(windowManager)
+ {
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs
new file mode 100644
index 000000000..07f3f486f
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs
@@ -0,0 +1,19 @@
+/* QueueViewModel.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.ViewModels
+{
+ using Caliburn.PresentationFramework.ApplicationModel;
+
+ /// <summary>
+ /// The Preview View Model
+ /// </summary>
+ public class QueueViewModel : ViewModelBase
+ {
+ public QueueViewModel(IWindowManager windowManager) : base(windowManager)
+ {
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/ViewModelBase.cs b/win/CS/HandBrakeWPF/ViewModels/ViewModelBase.cs
new file mode 100644
index 000000000..b946d7c7e
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModels/ViewModelBase.cs
@@ -0,0 +1,18 @@
+namespace HandBrakeWPF.ViewModels
+{
+ using Caliburn.PresentationFramework.ApplicationModel;
+ using Caliburn.PresentationFramework.Screens;
+
+ /// <summary>
+ /// A Base Class for the View Models which contains reusable code.
+ /// </summary>
+ public class ViewModelBase : Screen
+ {
+ public ViewModelBase(IWindowManager windowManager)
+ {
+ this.WindowManager = windowManager;
+ }
+
+ public IWindowManager WindowManager { get; private set; }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/AboutView.xaml b/win/CS/HandBrakeWPF/Views/AboutView.xaml
new file mode 100644
index 000000000..7316ab49a
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/AboutView.xaml
@@ -0,0 +1,28 @@
+<Window x:Class="HandBrakeWPF.Views.AboutView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:PresentationFramework="clr-namespace:Caliburn.PresentationFramework;assembly=Caliburn.PresentationFramework" xmlns:RoutedMessaging="clr-namespace:Caliburn.PresentationFramework.RoutedMessaging;assembly=Caliburn.PresentationFramework" Title="AboutView" Height="268" Width="511">
+
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/logo64.png" Width="64" Height="64" SnapsToDevicePixels="True" Margin="10,10,10,10" HorizontalAlignment="Left" VerticalAlignment="Top" />
+
+ <StackPanel Orientation="Vertical">
+ <Label Content="HandBrake WPF Demo App" FontWeight="Bold" FontSize="14" Margin="0,10,0,0" />
+ <Label Content="Copyright 2003-2011 HandBrake Team" />
+
+ <Label Content="License:" />
+ <TextBox Width="380" Height="100" IsReadOnly="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Margin="10,0,10,10">
+ 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.
+
+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.
+
+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
+ </TextBox>
+
+ <Button Content="OK" RoutedMessaging:Message.Attach="[Event Click] = [Action Close]"
+ HorizontalAlignment="Right" Padding="10,2" Margin="0,0,10,10" />
+
+ </StackPanel>
+
+
+ </StackPanel>
+</Window>
diff --git a/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs b/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs
new file mode 100644
index 000000000..22de6967b
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs
@@ -0,0 +1,15 @@
+namespace HandBrakeWPF.Views
+{
+ using System.Windows;
+
+ /// <summary>
+ /// Interaction logic for AboutView.xaml
+ /// </summary>
+ public partial class AboutView : Window
+ {
+ public AboutView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/AddPresetView.xaml b/win/CS/HandBrakeWPF/Views/AddPresetView.xaml
new file mode 100644
index 000000000..74d79f0c8
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/AddPresetView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.AddPresetView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/AddPresetView.xaml.cs b/win/CS/HandBrakeWPF/Views/AddPresetView.xaml.cs
new file mode 100644
index 000000000..b99e48b26
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/AddPresetView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for VideoView.xaml
+ /// </summary>
+ public partial class AddPresetView : UserControl
+ {
+ public AddPresetView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml b/win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml
new file mode 100644
index 000000000..3adb82821
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.AdvancedView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml.cs
new file mode 100644
index 000000000..b7ad6ef86
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/AdvancedView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for AdvancedView.xaml
+ /// </summary>
+ public partial class AdvancedView : UserControl
+ {
+ public AdvancedView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml b/win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml
new file mode 100644
index 000000000..6087c7d07
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.AudioView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml.cs
new file mode 100644
index 000000000..3518eea56
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/AudioView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for AudioView.xaml
+ /// </summary>
+ public partial class AudioView : UserControl
+ {
+ public AudioView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml b/win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml
new file mode 100644
index 000000000..ac39a7062
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.ChaptersView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml.cs
new file mode 100644
index 000000000..f61b201c9
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/ChaptersView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for ChaptersView.xaml
+ /// </summary>
+ public partial class ChaptersView : UserControl
+ {
+ public ChaptersView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml b/win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml
new file mode 100644
index 000000000..6ac8f5a10
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.FiltersView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml.cs
new file mode 100644
index 000000000..27f38be95
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/FiltersView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for VideoFilters.xaml
+ /// </summary>
+ public partial class FiltersView : UserControl
+ {
+ public FiltersView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml b/win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml
new file mode 100644
index 000000000..80b82c52f
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml
@@ -0,0 +1,102 @@
+<UserControl x:Class="HandBrakeWPF.Views.PictureSettingsView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:Controls="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit.Extended"
+ >
+
+ <StackPanel Orientation="Horizontal" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+
+ <!-- Size Panel-->
+ <StackPanel Name="SizePanel" Orientation="Vertical" >
+ <Label Content="Size" FontWeight="Bold" />
+
+ <!-- Row 1-->
+ <StackPanel Orientation="Horizontal" Margin="5,0,5,0">
+ <Label Content="Source" Grid.Row="0" Grid.Column="0" />
+ <Label Content="---" Name="sourceResolution" Grid.Row="0" Grid.Column="1" />
+ </StackPanel>
+
+ <!-- Row 2-->
+ <StackPanel Orientation="Horizontal" Margin="5,0,5,0">
+ <Label Content="Width:" Grid.Row="1" Grid.Column="0" />
+ <Controls:NumericUpDown Name="width" Minimum="0" Grid.Row="1" Grid.Column="1" Width="45" />
+ <Label Content="Height:" Grid.Row="1" Grid.Column="2" />
+ <Controls:NumericUpDown Name="height" Minimum="0" Grid.Row="1" Grid.Column="3" Width="45" />
+ <CheckBox Content="Keep Aspect Ratio" VerticalAlignment="Center" Margin="5,0,0,0" />
+ </StackPanel>
+
+ <!-- Row 3-->
+ <Grid Margin="5,15,5,0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+
+ <Label Content="Anamorphic:" Grid.Row="0" Grid.Column="0" />
+ <Label Content="Modulus:" Grid.Row="1" Grid.Column="0" />
+ <Label Content="Display Width:" Grid.Row="2" Grid.Column="0" />
+ <Label Content="PAR Width:" Grid.Row="3" Grid.Column="0" />
+ <Label Content="PAR Height:" Grid.Row="4" Grid.Column="0" />
+ <Label Content="Display Size:" Grid.Row="5" Grid.Column="0" />
+
+ <ComboBox Width="110" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <ComboBox Width="110" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Controls:NumericUpDown Width="45" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Controls:NumericUpDown Width="45" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Controls:NumericUpDown Width="45" Grid.Row="4" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Label Content="---" Grid.Row="5" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ </Grid>
+ </StackPanel>
+
+
+ <StackPanel Name="CropPanel" Margin="50,0,0,0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <Label Content="Cropping" FontWeight="Bold" />
+ <RadioButton Content="Automatic" Margin="10,0,0,0"/>
+ <RadioButton Content="Custom" Margin="10,0,0,0" />
+
+ <Grid Margin="0,10,0,0">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+
+ <Label Content="Top" Grid.Row="0" Grid.Column="2" VerticalAlignment="Center" />
+ <Label Content="Bottom" Grid.Row="4" Grid.Column="2" VerticalAlignment="Center" />
+ <Label Content="Left" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center" />
+ <Label Content="Right" Grid.Row="2" Grid.Column="4" HorizontalAlignment="Center" />
+
+ <Controls:NumericUpDown Width="45" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Controls:NumericUpDown Width="45" Grid.Row="3" Grid.Column="2" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Controls:NumericUpDown Width="45" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" Margin="0,0,0,5" />
+ <Controls:NumericUpDown Width="45" Grid.Row="2" Grid.Column="3" HorizontalAlignment="Left" Margin="0,0,0,5" />
+
+ </Grid>
+
+
+ </StackPanel>
+
+
+ </StackPanel>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml.cs
new file mode 100644
index 000000000..9401168dc
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/PictureSettingsView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for PictureSettingsView.xaml
+ /// </summary>
+ public partial class PictureSettingsView : UserControl
+ {
+ public PictureSettingsView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml b/win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml
new file mode 100644
index 000000000..694dcd8df
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.QueryEditorView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml.cs
new file mode 100644
index 000000000..d67b7eb5c
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/QueryEditorView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for QueryEditorView.xaml
+ /// </summary>
+ public partial class QueryEditorView : UserControl
+ {
+ public QueryEditorView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml b/win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml
new file mode 100644
index 000000000..4594f62b5
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.SubtitlesView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml.cs
new file mode 100644
index 000000000..589462c40
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/SubtitlesView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for SubtitlesView.xaml
+ /// </summary>
+ public partial class SubtitlesView : UserControl
+ {
+ public SubtitlesView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml b/win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml
new file mode 100644
index 000000000..72ab1f67c
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.VideoView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml.cs b/win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml.cs
new file mode 100644
index 000000000..f59435f02
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Controls/VideoView.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for VideoView.xaml
+ /// </summary>
+ public partial class VideoView : UserControl
+ {
+ public VideoView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/Images/ActivityWindow.png b/win/CS/HandBrakeWPF/Views/Images/ActivityWindow.png
new file mode 100644
index 000000000..315e0fa17
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/ActivityWindow.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/ActivityWindow_small.png b/win/CS/HandBrakeWPF/Views/Images/ActivityWindow_small.png
new file mode 100644
index 000000000..916b6ef4a
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/ActivityWindow_small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/AddToQueue.png b/win/CS/HandBrakeWPF/Views/Images/AddToQueue.png
new file mode 100644
index 000000000..8eb079b3d
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/AddToQueue.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/AddToQueue_small.png b/win/CS/HandBrakeWPF/Views/Images/AddToQueue_small.png
new file mode 100644
index 000000000..5bb08184f
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/AddToQueue_small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/ErrorX.png b/win/CS/HandBrakeWPF/Views/Images/ErrorX.png
new file mode 100644
index 000000000..75c63c08a
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/ErrorX.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/General Preferences.png b/win/CS/HandBrakeWPF/Views/Images/General Preferences.png
new file mode 100644
index 000000000..9814afcc1
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/General Preferences.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Help16.png b/win/CS/HandBrakeWPF/Views/Images/Help16.png
new file mode 100644
index 000000000..bb5ef99ce
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Help16.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Movies.png b/win/CS/HandBrakeWPF/Views/Images/Movies.png
new file mode 100644
index 000000000..ec03eb576
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Movies.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Output_Small.png b/win/CS/HandBrakeWPF/Views/Images/Output_Small.png
new file mode 100644
index 000000000..a1017d6fb
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Output_Small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Pause.png b/win/CS/HandBrakeWPF/Views/Images/Pause.png
new file mode 100644
index 000000000..a20833967
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Pause.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Play.png b/win/CS/HandBrakeWPF/Views/Images/Play.png
new file mode 100644
index 000000000..23fce8283
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Play.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Play_small.png b/win/CS/HandBrakeWPF/Views/Images/Play_small.png
new file mode 100644
index 000000000..3e4647a15
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Play_small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Pref_Small.png b/win/CS/HandBrakeWPF/Views/Images/Pref_Small.png
new file mode 100644
index 000000000..a28fb5b27
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Pref_Small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Queue.png b/win/CS/HandBrakeWPF/Views/Images/Queue.png
new file mode 100644
index 000000000..51962a1b0
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Queue.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/Queue_Small.png b/win/CS/HandBrakeWPF/Views/Images/Queue_Small.png
new file mode 100644
index 000000000..02c7391a9
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/Queue_Small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/copy.png b/win/CS/HandBrakeWPF/Views/Images/copy.png
new file mode 100644
index 000000000..c11c6a753
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/copy.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/disc_small.png b/win/CS/HandBrakeWPF/Views/Images/disc_small.png
new file mode 100644
index 000000000..dca0ad228
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/disc_small.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/download.png b/win/CS/HandBrakeWPF/Views/Images/download.png
new file mode 100644
index 000000000..c3206626b
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/download.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/folder.png b/win/CS/HandBrakeWPF/Views/Images/folder.png
new file mode 100644
index 000000000..a54316ea6
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/folder.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/hb16.png b/win/CS/HandBrakeWPF/Views/Images/hb16.png
new file mode 100644
index 000000000..a9f720775
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/hb16.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/hb32.png b/win/CS/HandBrakeWPF/Views/Images/hb32.png
new file mode 100644
index 000000000..5054264d3
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/hb32.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/info16.png b/win/CS/HandBrakeWPF/Views/Images/info16.png
new file mode 100644
index 000000000..6b6b9f01f
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/info16.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/logo128.png b/win/CS/HandBrakeWPF/Views/Images/logo128.png
new file mode 100644
index 000000000..69d76459d
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/logo128.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/logo64.png b/win/CS/HandBrakeWPF/Views/Images/logo64.png
new file mode 100644
index 000000000..12808f636
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/logo64.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/picture.png b/win/CS/HandBrakeWPF/Views/Images/picture.png
new file mode 100644
index 000000000..0072ccfb6
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/picture.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/save.png b/win/CS/HandBrakeWPF/Views/Images/save.png
new file mode 100644
index 000000000..40885d2d3
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/save.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/stop.png b/win/CS/HandBrakeWPF/Views/Images/stop.png
new file mode 100644
index 000000000..c544b5ee4
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/stop.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/Images/window.png b/win/CS/HandBrakeWPF/Views/Images/window.png
new file mode 100644
index 000000000..48a14a35b
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/Images/window.png
Binary files differ
diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml b/win/CS/HandBrakeWPF/Views/MainView.xaml
new file mode 100644
index 000000000..496afc4ee
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/MainView.xaml
@@ -0,0 +1,194 @@
+<Window x:Class="HandBrakeWPF.Views.MainView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:Views="clr-namespace:HandBrakeWPF.Views"
+ xmlns:Data="clr-namespace:System.Windows.Data;assembly=PresentationFramework"
+ xmlns:RoutedMessaging="clr-namespace:Caliburn.PresentationFramework.RoutedMessaging;assembly=Caliburn.PresentationFramework"
+ Title="{Data:Binding Path=WindowTitle}" Height="655" Width="1015" FontSize="11">
+
+ <Grid>
+ <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <!-- Menu and Taskbar-->
+ <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <!-- Main Menu -->
+ <Menu Height="23" VerticalAlignment="Top" HorizontalAlignment="Stretch">
+ <MenuItem Header="File">
+ <MenuItem Header="Cancel Scan" />
+ <MenuItem Header="Exit" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ </MenuItem>
+
+ <MenuItem Header="Tools">
+ <MenuItem Header="Show Queue" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <MenuItem Header="Activity Window" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ </MenuItem>
+
+ <MenuItem Header="Presets">
+ <MenuItem Header="Reset Built-in Presets" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <MenuItem Header="Delete Built-in Presets" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <Separator />
+ <MenuItem Header="Save As New Preset" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <MenuItem Header="Import" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <MenuItem Header="Export" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <MenuItem Header="Set as Default" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ </MenuItem>
+
+ <MenuItem Header="Help">
+ <MenuItem Header="HandBrake User Guide" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <Separator />
+ <MenuItem Header="Check for Updates" RoutedMessaging:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <Separator />
+ <MenuItem Header="About..." RoutedMessaging:Message.Attach="[Event Click] = [Action AboutApplication]" />
+ </MenuItem>
+ </Menu>
+
+ <!-- ToolBar -->
+ <ToolBar Name="mainToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SnapsToDevicePixels="False">
+
+ <Button Name="Source">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Movies.png" Height="32" Width="32" />
+ <Label Content="Source" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+
+ <Separator />
+
+ <Button Name="Start">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Play.png" Height="32" Width="32" />
+ <Label Content="Start" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+ <Button Name="AddToQueue">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/AddToQueue.png" Height="32" Width="32" />
+ <Label Content="Add To Queue" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+
+ <Button Name="ShowQueue">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Queue.png" Height="32" Width="32" />
+ <Label Content="Show Queue" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+
+ <Separator />
+
+ <Button Name="Preview">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/window.png" Height="32" Width="32" />
+ <Label Content="Preview" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+ <Button Name="ActivityWindow">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/ActivityWindow.png" Height="32" Width="32" />
+ <Label Content="Activity Window" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+ </ToolBar>
+ </StackPanel>
+
+ <!-- Main Body-->
+ <StackPanel Orientation="Horizontal">
+
+ <!-- Main Controls-->
+ <StackPanel Orientation="Vertical">
+ <!-- Source -->
+ <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">
+ <StackPanel Orientation="Horizontal">
+ <Label Content="Source" FontWeight="Bold" />
+ <Label Content="{Binding Path=SourceLabel}" />
+ </StackPanel>
+
+ <StackPanel Orientation="Horizontal">
+ <Label Content="Title" Margin="8,0,0,0" />
+ <ComboBox Name="Titles" Margin="8,0,0,0" MinWidth="100" SelectedItem="{Binding Path=CurrentTask.Title}" />
+
+ <Label Content="Angle" Margin="8,0,0,0" />
+ <ComboBox Name="Angles" Margin="8,0,0,0" MinWidth="60" SelectedItem="{Binding Path=CurrentTask.Angle}"/>
+
+ <ComboBox Name="PointToPointMode" Margin="8,0,0,0" MinWidth="80" SelectedItem="{Binding Path=CurrentTask.PointToPointMode}" />
+ <ComboBox Name="StartPoint" Margin="8,0,0,0" MinWidth="60" SelectedItem="{Binding Path=CurrentTask.StartPoint}" />
+ <Label Content="through" Margin="8,0,0,0" />
+ <ComboBox Name="EndPoint" Margin="8,0,0,0" MinWidth="60" SelectedItem="{Binding Path=CurrentTask.EndPoint}" />
+ <Label Content="Duration" Margin="8,0,0,0" />
+ <Label Content="--:--:--" Margin="8,0,0,0" />
+ </StackPanel>
+ </StackPanel>
+
+ <!-- Destination -->
+ <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">
+ <Label Content="Destination" FontWeight="Bold" />
+ <StackPanel Orientation="Horizontal">
+ <Label Content="File" Margin="8,0,0,0" />
+ <TextBox Name="Destination" Margin="8,0,0,0" Width="600" Text="{}" />
+ <Button Name="DestinationBrowser" Margin="8,0,0,0" Padding="8,0,8,0" Content="Browse" />
+ </StackPanel>
+ </StackPanel>
+
+ <!-- Output Options -->
+ <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">
+ <Label Content="Output Settings (Preset: None)" FontWeight="Bold" />
+ <StackPanel Orientation="Horizontal">
+ <Label Content="Container" Margin="8,0,0,0" />
+ <ComboBox Name="Container" Margin="8,0,0,0" MinWidth="100" SelectedItem="{Binding Path=CurrentTask.OutputFormat}" />
+
+ <CheckBox Name="LargeFileMp4" Content="Large File Size" IsChecked="{Binding Path=CurrentTask.LargeFile}" VerticalAlignment="Center" Margin="8,0,0,0" />
+ <CheckBox Name="WebOptimized" Content="Web Optimized" IsChecked="{Binding Path=CurrentTask.OptimizeMP4}" VerticalAlignment="Center" Margin="8,0,0,0" />
+ <CheckBox Name="iPod5G" Content="iPod 5G Support" IsChecked="{Binding Path=CurrentTask.IPod5GSupport}" VerticalAlignment="Center" Margin="8,0,0,0" />
+ </StackPanel>
+ </StackPanel>
+
+ <!-- Tab Control -->
+ <TabControl HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="725" Height="330" Margin="10,10,10,10" Name="tabControl" >
+ <TabItem Header="Picture" Name="pictureTab">
+ <Views:PictureSettingsView x:Name="pictureSettingsView"></Views:PictureSettingsView>
+ </TabItem>
+ <TabItem Header="Video Filters" Name="filtersTab">
+ <Views:FiltersView></Views:FiltersView>
+ </TabItem>
+ <TabItem Header="Video" Name="videoTab">
+ <Views:VideoView></Views:VideoView>
+ </TabItem>
+ <TabItem Header="Audio" Name="audioTab">
+ <Views:AudioView></Views:AudioView>
+ </TabItem>
+ <TabItem Header="Chapters" Name="chaptersTab">
+ <Views:ChaptersView></Views:ChaptersView>
+ </TabItem>
+ <TabItem Header="Advanced" Name="advancedTab">
+ <Views:AdvancedView></Views:AdvancedView>
+ </TabItem>
+ </TabControl>
+
+ </StackPanel>
+
+ <!-- Presets -->
+ <StackPanel Margin="5,5,5,5" Orientation="Vertical">
+ <GroupBox Header="Presets" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <StackPanel Orientation="Vertical">
+ <TreeView ItemsSource="{Binding Presets}" Width="240" Height="460" >
+
+ </TreeView>
+
+ <StackPanel Orientation="Horizontal">
+ <Button Content="Add" Margin="5,5,5,5" />
+ <Button Content="Remove" Margin="5,5,5,5" />
+ <Button Content="Set Default" Margin="5,5,5,5" />
+ </StackPanel>
+ </StackPanel>
+ </GroupBox>
+ </StackPanel>
+
+ </StackPanel>
+
+ <!-- Status Bar -->
+ <StatusBar Grid.Row="6" Height="30" Grid.ColumnSpan="2" VerticalAlignment="Bottom">
+ <Label Content="{Binding Path=ProgramStatusLabel}" FontSize="10" VerticalAlignment="Center" />
+ </StatusBar>
+
+ </StackPanel>
+ </Grid>
+</Window>
diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml.cs b/win/CS/HandBrakeWPF/Views/MainView.xaml.cs
new file mode 100644
index 000000000..efb3e7d6e
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/MainView.xaml.cs
@@ -0,0 +1,23 @@
+/* MainView.xaml.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+namespace HandBrakeWPF.Views
+{
+ using System.Windows;
+
+ /// <summary>
+ /// Interaction logic for MainView.xaml
+ /// </summary>
+ public partial class MainView : Window
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="MainView"/> class.
+ /// </summary>
+ public MainView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
new file mode 100644
index 000000000..7573415b7
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
@@ -0,0 +1,8 @@
+<Window x:Class="HandBrakeWPF.Views.OptionsView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ Title="OptionsView" Height="300" Width="300">
+ <Grid>
+
+ </Grid>
+</Window>
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs b/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs
new file mode 100644
index 000000000..9d0fc947c
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace HandBrakeWPF.Views
+{
+ /// <summary>
+ /// Interaction logic for OptionsView.xaml
+ /// </summary>
+ public partial class OptionsView : Window
+ {
+ public OptionsView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/PreviewView.xaml b/win/CS/HandBrakeWPF/Views/PreviewView.xaml
new file mode 100644
index 000000000..e3bd0be52
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/PreviewView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.PreviewView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/PreviewView.xaml.cs b/win/CS/HandBrakeWPF/Views/PreviewView.xaml.cs
new file mode 100644
index 000000000..0bbf84b0a
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/PreviewView.xaml.cs
@@ -0,0 +1,15 @@
+namespace HandBrakeWPF.Views
+{
+ using System.Windows.Controls;
+
+ /// <summary>
+ /// Interaction logic for VideoView.xaml
+ /// </summary>
+ public partial class PreviewView : UserControl
+ {
+ public PreviewView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Views/QueueView.xaml b/win/CS/HandBrakeWPF/Views/QueueView.xaml
new file mode 100644
index 000000000..f3fae9b26
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/QueueView.xaml
@@ -0,0 +1,11 @@
+<UserControl x:Class="HandBrakeWPF.Views.QueueView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="300">
+ <Grid Background="Beige">
+
+ </Grid>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Views/QueueView.xaml.cs b/win/CS/HandBrakeWPF/Views/QueueView.xaml.cs
new file mode 100644
index 000000000..ae0743166
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Views/QueueView.xaml.cs
@@ -0,0 +1,15 @@
+namespace HandBrakeWPF.Views
+{
+ using System.Windows.Controls;
+
+ /// <summary>
+ /// Interaction logic for VideoView.xaml
+ /// </summary>
+ public partial class QueueView : UserControl
+ {
+ public QueueView()
+ {
+ InitializeComponent();
+ }
+ }
+}