summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsr55 <[email protected]>2012-06-30 17:37:25 +0000
committersr55 <[email protected]>2012-06-30 17:37:25 +0000
commit02b77f3bc692e0d059c29ea907393fda31a3790b (patch)
tree2ace8eeb52e34d1f181d834e2392f859d6751cb0 /win
parentca023df6b2119d7bf29ade5c07f644fdf2de8731 (diff)
WinGui: Assorted fixes.
- Implementation of CanBeBurned and CanBeForced on the subtitles panel. - Save updates to user presets from the Presets Options Menu. (Can use Add Preset to overwrite preset configuration instead also) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4800 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs60
-rw-r--r--win/CS/HandBrake.ApplicationServices/Services/PresetService.cs3
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs29
-rw-r--r--win/CS/HandBrakeWPF/Views/AudioView.xaml4
-rw-r--r--win/CS/HandBrakeWPF/Views/LogView.xaml30
-rw-r--r--win/CS/HandBrakeWPF/Views/LogView.xaml.cs26
-rw-r--r--win/CS/HandBrakeWPF/Views/MainView.xaml3
-rw-r--r--win/CS/HandBrakeWPF/Views/SubtitlesView.xaml2
8 files changed, 133 insertions, 24 deletions
diff --git a/win/CS/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs b/win/CS/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs
index 334d636d6..42161a52d 100644
--- a/win/CS/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs
+++ b/win/CS/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs
@@ -151,17 +151,6 @@ namespace HandBrake.ApplicationServices.Model.Encoding
}
/// <summary>
- /// Gets a value indicating whether this is an SRT subtitle.
- /// </summary>
- public bool IsSrtSubtitle
- {
- get
- {
- return this.SrtFileName != "-" && this.SrtFileName != null;
- }
- }
-
- /// <summary>
/// Gets or sets SourceTrack.
/// </summary>
public Subtitle SourceTrack
@@ -179,6 +168,9 @@ namespace HandBrake.ApplicationServices.Model.Encoding
{
this.Track = this.sourceTrack.ToString();
}
+
+ this.NotifyOfPropertyChange(() => this.CanBeBurned);
+ this.NotifyOfPropertyChange(() => this.CanBeForced);
}
}
@@ -231,5 +223,51 @@ namespace HandBrake.ApplicationServices.Model.Encoding
public string Track { get; set; }
#endregion
+
+ /// <summary>
+ /// Gets a value indicating whether CanForced.
+ /// </summary>
+ public bool CanBeForced
+ {
+ get
+ {
+ if (this.SourceTrack != null)
+ {
+ return this.SourceTrack.SubtitleType == SubtitleType.VobSub || this.SourceTrack.SubtitleType == SubtitleType.PGS
+ || this.SourceTrack.SubtitleType == SubtitleType.ForeignAudioSearch;
+ }
+
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// Gets a value indicating whether CanBeBurned.
+ /// </summary>
+ public bool CanBeBurned
+ {
+ get
+ {
+ if (this.SourceTrack != null)
+ {
+ return this.SourceTrack.SubtitleType == SubtitleType.VobSub || this.SourceTrack.SubtitleType == SubtitleType.PGS
+ || this.SourceTrack.SubtitleType == SubtitleType.ForeignAudioSearch || this.SourceTrack.SubtitleType == SubtitleType.SSA;
+ }
+
+ return false;
+ }
+ }
+
+
+ /// <summary>
+ /// Gets a value indicating whether this is an SRT subtitle.
+ /// </summary>
+ public bool IsSrtSubtitle
+ {
+ get
+ {
+ return this.SrtFileName != "-" && this.SrtFileName != null;
+ }
+ }
}
} \ No newline at end of file
diff --git a/win/CS/HandBrake.ApplicationServices/Services/PresetService.cs b/win/CS/HandBrake.ApplicationServices/Services/PresetService.cs
index bab41a9b8..8337ddd56 100644
--- a/win/CS/HandBrake.ApplicationServices/Services/PresetService.cs
+++ b/win/CS/HandBrake.ApplicationServices/Services/PresetService.cs
@@ -161,6 +161,9 @@ namespace HandBrake.ApplicationServices.Services
{
preset.Task = update.Task;
preset.UsePictureFilters = update.UsePictureFilters;
+ preset.PictureSettingsMode = update.PictureSettingsMode;
+ preset.Category = update.Category;
+ preset.Description = update.Description;
// Update the presets file
this.UpdatePresetFiles();
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
index 0e508a7a2..7596919eb 100644
--- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -1227,6 +1227,33 @@ namespace HandBrakeWPF.ViewModels
}
/// <summary>
+ /// Update a selected preset.
+ /// </summary>
+ public void PresetUpdate()
+ {
+ if (this.SelectedPreset == null)
+ {
+ this.errorService.ShowMessageBox(
+ "Please select a preset to update.", "No Preset selected", MessageBoxButton.OK, MessageBoxImage.Warning);
+
+ return;
+ }
+
+ if (this.SelectedPreset.IsBuildIn)
+ {
+ this.errorService.ShowMessageBox(
+ "You can not modify built in presets. Please select one of your own presets.", "No Preset selected", MessageBoxButton.OK, MessageBoxImage.Warning);
+ return;
+ }
+
+ this.SelectedPreset.Task = new EncodeTask(this.CurrentTask);
+ this.presetService.Update(this.SelectedPreset);
+
+ this.errorService.ShowMessageBox(
+ "The Preset has now been updated with your current settings.", "Preset Updated", MessageBoxButton.OK, MessageBoxImage.Information);
+ }
+
+ /// <summary>
/// Remove a Preset
/// </summary>
public void PresetRemove()
@@ -1475,6 +1502,8 @@ namespace HandBrakeWPF.ViewModels
{
MessageBox.Show("There is no new updates at this time.", "No Update Available", MessageBoxButton.OK, MessageBoxImage.Information);
}
+
+ this.ProgramStatusLabel = "Ready";
}
#endregion
diff --git a/win/CS/HandBrakeWPF/Views/AudioView.xaml b/win/CS/HandBrakeWPF/Views/AudioView.xaml
index ccc74e5cf..3741e3c07 100644
--- a/win/CS/HandBrakeWPF/Views/AudioView.xaml
+++ b/win/CS/HandBrakeWPF/Views/AudioView.xaml
@@ -116,7 +116,7 @@
<Grid Grid.Column="1" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" MaxWidth="300" />
+ <ColumnDefinition Width="*" MaxWidth="160" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
@@ -141,7 +141,7 @@
Text="Source" />
<ComboBox Grid.Column="1"
Height="22"
- MaxWidth="300"
+ MaxWidth="150"
Margin="5,0,5,0"
HorizontalAlignment="Stretch"
ItemsSource="{Binding DataContext.SourceTracks,
diff --git a/win/CS/HandBrakeWPF/Views/LogView.xaml b/win/CS/HandBrakeWPF/Views/LogView.xaml
index 1d67ceae4..ec47ad556 100644
--- a/win/CS/HandBrakeWPF/Views/LogView.xaml
+++ b/win/CS/HandBrakeWPF/Views/LogView.xaml
@@ -14,7 +14,25 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
- <ToolBar Grid.Row="0">
+ <ToolBar Grid.Row="0"
+ ToolBar.OverflowMode="Never"
+ ToolBarTray.IsLocked="True"
+ Loaded="ToolBarLoaded"
+ >
+
+
+ <TextBlock Margin="10,0,10,0"
+ VerticalAlignment="Center"
+ FontWeight="Bold"
+ Text="Choose Log:" />
+ <ComboBox Width="100"
+ HorizontalAlignment="Right"
+ ItemsSource="{Binding LogModes}"
+ SelectedIndex="{Binding SelectedMode}"
+ />
+
+ <Separator />
+
<Button cal:Message.Attach="[Event Click] = [Action CopyLog]">
<StackPanel Orientation="Horizontal">
<Image Width="16" Source="Images/copy.png" />
@@ -28,16 +46,6 @@
</StackPanel>
</Button>
- <Separator />
-
- <TextBlock Margin="10,0,10,0"
- VerticalAlignment="Center"
- FontWeight="Bold"
- Text="Choose Log:" />
- <ComboBox Width="100"
- HorizontalAlignment="Right"
- ItemsSource="{Binding LogModes}"
- SelectedIndex="{Binding SelectedMode}" />
</ToolBar>
<TextBox Grid.Row="1"
diff --git a/win/CS/HandBrakeWPF/Views/LogView.xaml.cs b/win/CS/HandBrakeWPF/Views/LogView.xaml.cs
index 79a8986a9..d0bdaf0ee 100644
--- a/win/CS/HandBrakeWPF/Views/LogView.xaml.cs
+++ b/win/CS/HandBrakeWPF/Views/LogView.xaml.cs
@@ -10,15 +10,41 @@
namespace HandBrakeWPF.Views
{
using System.Windows;
+ using System.Windows.Controls;
/// <summary>
/// Interaction logic for LogView.xaml
/// </summary>
public partial class LogView : Window
{
+ /// <summary>
+ /// Initializes a new instance of the <see cref="LogView"/> class.
+ /// </summary>
public LogView()
{
InitializeComponent();
}
+
+ /// <summary>
+ /// Hide the Toolbar Endplate.
+ /// </summary>
+ /// <param name="sender">
+ /// The sender.
+ /// </param>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ private void ToolBarLoaded(object sender, RoutedEventArgs e)
+ {
+ ToolBar toolBar = sender as ToolBar;
+ if (toolBar != null)
+ {
+ var overflowGrid = toolBar.Template.FindName("OverflowGrid", toolBar) as FrameworkElement;
+ if (overflowGrid != null)
+ {
+ overflowGrid.Visibility = Visibility.Collapsed;
+ }
+ }
+ }
}
}
diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml b/win/CS/HandBrakeWPF/Views/MainView.xaml
index 1d00b3cf4..9efcf6dd7 100644
--- a/win/CS/HandBrakeWPF/Views/MainView.xaml
+++ b/win/CS/HandBrakeWPF/Views/MainView.xaml
@@ -530,6 +530,7 @@
SelectedItem="{Binding SelectedPreset, Mode=TwoWay}" BorderThickness="0,0,0,1"
BorderBrush="LightGray"
>
+
<ListBox.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource ContainerStyle}"/>
</ListBox.GroupStyle>
@@ -600,6 +601,8 @@
</MenuItem.Header>
<MenuItem Header="Set Default" Micro:Message.Attach="[Event Click] = [Action PresetSetDefault]" />
<Separator />
+ <MenuItem Header="Update Selected Preset" Micro:Message.Attach="[Event Click] = [Action PresetUpdate]" />
+ <Separator />
<MenuItem Header="Import" Micro:Message.Attach="[Event Click] = [Action PresetImport]" />
<MenuItem Header="Export" Micro:Message.Attach="[Event Click] = [Action PresetExport]" />
<Separator />
diff --git a/win/CS/HandBrakeWPF/Views/SubtitlesView.xaml b/win/CS/HandBrakeWPF/Views/SubtitlesView.xaml
index 93f0ba7c5..d5a37afa6 100644
--- a/win/CS/HandBrakeWPF/Views/SubtitlesView.xaml
+++ b/win/CS/HandBrakeWPF/Views/SubtitlesView.xaml
@@ -134,6 +134,7 @@
<CheckBox Grid.Column="3"
Margin="5,0,5,0"
VerticalAlignment="Center"
+ IsEnabled="{Binding CanBeForced}"
IsChecked="{Binding Forced}"
Visibility="{Binding IsSrtSubtitle,
Converter={StaticResource booleanToVisConverter},
@@ -149,6 +150,7 @@
Margin="5,0,5,0"
VerticalAlignment="Center"
IsChecked="{Binding Burned}"
+ IsEnabled="{Binding CanBeBurned}"
Visibility="{Binding IsSrtSubtitle,
Converter={StaticResource booleanToVisConverter},
ConverterParameter=true}">