summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/CS/HandBrakeWPF/Controls/Loading.xaml106
-rw-r--r--win/CS/HandBrakeWPF/Controls/Loading.xaml.cs157
-rw-r--r--win/CS/HandBrakeWPF/Controls/StatusPanel.xaml28
-rw-r--r--win/CS/HandBrakeWPF/Controls/StatusPanel.xaml.cs73
-rw-r--r--win/CS/HandBrakeWPF/HandBrakeWPF.csproj14
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs29
-rw-r--r--win/CS/HandBrakeWPF/Views/MainView.xaml517
7 files changed, 670 insertions, 254 deletions
diff --git a/win/CS/HandBrakeWPF/Controls/Loading.xaml b/win/CS/HandBrakeWPF/Controls/Loading.xaml
new file mode 100644
index 000000000..4df223108
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Controls/Loading.xaml
@@ -0,0 +1,106 @@
+<UserControl x:Class="HandBrakeWPF.Controls.Loading"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ Background="Transparent"
+ Height="45"
+ Width="45">
+
+ <Viewbox Width="40" Height="40" HorizontalAlignment="Center" VerticalAlignment="Center">
+ <Grid Background="Transparent" HorizontalAlignment="Center" VerticalAlignment="Center">
+ <Canvas RenderTransformOrigin="0.5,0.5"
+ HorizontalAlignment="Center"
+ VerticalAlignment="Center"
+ Width="120"
+ Height="120"
+ Loaded="CanvasLoaded"
+ Unloaded="CanvasUnloaded">
+
+ <Ellipse x:Name="circle0"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="1.0" />
+
+ <Ellipse x:Name="circle1"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.9" />
+
+ <Ellipse x:Name="circle2"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.8" />
+
+ <Ellipse x:Name="circle3"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.7" />
+
+ <Ellipse x:Name="circle4"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.6" />
+
+ <Ellipse x:Name="circle5"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.5" />
+
+ <Ellipse x:Name="circle6"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.4" />
+
+ <Ellipse x:Name="circle7"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.3" />
+
+ <Ellipse x:Name="circle8"
+ Width="20"
+ Height="20"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Stretch="Fill"
+ Fill="DarkOrange"
+ Opacity="0.2" />
+
+ <Canvas.RenderTransform>
+ <RotateTransform x:Name="rotate" Angle="0" />
+ </Canvas.RenderTransform>
+ </Canvas>
+ </Grid>
+ </Viewbox>
+</UserControl>
+
diff --git a/win/CS/HandBrakeWPF/Controls/Loading.xaml.cs b/win/CS/HandBrakeWPF/Controls/Loading.xaml.cs
new file mode 100644
index 000000000..102788492
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Controls/Loading.xaml.cs
@@ -0,0 +1,157 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="Loading.xaml.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Interaction logic for Loading.xaml
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Controls
+{
+ using System.Windows.Threading;
+ using System;
+ using System.Windows;
+ using System.Windows.Controls;
+
+ /// <summary>
+ /// Interaction logic for Loading.xaml
+ /// </summary>
+ public partial class Loading : UserControl
+ {
+ #region Fields
+
+ /// <summary>
+ /// Step
+ /// </summary>
+ private const double Step = Math.PI * 2 / 10.0;
+
+ /// <summary>
+ /// Timer for the spinning effect.
+ /// </summary>
+ private readonly DispatcherTimer timer;
+
+ #endregion
+
+ #region Constructors
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="Loading"/> class.
+ /// </summary>
+ public Loading()
+ {
+ InitializeComponent();
+
+ IsVisibleChanged += OnVisibleChanged;
+
+ this.timer = new DispatcherTimer(DispatcherPriority.ContextIdle, Dispatcher)
+ {
+ Interval = new TimeSpan(0, 0, 0, 0, 75)
+ };
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Sets the position.
+ /// </summary>
+ /// <param name="ellipse">The ellipse.</param>
+ /// <param name="offset">The offset.</param>
+ /// <param name="posOffSet">The pos off set.</param>
+ /// <param name="step">The step to change.</param>
+ private static void SetPosition(DependencyObject ellipse, double offset, double posOffSet, double step)
+ {
+ ellipse.SetValue(Canvas.LeftProperty, 50 + (Math.Sin(offset + (posOffSet * step)) * 50));
+ ellipse.SetValue(Canvas.TopProperty, 50 + (Math.Cos(offset + (posOffSet * step)) * 50));
+ }
+
+ /// <summary>
+ /// Starts this instance.
+ /// </summary>
+ private void Start()
+ {
+ this.timer.Tick += this.OnTick;
+ this.timer.Start();
+ }
+
+ /// <summary>
+ /// Stops this instance.
+ /// </summary>
+ private void Stop()
+ {
+ this.timer.Stop();
+ this.timer.Tick -= this.OnTick;
+ }
+
+ /// <summary>
+ /// Run the Animation
+ /// </summary>
+ /// <param name="sender">
+ /// The sender.
+ /// </param>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ private void OnTick(object sender, EventArgs e)
+ {
+ this.rotate.Angle = (this.rotate.Angle + 36) % 360;
+ }
+
+ /// <summary>
+ /// Start and Stop the effect when the visibility changes
+ /// </summary>
+ /// <param name="sender">
+ /// The sender.
+ /// </param>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ private void OnVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
+ {
+ if ((bool)e.NewValue)
+ {
+ Start();
+ }
+ else
+ {
+ Stop();
+ }
+ }
+
+ /// <summary>
+ /// Setup the Canvas
+ /// </summary>
+ /// <param name="sender">
+ /// The sender.
+ /// </param>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ private void CanvasLoaded(object sender, RoutedEventArgs e)
+ {
+ SetPosition(this.circle0, Math.PI, 0.0, Step);
+ SetPosition(this.circle1, Math.PI, 1.0, Step);
+ SetPosition(this.circle2, Math.PI, 2.0, Step);
+ SetPosition(this.circle3, Math.PI, 3.0, Step);
+ SetPosition(this.circle4, Math.PI, 4.0, Step);
+ SetPosition(this.circle5, Math.PI, 5.0, Step);
+ SetPosition(this.circle6, Math.PI, 6.0, Step);
+ SetPosition(this.circle7, Math.PI, 7.0, Step);
+ SetPosition(this.circle8, Math.PI, 8.0, Step);
+ }
+
+ /// <summary>
+ /// Stop when we unload this canvas
+ /// </summary>
+ /// <param name="sender">
+ /// The sender.
+ /// </param>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ private void CanvasUnloaded(object sender, RoutedEventArgs e)
+ {
+ Stop();
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/Controls/StatusPanel.xaml b/win/CS/HandBrakeWPF/Controls/StatusPanel.xaml
new file mode 100644
index 000000000..481c2eedb
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Controls/StatusPanel.xaml
@@ -0,0 +1,28 @@
+<UserControl x:Class="HandBrakeWPF.Controls.StatusPanel"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:ctr="clr-namespace:HandBrakeWPF.Controls">
+
+ <UserControl.Resources>
+ <BooleanToVisibilityConverter x:Key="boolTovisibility" />
+ </UserControl.Resources>
+
+ <DockPanel Background="Black" Opacity="0.85"
+ Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}},
+ Path=IsLoading, Mode=OneWay, Converter={StaticResource boolTovisibility}}">
+
+ <ctr:Loading DockPanel.Dock="Left" HorizontalAlignment="Left" VerticalAlignment="Top"
+ Height="45" Margin="18,10" />
+
+ <StackPanel VerticalAlignment="Top">
+ <TextBlock SnapsToDevicePixels="True" VerticalAlignment="Top" FontSize="16" Margin="0,11,0,0" HorizontalAlignment="Left"
+ FontWeight="Bold"
+ Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=Message}"
+ Foreground="LightBlue" />
+
+ <TextBlock SnapsToDevicePixels="True" VerticalAlignment="Top" FontSize="12" Margin="0,5" HorizontalAlignment="Left"
+ Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=SubMessage}"
+ Foreground="LightBlue" />
+ </StackPanel>
+ </DockPanel>
+</UserControl>
diff --git a/win/CS/HandBrakeWPF/Controls/StatusPanel.xaml.cs b/win/CS/HandBrakeWPF/Controls/StatusPanel.xaml.cs
new file mode 100644
index 000000000..92ca002d5
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Controls/StatusPanel.xaml.cs
@@ -0,0 +1,73 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="StatusPanel.xaml.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Interaction logic for StatusPanel.xaml
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Controls
+{
+ using System.Windows;
+ using System.Windows.Controls;
+
+ /// <summary>
+ /// Interaction logic for StatusPanel.xaml
+ /// </summary>
+ public partial class StatusPanel : UserControl
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="StatusPanel"/> class.
+ /// </summary>
+ public StatusPanel()
+ {
+ InitializeComponent();
+ }
+
+ /// <summary>
+ /// Dependancy Property for the IsLoading Property
+ /// </summary>
+ public static readonly DependencyProperty IsLoadingProperty =
+ DependencyProperty.Register("IsLoading", typeof(bool), typeof(StatusPanel), new UIPropertyMetadata(false));
+
+ /// <summary>
+ /// Dependancy Property for the Message Property
+ /// </summary>
+ public static readonly DependencyProperty MessageProperty =
+ DependencyProperty.Register("Message", typeof(string), typeof(StatusPanel), new UIPropertyMetadata(string.Empty));
+
+ /// <summary>
+ /// Dependancy Property for the submessage propery
+ /// </summary>
+ public static readonly DependencyProperty SubMessageProperty =
+ DependencyProperty.Register("SubMessage", typeof(string), typeof(StatusPanel), new UIPropertyMetadata(string.Empty));
+
+ /// <summary>
+ /// Gets or sets a value indicating whether IsLoading.
+ /// </summary>
+ public bool IsLoading
+ {
+ get { return (bool)GetValue(IsLoadingProperty); }
+ set { SetValue(IsLoadingProperty, value); }
+ }
+
+ /// <summary>
+ /// Gets or sets Message.
+ /// </summary>
+ public string Message
+ {
+ get { return (string)GetValue(MessageProperty); }
+ set { SetValue(MessageProperty, value); }
+ }
+
+ /// <summary>
+ /// Gets or sets SubMessage.
+ /// </summary>
+ public string SubMessage
+ {
+ get { return (string)GetValue(SubMessageProperty); }
+ set { SetValue(SubMessageProperty, value); }
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
index c263e1552..adeee6d40 100644
--- a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
+++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
@@ -110,6 +110,12 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
+ <Compile Include="Controls\Loading.xaml.cs">
+ <DependentUpon>Loading.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Controls\StatusPanel.xaml.cs">
+ <DependentUpon>StatusPanel.xaml</DependentUpon>
+ </Compile>
<Compile Include="Converters\Audio\AudioBitrateConverter.cs" />
<Compile Include="Converters\Audio\AudioEncoderConverter.cs" />
<Compile Include="Converters\BooleanToHiddenVisibilityConverter.cs" />
@@ -255,6 +261,14 @@
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
+ <Page Include="Controls\Loading.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Controls\StatusPanel.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
<Page Include="Views\TitleSpecificView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
index 80b56edea..9feef3555 100644
--- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -124,6 +124,11 @@ namespace HandBrakeWPF.ViewModels
private bool isEncoding;
/// <summary>
+ /// An Indicated to show the status window
+ /// </summary>
+ private bool showStatusWindow;
+
+ /// <summary>
/// Backing field for the selected preset.
/// </summary>
private Preset selectedPreset;
@@ -529,7 +534,24 @@ namespace HandBrakeWPF.ViewModels
set
{
this.isEncoding = value;
- this.NotifyOfPropertyChange("IsEncoding");
+ this.NotifyOfPropertyChange(() => this.IsEncoding);
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether ShowStatusWindow.
+ /// </summary>
+ public bool ShowStatusWindow
+ {
+ get
+ {
+ return this.showStatusWindow;
+ }
+
+ set
+ {
+ this.showStatusWindow = value;
+ this.NotifyOfPropertyChange(() => this.ShowStatusWindow);
}
}
@@ -1321,6 +1343,7 @@ namespace HandBrakeWPF.ViewModels
private void ScanStatusChanged(object sender, HandBrake.ApplicationServices.EventArgs.ScanProgressEventArgs e)
{
this.SourceLabel = "Scanning Title " + e.CurrentTitle + " of " + e.Titles;
+ this.StatusLabel = "Scanning Title " + e.CurrentTitle + " of " + e.Titles;
}
/// <summary>
@@ -1346,13 +1369,12 @@ namespace HandBrakeWPF.ViewModels
this.JobContextService.CurrentSource = this.ScannedSource;
this.JobContextService.CurrentTask = this.CurrentTask;
this.SetupTabs();
+ this.ShowStatusWindow = false;
}
this.SourceLabel = "Scan Completed";
this.StatusLabel = "Scan Completed";
});
-
- // TODO Re-enable GUI.
}
/// <summary>
@@ -1370,6 +1392,7 @@ namespace HandBrakeWPF.ViewModels
() =>
{
this.StatusLabel = "Scanning source, please wait...";
+ this.ShowStatusWindow = true;
});
// TODO - Disable relevant parts of the UI.
}
diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml b/win/CS/HandBrakeWPF/Views/MainView.xaml
index 425ff041b..d12fa847c 100644
--- a/win/CS/HandBrakeWPF/Views/MainView.xaml
+++ b/win/CS/HandBrakeWPF/Views/MainView.xaml
@@ -3,7 +3,8 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Data="clr-namespace:System.Windows.Data;assembly=PresentationFramework"
xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"
xmlns:Micro="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
- xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" Title="{Data:Binding Path=WindowTitle}" Width="1015"
+ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
+ xmlns:Controls="clr-namespace:HandBrakeWPF.Controls" Title="{Data:Binding Path=WindowTitle}" Width="1015"
FontSize="11" Background="#FFF0F0F0"
Micro:Message.Attach="[Event Loaded] = [Action Load]"
UseLayoutRounding="True" SizeToContent="Height"
@@ -65,318 +66,332 @@
<Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
</Window.Resources>
- <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" Micro:Message.Attach="[Event Click] = [Action CancelScan]" />
- <Separator />
- <MenuItem Header="Exit" Micro:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+
+ <!-- Menu and Taskbar-->
+ <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
+ Grid.Row="0">
+ <!-- Main Menu -->
+ <Menu Height="23" VerticalAlignment="Top" HorizontalAlignment="Stretch">
+ <MenuItem Header="File">
+ <MenuItem Header="Cancel Scan" Micro:Message.Attach="[Event Click] = [Action CancelScan]" />
+ <Separator />
+ <MenuItem Header="Exit" Micro:Message.Attach="[Event Click] = [Action ExitApplication]" />
+ </MenuItem>
+
+ <MenuItem Header="Tools">
+ <MenuItem Header="Show Queue" Micro:Message.Attach="[Event Click] = [Action OpenQueueWindow]" >
+ <MenuItem.Icon>
+ <Image Source="Images/Queue_Small.png" Width="16" />
+ </MenuItem.Icon>
</MenuItem>
-
- <MenuItem Header="Tools">
- <MenuItem Header="Show Queue" Micro:Message.Attach="[Event Click] = [Action OpenQueueWindow]" >
- <MenuItem.Icon>
- <Image Source="Images/Queue_Small.png" Width="16" />
- </MenuItem.Icon>
- </MenuItem>
- <MenuItem Header="Activity Window" Micro:Message.Attach="[Event Click] = [Action OpenLogWindow]" >
- <MenuItem.Icon>
- <Image Source="Images/Output_Small.png" Width="16" />
- </MenuItem.Icon>
- </MenuItem>
- <Separator />
- <MenuItem Header="Options" Micro:Message.Attach="[Event Click] = [Action OpenOptionsWindow]" >
- <MenuItem.Icon>
- <Image Source="Images/Pref_Small.png" Width="16" />
- </MenuItem.Icon>
- </MenuItem>
+ <MenuItem Header="Activity Window" Micro:Message.Attach="[Event Click] = [Action OpenLogWindow]" >
+ <MenuItem.Icon>
+ <Image Source="Images/Output_Small.png" Width="16" />
+ </MenuItem.Icon>
</MenuItem>
+ <Separator />
+ <MenuItem Header="Options" Micro:Message.Attach="[Event Click] = [Action OpenOptionsWindow]" >
+ <MenuItem.Icon>
+ <Image Source="Images/Pref_Small.png" Width="16" />
+ </MenuItem.Icon>
+ </MenuItem>
+ </MenuItem>
- <MenuItem Header="Help">
- <MenuItem Header="HandBrake User Guide (HTTP)" Micro:Message.Attach="[Event Click] = [Action LaunchHelp]" >
- <MenuItem.Icon>
- <Image Source="Images/Help16.png" Width="16" />
- </MenuItem.Icon>
- </MenuItem>
- <Separator />
- <MenuItem Header="Check for Updates" Micro:Message.Attach="[Event Click] = [Action CheckForUpdates]" />
- <Separator />
- <MenuItem Header="About..." Micro:Message.Attach="[Event Click] = [Action OpenAboutApplication]" />
+ <MenuItem Header="Help">
+ <MenuItem Header="HandBrake User Guide (HTTP)" Micro:Message.Attach="[Event Click] = [Action LaunchHelp]" >
+ <MenuItem.Icon>
+ <Image Source="Images/Help16.png" Width="16" />
+ </MenuItem.Icon>
</MenuItem>
+ <Separator />
+ <MenuItem Header="Check for Updates" Micro:Message.Attach="[Event Click] = [Action CheckForUpdates]" />
+ <Separator />
+ <MenuItem Header="About..." Micro:Message.Attach="[Event Click] = [Action OpenAboutApplication]" />
+ </MenuItem>
+
+ <MenuItem Header="Debug">
+ <MenuItem Header="Show CLI Equiv" Micro:Message.Attach="[Event Click] = [Action ShowCliQuery]" />
+ </MenuItem>
+ </Menu>
+
+ <!-- ToolBar -->
+ <ToolBar Name="mainToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SnapsToDevicePixels="False">
+ <Menu Background="Transparent" >
+ <MenuItem ItemsSource="{Binding SourceToolbarMenu}">
+ <MenuItem.Header>
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Movies.png" Height="32" Width="32" />
+ <Label Content="Source" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </MenuItem.Header>
- <MenuItem Header="Debug">
- <MenuItem Header="Show CLI Equiv" Micro:Message.Attach="[Event Click] = [Action ShowCliQuery]" />
</MenuItem>
</Menu>
- <!-- ToolBar -->
- <ToolBar Name="mainToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SnapsToDevicePixels="False">
- <Menu Background="Transparent" >
- <MenuItem ItemsSource="{Binding SourceToolbarMenu}">
- <MenuItem.Header>
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/Movies.png" Height="32" Width="32" />
- <Label Content="Source" Margin="8,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- </MenuItem.Header>
+ <Separator />
- </MenuItem>
- </Menu>
+ <Button Name="Start" Micro:Message.Attach="[Event Click] = [Action StartEncode]" Visibility="{Binding IsEncoding, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Play.png" Height="32" Width="32" />
+ <Label Content="Start" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
- <Separator />
+ <Button Name="Stop" Micro:Message.Attach="[Event Click] = [Action StopEncode]" Visibility="{Binding IsEncoding, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/stop.png" Height="32" Width="32" SnapsToDevicePixels="True" />
+ <Label Content="Stop" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
- <Button Name="Start" Micro:Message.Attach="[Event Click] = [Action StartEncode]" Visibility="{Binding IsEncoding, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}">
- <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="Stop" Micro:Message.Attach="[Event Click] = [Action StopEncode]" Visibility="{Binding IsEncoding, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}">
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/stop.png" Height="32" Width="32" SnapsToDevicePixels="True" />
- <Label Content="Stop" Margin="8,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- </Button>
-
- <Menu Background="Transparent">
- <MenuItem >
- <MenuItem.Header>
- <StackPanel Orientation="Horizontal">
- <Button Name="QueueDrop" Micro:Message.Attach="[Event Click] = [Action AddToQueue]"
+ <Menu Background="Transparent">
+ <MenuItem >
+ <MenuItem.Header>
+ <StackPanel Orientation="Horizontal">
+ <Button Name="QueueDrop" Micro:Message.Attach="[Event Click] = [Action AddToQueue]"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
Background="Transparent">
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/AddToQueue.png" Height="32" Width="32" SnapsToDevicePixels="True" />
- <Label Content="Add To Queue" Margin="8,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- <Button.Style>
- <Style TargetType="{x:Type Button}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Button}">
- <Border x:Name="border" SnapsToDevicePixels="True" Background="{TemplateBinding Background}">
- <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/AddToQueue.png" Height="32" Width="32" SnapsToDevicePixels="True" />
+ <Label Content="Add To Queue" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ <Button.Style>
+ <Style TargetType="{x:Type Button}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Border x:Name="border" SnapsToDevicePixels="True" Background="{TemplateBinding Background}">
+ <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"/>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="IsPressed" Value="True">
- <Setter Property="Background" TargetName="border" Value="#FF98B5E2"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </Button.Style>
- </Button>
-
- <Path Fill="{DynamicResource GlyphBrush}" Data="M 0 0 L 4 4 L 8 0 Z" Height="5" Margin="2,2,2,0"/>
- </StackPanel>
- </MenuItem.Header>
- <MenuItem Header="Add All" Micro:Message.Attach="[Event Click] = [Action AddAllToQueue]"/>
- </MenuItem>
- </Menu>
-
- <Button Name="ShowQueue" Micro:Message.Attach="[Event Click] = [Action OpenQueueWindow]">
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/Queue.png" Height="32" Width="32" SnapsToDevicePixels="True" />
- <Label Content="Show Queue" Margin="8,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- </Button>
+ </Border>
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsPressed" Value="True">
+ <Setter Property="Background" TargetName="border" Value="#FF98B5E2"/>
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </Button.Style>
+ </Button>
- <Separator />
+ <Path Fill="{DynamicResource GlyphBrush}" Data="M 0 0 L 4 4 L 8 0 Z" Height="5" Margin="2,2,2,0"/>
+ </StackPanel>
+ </MenuItem.Header>
+ <MenuItem Header="Add All" Micro:Message.Attach="[Event Click] = [Action AddAllToQueue]"/>
+ </MenuItem>
+ </Menu>
- <Button Name="Preview" Micro:Message.Attach="[Event Click] = [Action OpenPreviewWindow]">
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/window.png" Height="32" Width="32" SnapsToDevicePixels="True" />
- <Label Content="Preview" Margin="8,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- </Button>
-
- <Button Name="ActivityWindow" Micro:Message.Attach="[Event Click] = [Action OpenLogWindow]">
- <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>
+ <Button Name="ShowQueue" Micro:Message.Attach="[Event Click] = [Action OpenQueueWindow]">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Queue.png" Height="32" Width="32" SnapsToDevicePixels="True" />
+ <Label Content="Show Queue" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
+
+ <Separator />
+
+ <Button Name="Preview" Micro:Message.Attach="[Event Click] = [Action OpenPreviewWindow]">
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/window.png" Height="32" Width="32" SnapsToDevicePixels="True" />
+ <Label Content="Preview" Margin="8,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button>
- <!-- Main Body-->
- <StackPanel Orientation="Horizontal">
+ <Button Name="ActivityWindow" Micro:Message.Attach="[Event Click] = [Action OpenLogWindow]">
+ <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 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>
+ <!-- Main Body-->
+ <StackPanel Orientation="Horizontal" Grid.Row="1">
+
+ <!-- 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" ItemsSource="{Binding ScannedSource.Titles}" SelectedItem="{Binding Path=SelectedTitle}" />
+ <StackPanel Orientation="Horizontal">
+ <Label Content="Title" Margin="8,0,0,0" />
+ <ComboBox Name="Titles" Margin="8,0,0,0" MinWidth="100" ItemsSource="{Binding ScannedSource.Titles}" SelectedItem="{Binding Path=SelectedTitle}" />
- <Label Content="Angle" Margin="8,0,0,0" />
- <ComboBox Name="Angles" Margin="8,0,0,0" MinWidth="60" ItemsSource="{Binding Angles}" SelectedItem="{Binding SelectedAngle}"/>
+ <Label Content="Angle" Margin="8,0,0,0" />
+ <ComboBox Name="Angles" Margin="8,0,0,0" MinWidth="60" ItemsSource="{Binding Angles}" SelectedItem="{Binding SelectedAngle}"/>
- <ComboBox Name="PointToPointMode" Margin="8,0,0,0" MinWidth="80" ItemsSource="{Binding RangeMode}" SelectedItem="{Binding SelectedPointToPoint}" />
+ <ComboBox Name="PointToPointMode" Margin="8,0,0,0" MinWidth="80" ItemsSource="{Binding RangeMode}" SelectedItem="{Binding SelectedPointToPoint}" />
- <ComboBox Name="StartPoint" Margin="8,0,0,0" MinWidth="60" ItemsSource="{Binding StartEndRangeItems}" SelectedItem="{Binding SelectedStartPoint}"
+ <ComboBox Name="StartPoint" Margin="8,0,0,0" MinWidth="60" ItemsSource="{Binding StartEndRangeItems}" SelectedItem="{Binding SelectedStartPoint}"
Visibility="{Binding ShowTextEntryForPointToPointMode,Converter={StaticResource boolToVisConverter}, ConverterParameter=true}"/>
- <TextBox Name="StartPointText" Margin="8,0,0,0" MinWidth="60" Text="{Binding SelectedStartPoint}"
+ <TextBox Name="StartPointText" Margin="8,0,0,0" MinWidth="60" Text="{Binding SelectedStartPoint}"
Visibility="{Binding ShowTextEntryForPointToPointMode, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}"/>
- <Label Content="through" Margin="8,0,0,0" />
- <ComboBox Name="EndPoint" Margin="8,0,0,0" MinWidth="60" ItemsSource="{Binding StartEndRangeItems}" SelectedItem="{Binding SelectedEndPoint}"
+ <Label Content="through" Margin="8,0,0,0" />
+ <ComboBox Name="EndPoint" Margin="8,0,0,0" MinWidth="60" ItemsSource="{Binding StartEndRangeItems}" SelectedItem="{Binding SelectedEndPoint}"
Visibility="{Binding ShowTextEntryForPointToPointMode, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}"/>
- <TextBox Name="EndPointText" Margin="8,0,0,0" MinWidth="60" Text="{Binding SelectedEndPoint}"
+ <TextBox Name="EndPointText" Margin="8,0,0,0" MinWidth="60" Text="{Binding SelectedEndPoint}"
Visibility="{Binding ShowTextEntryForPointToPointMode, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
- <Label Content="Duration" Margin="8,0,0,0" />
- <Label Content="{Binding Duration}" Margin="8,0,0,0" />
- </StackPanel>
+ <Label Content="Duration" Margin="8,0,0,0" />
+ <Label Content="{Binding Duration}" 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="{Binding CurrentTask.Destination}" />
- <Button Name="DestinationBrowser" Margin="8,0,0,0" Content="Browse" Micro:Message.Attach="[Event Click] = [Action BrowseDestination]" />
- </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="{Binding CurrentTask.Destination}" />
+ <Button Name="DestinationBrowser" Margin="8,0,0,0" Content="Browse" Micro:Message.Attach="[Event Click] = [Action BrowseDestination]" />
</StackPanel>
+ </StackPanel>
- <!-- Output Options -->
- <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">
- <Label Content="Output Settings" FontWeight="Bold" />
- <StackPanel Orientation="Horizontal">
- <Label Content="Container" Margin="8,0,0,0" />
- <ComboBox Name="Container" Margin="8,0,0,0" MinWidth="100" ItemsSource="{Binding OutputFormats}" SelectedItem="{Binding SelectedOutputFormat}" />
+ <!-- Output Options -->
+ <StackPanel Margin="10,5,10,5" MaxWidth="725" Width="725" HorizontalAlignment="Left">
+ <Label Content="Output Settings" FontWeight="Bold" />
+ <StackPanel Orientation="Horizontal">
+ <Label Content="Container" Margin="8,0,0,0" />
+ <ComboBox Name="Container" Margin="8,0,0,0" MinWidth="100" ItemsSource="{Binding OutputFormats}" SelectedItem="{Binding SelectedOutputFormat}" />
- <CheckBox Name="LargeFileMp4" Content="Large File Size" IsChecked="{Binding Path=CurrentTask.LargeFile}"
+ <CheckBox Name="LargeFileMp4" Content="Large File Size" IsChecked="{Binding Path=CurrentTask.LargeFile}"
Visibility="{Binding IsMkv, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" VerticalAlignment="Center" Margin="8,0,0,0" />
- <CheckBox Name="WebOptimized" Content="Web Optimized" IsChecked="{Binding Path=CurrentTask.OptimizeMP4}"
+ <CheckBox Name="WebOptimized" Content="Web Optimized" IsChecked="{Binding Path=CurrentTask.OptimizeMP4}"
Visibility="{Binding IsMkv, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" VerticalAlignment="Center" Margin="8,0,0,0" />
- <CheckBox Name="iPod5G" Content="iPod 5G Support" IsChecked="{Binding Path=CurrentTask.IPod5GSupport}"
+ <CheckBox Name="iPod5G" Content="iPod 5G Support" IsChecked="{Binding Path=CurrentTask.IPod5GSupport}"
Visibility="{Binding IsMkv, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" VerticalAlignment="Center" Margin="8,0,0,0" />
- </StackPanel>
</StackPanel>
+ </StackPanel>
- <!-- Tab Control -->
- <TabControl HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="725" Height="310" Margin="10,10,10,10" Name="tabControl" >
- <TabItem Header="Picture" Name="pictureTab">
- <ContentControl x:Name="PictureSettingsViewModel" ></ContentControl>
- </TabItem>
- <TabItem Header="Video Filters" Name="filtersTab">
- <ContentControl x:Name="FiltersViewModel" ></ContentControl>
- </TabItem>
- <TabItem Header="Video" Name="videoTab">
- <ContentControl x:Name="VideoViewModel" ></ContentControl>
- </TabItem>
- <TabItem Header="Audio" Name="audioTab">
- <ContentControl x:Name="AudioViewModel" ></ContentControl>
- </TabItem>
- <TabItem Header="Subtitles" Name="subtitlesTab">
- <ContentControl x:Name="SubtitleViewModel"></ContentControl>
- </TabItem>
- <TabItem Header="Chapters" Name="chaptersTab">
- <ContentControl x:Name="ChaptersViewModel"></ContentControl>
- </TabItem>
- <TabItem Header="Advanced" Name="advancedTab">
- <ContentControl x:Name="AdvancedViewModel"></ContentControl>
- </TabItem>
- </TabControl>
+ <!-- Tab Control -->
+ <TabControl HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="725" Height="310" Margin="10,10,10,10" Name="tabControl" >
+ <TabItem Header="Picture" Name="pictureTab">
+ <ContentControl x:Name="PictureSettingsViewModel" ></ContentControl>
+ </TabItem>
+ <TabItem Header="Video Filters" Name="filtersTab">
+ <ContentControl x:Name="FiltersViewModel" ></ContentControl>
+ </TabItem>
+ <TabItem Header="Video" Name="videoTab">
+ <ContentControl x:Name="VideoViewModel" ></ContentControl>
+ </TabItem>
+ <TabItem Header="Audio" Name="audioTab">
+ <ContentControl x:Name="AudioViewModel" ></ContentControl>
+ </TabItem>
+ <TabItem Header="Subtitles" Name="subtitlesTab">
+ <ContentControl x:Name="SubtitleViewModel"></ContentControl>
+ </TabItem>
+ <TabItem Header="Chapters" Name="chaptersTab">
+ <ContentControl x:Name="ChaptersViewModel"></ContentControl>
+ </TabItem>
+ <TabItem Header="Advanced" Name="advancedTab">
+ <ContentControl x:Name="AdvancedViewModel"></ContentControl>
+ </TabItem>
+ </TabControl>
- </StackPanel>
+ </StackPanel>
- <!-- Presets -->
- <StackPanel Margin="5,5,5,5" Orientation="Vertical">
- <GroupBox Header="Presets" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
- <StackPanel Orientation="Vertical">
+ <!-- Presets -->
+ <StackPanel Margin="5,5,5,5" Orientation="Vertical">
+ <GroupBox Header="Presets" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <StackPanel Orientation="Vertical">
- <TreeView ItemsSource="{Binding Source={StaticResource presetsCvs}, Path=Groups}"
+ <TreeView ItemsSource="{Binding Source={StaticResource presetsCvs}, Path=Groups}"
ItemTemplate="{StaticResource presetsCategoryTemplate}" Width="240" Height="430"
>
- <i:Interaction.Triggers>
- <i:EventTrigger EventName="SelectedItemChanged">
- <Micro:ActionMessage MethodName="SetSelectedPreset">
- <Micro:Parameter Value="$eventArgs"></Micro:Parameter>
- </Micro:ActionMessage>
- </i:EventTrigger>
- </i:Interaction.Triggers>
+ <i:Interaction.Triggers>
+ <i:EventTrigger EventName="SelectedItemChanged">
+ <Micro:ActionMessage MethodName="SetSelectedPreset">
+ <Micro:Parameter Value="$eventArgs"></Micro:Parameter>
+ </Micro:ActionMessage>
+ </i:EventTrigger>
+ </i:Interaction.Triggers>
- </TreeView>
+ </TreeView>
- <ToolBar Name="presetsToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" UseLayoutRounding="False" Background="Transparent"
+ <ToolBar Name="presetsToolBar" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" UseLayoutRounding="False" Background="Transparent"
SnapsToDevicePixels="False">
- <Button Micro:Message.Attach="[Event Click] = [Action PresetAdd]">
- <Button.Content>
+ <Button Micro:Message.Attach="[Event Click] = [Action PresetAdd]">
+ <Button.Content>
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Add16.png" Height="16" Width="16" />
+ <TextBlock Text="Add" Style="{StaticResource textBlockOrangeStyle}" Margin="2,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button.Content>
+ </Button>
+
+ <Button Micro:Message.Attach="[Event Click] = [Action PresetRemove]">
+ <Button.Content>
+ <StackPanel Orientation="Horizontal">
+ <Image Source="Images/Close.png" Height="16" Width="16" />
+ <TextBlock Text="Remove" Style="{StaticResource textBlockOrangeStyle}" Margin="2,0,0,0" VerticalAlignment="Center" />
+ </StackPanel>
+ </Button.Content>
+ </Button>
+
+ <Menu Background="Transparent" >
+ <MenuItem ToolBar.OverflowMode="Never">
+ <MenuItem.Header>
<StackPanel Orientation="Horizontal">
- <Image Source="Images/Add16.png" Height="16" Width="16" />
- <TextBlock Text="Add" Style="{StaticResource textBlockOrangeStyle}" Margin="2,0,0,0" VerticalAlignment="Center" />
+ <Image Source="Images/Options24.png" Height="16" Width="16" />
+ <TextBlock Text="Options" Style="{StaticResource textBlockOrangeStyle}" Margin="2,0,0,0" VerticalAlignment="Center" />
</StackPanel>
- </Button.Content>
- </Button>
+ </MenuItem.Header>
- <Button Micro:Message.Attach="[Event Click] = [Action PresetRemove]">
- <Button.Content>
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/Close.png" Height="16" Width="16" />
- <TextBlock Text="Remove" Style="{StaticResource textBlockOrangeStyle}" Margin="2,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- </Button.Content>
- </Button>
+ <MenuItem Header="Set Default" Micro:Message.Attach="[Event Click] = [Action PresetSetDefault]" />
+ <Separator />
+ <MenuItem Header="Import" Micro:Message.Attach="[Event Click] = [Action PresetImport]" />
+ <MenuItem Header="Export" Micro:Message.Attach="[Event Click] = [Action PresetExport]" />
+ <Separator />
+ <MenuItem Header="Reset Built-in Presets" Micro:Message.Attach="[Event Click] = [Action PresetReset]" />
+ </MenuItem>
+ </Menu>
- <Menu Background="Transparent" >
- <MenuItem ToolBar.OverflowMode="Never">
- <MenuItem.Header>
- <StackPanel Orientation="Horizontal">
- <Image Source="Images/Options24.png" Height="16" Width="16" />
- <TextBlock Text="Options" Style="{StaticResource textBlockOrangeStyle}" Margin="2,0,0,0" VerticalAlignment="Center" />
- </StackPanel>
- </MenuItem.Header>
-
- <MenuItem Header="Set Default" Micro:Message.Attach="[Event Click] = [Action PresetSetDefault]" />
- <Separator />
- <MenuItem Header="Import" Micro:Message.Attach="[Event Click] = [Action PresetImport]" />
- <MenuItem Header="Export" Micro:Message.Attach="[Event Click] = [Action PresetExport]" />
- <Separator />
- <MenuItem Header="Reset Built-in Presets" Micro:Message.Attach="[Event Click] = [Action PresetReset]" />
- </MenuItem>
- </Menu>
-
-
- </ToolBar>
- </StackPanel>
- </GroupBox>
- </StackPanel>
+ </ToolBar>
+ </StackPanel>
+ </GroupBox>
</StackPanel>
- <!-- Status Bar -->
- <StatusBar Padding="0" Margin="0" Grid.Row="6" Height="32" Grid.ColumnSpan="2" VerticalAlignment="Bottom" >
- <Label Content="{Binding Path=StatusLabel}" FontSize="11" Padding="0,0,0,5" VerticalAlignment="Center" />
+ </StackPanel>
- <Button Content="BETA WPF UI RELEASE NOTES" Micro:Message.Attach="[Event Click] = [Action ShowReleaseNotes]"
+ <Controls:StatusPanel x:Name="loadingPanel"
+ Panel.ZIndex="10"
+ Grid.Row="1"
+ Grid.RowSpan="2"
+ Height="70"
+ VerticalAlignment="Bottom"
+ IsLoading="{Binding ShowStatusWindow}"
+ Message="{Binding StatusLabel}"
+ SubMessage="Please Wait ..." />
+
+ <!-- Status Bar -->
+ <StatusBar Padding="0" Margin="0" Grid.Row="2" Height="32" Grid.ColumnSpan="2" VerticalAlignment="Bottom" >
+ <Label Content="{Binding Path=StatusLabel}" FontSize="11" Padding="0,0,0,5" VerticalAlignment="Center" />
+
+ <Button Content="BETA WPF UI RELEASE NOTES" Micro:Message.Attach="[Event Click] = [Action ShowReleaseNotes]"
FontWeight="Bold" Foreground="Blue" Padding="0,0,0,5" FontSize="11"
/>
- </StatusBar>
-
- </StackPanel>
+ </StatusBar>
</Grid>
</Window>