OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / HandBrakeWPF / Views / MainView.xaml
index 493cb35..828a28c 100644 (file)
 <Window x:Class="HandBrakeWPF.Views.MainView"\r
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\r
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\r
-        Title="{Binding Path=WindowTitle}" Height="645" Width="1015" FontSize="11">\r
-    \r
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" \r
+        xmlns:PresentationFramework="clr-namespace:Caliburn.PresentationFramework;assembly=Caliburn.PresentationFramework" \r
+        xmlns:Views="clr-namespace:HandBrakeWPF.Views"\r
+        xmlns:Data="clr-namespace:System.Windows.Data;assembly=PresentationFramework" \r
+        Title="{Data:Binding Path=WindowTitle}" Height="655" Width="1015" FontSize="11">\r
+\r
     <Grid>\r
-        <Grid.RowDefinitions>\r
-            <RowDefinition Height="Auto" />\r
-            <RowDefinition Height="Auto" />\r
-            <RowDefinition Height="Auto" />\r
-            <RowDefinition Height="Auto" />\r
-            <RowDefinition Height="Auto" />\r
-            <RowDefinition Height="Auto" />\r
-            <RowDefinition Height="*" />\r
-            <RowDefinition Height="Auto" />\r
-        </Grid.RowDefinitions>\r
-        \r
-        <!-- Main Menu -->\r
-        <Menu Height="23" Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Stretch">\r
-            <MenuItem Header="File">\r
-                <MenuItem Header="Cancel Scan" />\r
-                <MenuItem Header="Exit" />\r
-            </MenuItem>\r
-\r
-            <MenuItem Header="Tools">\r
-                <MenuItem Header="Show Queue" />\r
-                <MenuItem Header="Activity Window" />\r
-            </MenuItem>\r
-\r
-            <MenuItem Header="Presets">\r
-                <MenuItem Header="Reset Built-in Presets" />\r
-                <MenuItem Header="Delete Built-in Presets" />\r
-                <Separator />\r
-                <MenuItem Header="Save As New Preset" />\r
-                <MenuItem Header="Import" />\r
-                <MenuItem Header="Export" />\r
-                <MenuItem Header="Set as Default" />\r
-            </MenuItem>\r
-\r
-            <MenuItem Header="Help">\r
-                <MenuItem Header="HandBrake User Guide" />\r
-                <Separator />\r
-                <MenuItem Header="Check for Updates" />\r
-                <Separator />\r
-                <MenuItem Header="About..." />\r
-            </MenuItem>\r
-        </Menu>\r
-        \r
-        <!-- ToolBar -->\r
-        <ToolBar Grid.Row="1" Name="mainToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  SnapsToDevicePixels="False">\r
-\r
-            <Button Name="Source">\r
-                <StackPanel Orientation="Horizontal">\r
-                    <Image Source="Images/Movies.png" Height="32" Width="32" />\r
-                    <Label Content="Source"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
-                </StackPanel>\r
-            </Button>\r
-            \r
-            <Separator />\r
-            \r
-            <Button Name="Start">\r
-                <StackPanel Orientation="Horizontal">\r
-                    <Image Source="Images/Play.png" Height="32" Width="32" />\r
-                    <Label Content="Start"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
-                </StackPanel>\r
-            </Button>\r
-            <Button Name="AddToQueue">\r
-                <StackPanel Orientation="Horizontal">\r
-                    <Image Source="Images/AddToQueue.png" Height="32" Width="32" />\r
-                    <Label Content="Add To Queue"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
-                </StackPanel>\r
-            </Button>\r
+        <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">\r
+            <!-- Menu and Taskbar-->\r
+            <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">\r
+                <!-- Main Menu -->\r
+                <Menu Height="23" VerticalAlignment="Top" HorizontalAlignment="Stretch">\r
+                    <MenuItem Header="File">\r
+                        <MenuItem Header="Cancel Scan" />\r
+                        <MenuItem Header="Exit" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                    </MenuItem>\r
 \r
-            <Button Name="ShowQueue">\r
-                <StackPanel Orientation="Horizontal">\r
-                    <Image Source="Images/Queue.png" Height="32" Width="32" />\r
-                    <Label Content="Show Queue"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
-                </StackPanel>\r
-            </Button>\r
+                    <MenuItem Header="Tools">\r
+                        <MenuItem Header="Show Queue" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <MenuItem Header="Activity Window" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                    </MenuItem>\r
 \r
-            <Separator />\r
-            \r
-            <Button Name="Preview">\r
-                <StackPanel Orientation="Horizontal">\r
-                    <Image Source="Images/window.png" Height="32" Width="32" />\r
-                    <Label Content="Preview"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
-                </StackPanel>\r
-            </Button>\r
-            <Button Name="ActivityWindow">\r
-                <StackPanel Orientation="Horizontal">\r
-                    <Image Source="Images/ActivityWindow.png" Height="32" Width="32" />\r
-                    <Label Content="Activity Window"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
-                </StackPanel>\r
-            </Button>\r
-        </ToolBar>\r
\r
-        <!-- Source -->\r
-        <StackPanel Grid.Row="2" Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">\r
-            <StackPanel Orientation="Horizontal">\r
-                <Label Content="Source" FontWeight="Bold" />\r
-                <Label Content="Select 'Source' to continue" />\r
+                    <MenuItem Header="Presets">\r
+                        <MenuItem Header="Reset Built-in Presets" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <MenuItem Header="Delete Built-in Presets" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <Separator />\r
+                        <MenuItem Header="Save As New Preset" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <MenuItem Header="Import" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <MenuItem Header="Export" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <MenuItem Header="Set as Default" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                    </MenuItem>\r
+\r
+                    <MenuItem Header="Help">\r
+                        <MenuItem Header="HandBrake User Guide" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <Separator />\r
+                        <MenuItem Header="Check for Updates" PresentationFramework:Message.Attach="[Event Click] = [Action ExitApplication]" />\r
+                        <Separator />\r
+                        <MenuItem Header="About..." PresentationFramework:Message.Attach="[Event Click] = [Action AboutApplication]" />\r
+                    </MenuItem>\r
+                </Menu>\r
+\r
+                <!-- ToolBar -->\r
+                <ToolBar Name="mainToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  SnapsToDevicePixels="False">\r
+\r
+                    <Button Name="Source">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Image Source="Images/Movies.png" Height="32" Width="32" />\r
+                            <Label Content="Source"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
+                        </StackPanel>\r
+                    </Button>\r
+\r
+                    <Separator />\r
+\r
+                    <Button Name="Start">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Image Source="Images/Play.png" Height="32" Width="32" />\r
+                            <Label Content="Start"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
+                        </StackPanel>\r
+                    </Button>\r
+                    <Button Name="AddToQueue">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Image Source="Images/AddToQueue.png" Height="32" Width="32" />\r
+                            <Label Content="Add To Queue"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
+                        </StackPanel>\r
+                    </Button>\r
+\r
+                    <Button Name="ShowQueue">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Image Source="Images/Queue.png" Height="32" Width="32" />\r
+                            <Label Content="Show Queue"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
+                        </StackPanel>\r
+                    </Button>\r
+\r
+                    <Separator />\r
+\r
+                    <Button Name="Preview">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Image Source="Images/window.png" Height="32" Width="32" />\r
+                            <Label Content="Preview"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
+                        </StackPanel>\r
+                    </Button>\r
+                    <Button Name="ActivityWindow">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Image Source="Images/ActivityWindow.png" Height="32" Width="32" />\r
+                            <Label Content="Activity Window"  Margin="8,0,0,0" VerticalAlignment="Center" />\r
+                        </StackPanel>\r
+                    </Button>\r
+                </ToolBar>\r
             </StackPanel>\r
             \r
+            <!-- Main Body-->\r
             <StackPanel Orientation="Horizontal">\r
-                <Label Content="Title" Margin="8,0,0,0" />\r
-                <ComboBox Name="Titles" Margin="8,0,0,0" MinWidth="100" />\r
-\r
-                <Label Content="Angle" Margin="8,0,0,0" />\r
-                <ComboBox Name="Angles" Margin="8,0,0,0" MinWidth="60"/>\r
-\r
-                <ComboBox Name="PointToPointMode" Margin="8,0,0,0" MinWidth="80" />\r
-                <ComboBox Name="StartPoint" Margin="8,0,0,0" MinWidth="60" />\r
-                <Label Content="through" Margin="8,0,0,0" />\r
-                <ComboBox Name="EndPoint" Margin="8,0,0,0" MinWidth="60" />\r
-                <Label Content="Duration" Margin="8,0,0,0" />\r
-                <Label Content="--:--:--" Margin="8,0,0,0" />\r
-            </StackPanel>\r
-        </StackPanel>\r
-        \r
-        <!-- Destination -->\r
-        <StackPanel Grid.Row="3" Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">\r
-            <Label Content="Destination" FontWeight="Bold" />\r
-            <StackPanel Orientation="Horizontal">\r
-                <Label Content="File" Margin="8,0,0,0" />\r
-                <TextBox Name="Destination" Margin="8,0,0,0" Width="600" />\r
-                <Button Name="DestinationBrowser" Margin="8,0,0,0" Padding="8,0,8,0" Content="Browse" />\r
-            </StackPanel>\r
-        </StackPanel>\r
+                \r
+                <!-- Main Controls-->\r
+                <StackPanel Orientation="Vertical">\r
+                    <!-- Source -->\r
+                    <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Label Content="Source" FontWeight="Bold" />\r
+                            <Label Content="{Binding Path=SourceLabel}" />\r
+                        </StackPanel>\r
 \r
-        <!-- Output Options -->\r
-        <StackPanel Grid.Row="4" Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">\r
-            <Label Content="Output Settings (Preset: None)" FontWeight="Bold" />\r
-            <StackPanel Orientation="Horizontal">\r
-                <Label Content="Container" Margin="8,0,0,0" />\r
-                <ComboBox Name="Container" Margin="8,0,0,0" MinWidth="100" />\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Label Content="Title" Margin="8,0,0,0" />\r
+                            <ComboBox Name="Titles" Margin="8,0,0,0" MinWidth="100" SelectedItem="{Binding Path=CurrentTask.Title}" />\r
 \r
-                <CheckBox Name="LargeFileMp4" Content="Large File Size" VerticalAlignment="Center" Margin="8,0,0,0" />\r
-                <CheckBox Name="WebOptimized" Content="Web Optimized" VerticalAlignment="Center" Margin="8,0,0,0" />\r
-                <CheckBox Name="iPod5G" Content="iPod 5G Support" VerticalAlignment="Center" Margin="8,0,0,0" />\r
-            </StackPanel>\r
-        </StackPanel>\r
+                            <Label Content="Angle" Margin="8,0,0,0" />\r
+                            <ComboBox Name="Angles" Margin="8,0,0,0" MinWidth="60"  SelectedItem="{Binding Path=CurrentTask.Angle}"/>\r
+\r
+                            <ComboBox Name="PointToPointMode" Margin="8,0,0,0" MinWidth="80" SelectedItem="{Binding Path=CurrentTask.PointToPointMode}" />\r
+                            <ComboBox Name="StartPoint" Margin="8,0,0,0" MinWidth="60" SelectedItem="{Binding Path=CurrentTask.StartPoint}" />\r
+                            <Label Content="through" Margin="8,0,0,0" />\r
+                            <ComboBox Name="EndPoint" Margin="8,0,0,0" MinWidth="60" SelectedItem="{Binding Path=CurrentTask.EndPoint}" />\r
+                            <Label Content="Duration" Margin="8,0,0,0" />\r
+                            <Label Content="--:--:--" Margin="8,0,0,0" />\r
+                        </StackPanel>\r
+                    </StackPanel>\r
+\r
+                    <!-- Destination -->\r
+                    <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">\r
+                        <Label Content="Destination" FontWeight="Bold" />\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Label Content="File" Margin="8,0,0,0" />\r
+                            <TextBox Name="Destination" Margin="8,0,0,0" Width="600" Text="{}" />\r
+                            <Button Name="DestinationBrowser" Margin="8,0,0,0" Padding="8,0,8,0" Content="Browse" />\r
+                        </StackPanel>\r
+                    </StackPanel>\r
+\r
+                    <!-- Output Options -->\r
+                    <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">\r
+                        <Label Content="Output Settings (Preset: None)" FontWeight="Bold" />\r
+                        <StackPanel Orientation="Horizontal">\r
+                            <Label Content="Container" Margin="8,0,0,0" />\r
+                            <ComboBox Name="Container" Margin="8,0,0,0" MinWidth="100" SelectedItem="{Binding Path=CurrentTask.OutputFormat}" />\r
 \r
-        <!-- Tab Control -->\r
-        <TabControl HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="725" Height="330" Grid.Row="5" Margin="10,10,10,10" Name="tabControl" >\r
-            <TabItem Header="Picture" Name="pictureTab">\r
-                <Grid />\r
-            </TabItem>\r
-            <TabItem Header="Video Filters" Name="filtersTab">\r
-                <Grid />\r
-            </TabItem>\r
-            <TabItem Header="Video" Name="videoTab">\r
-                <Grid />\r
-            </TabItem>\r
-            <TabItem Header="Audio" Name="audioTab">\r
-                <Grid />\r
-            </TabItem>\r
-            <TabItem Header="Chapters" Name="chaptersTab">\r
-                <Grid />\r
-            </TabItem>\r
-            <TabItem Header="Advanced" Name="advancedTab">\r
-                <Grid />\r
-            </TabItem>\r
-        </TabControl>\r
-        \r
-        <!-- Status Bar -->\r
-        <StatusBar Grid.Row="6" Height="30" VerticalAlignment="Bottom">\r
-            <Label Content="Ready" FontSize="11" />\r
-        </StatusBar>\r
-        \r
+                            <CheckBox Name="LargeFileMp4" Content="Large File Size" IsChecked="{Binding Path=CurrentTask.LargeFile}" VerticalAlignment="Center" Margin="8,0,0,0" />\r
+                            <CheckBox Name="WebOptimized" Content="Web Optimized" IsChecked="{Binding Path=CurrentTask.OptimizeMP4}" VerticalAlignment="Center" Margin="8,0,0,0" />\r
+                            <CheckBox Name="iPod5G" Content="iPod 5G Support" IsChecked="{Binding Path=CurrentTask.IPod5GSupport}" VerticalAlignment="Center" Margin="8,0,0,0" />\r
+                        </StackPanel>\r
+                    </StackPanel>\r
+\r
+                    <!-- Tab Control -->\r
+                    <TabControl HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="725" Height="330" Margin="10,10,10,10" Name="tabControl" >\r
+                        <TabItem Header="Picture" Name="pictureTab">\r
+                            <Views:PictureSettingsView x:Name="pictureSettingsView"></Views:PictureSettingsView>\r
+                        </TabItem>\r
+                        <TabItem Header="Video Filters" Name="filtersTab">\r
+                            <Views:FiltersView></Views:FiltersView>\r
+                        </TabItem>\r
+                        <TabItem Header="Video" Name="videoTab">\r
+                            <Views:VideoView></Views:VideoView>\r
+                        </TabItem>\r
+                        <TabItem Header="Audio" Name="audioTab">\r
+                            <Views:AudioView></Views:AudioView>\r
+                        </TabItem>\r
+                        <TabItem Header="Chapters" Name="chaptersTab">\r
+                            <Views:ChaptersView></Views:ChaptersView>\r
+                        </TabItem>\r
+                        <TabItem Header="Advanced" Name="advancedTab">\r
+                            <Views:AdvancedView></Views:AdvancedView>\r
+                        </TabItem>\r
+                    </TabControl>\r
+\r
+                </StackPanel>\r
+\r
+                <!-- Presets -->\r
+                <StackPanel Margin="5,5,5,5" Orientation="Vertical">\r
+                    <GroupBox Header="Presets" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">\r
+                        <StackPanel Orientation="Vertical">\r
+                            <TreeView ItemsSource="{Binding Presets}" Width="240" Height="460" >\r
+\r
+                            </TreeView>\r
+\r
+                            <StackPanel Orientation="Horizontal">\r
+                                <Button Content="Add" Margin="5,5,5,5" />\r
+                                <Button Content="Remove" Margin="5,5,5,5" />\r
+                                <Button Content="Set Default" Margin="5,5,5,5" />\r
+                            </StackPanel>\r
+                        </StackPanel>\r
+                    </GroupBox>\r
+                </StackPanel>\r
+\r
+            </StackPanel>      \r
+  \r
+            <!-- Status Bar -->\r
+            <StatusBar Grid.Row="6" Height="30" Grid.ColumnSpan="2" VerticalAlignment="Bottom">\r
+                <Label Content="{Binding Path=ProgramStatusLabel}" FontSize="10" VerticalAlignment="Center" />\r
+            </StatusBar>\r
+\r
+        </StackPanel>\r
     </Grid>\r
 </Window>\r