summaryrefslogtreecommitdiffstats
path: root/win/C#/HandBrakeWPF/Views/MainView.xaml
blob: 496afc4eeb19b492250ea8a926fab09d1a3eebe8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
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>