summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsr55 <[email protected]>2019-04-25 14:22:07 +0100
committersr55 <[email protected]>2019-04-25 14:22:07 +0100
commit23118c76a3cbc3fd810a41cdcbffb685d82e1f9b (patch)
tree157d00034d7a9ad4d3d544c5f0f8ab1d76a6f85c /win
parent5de6f54d2e86281a9de5acf3924c045d8dc420e7 (diff)
WinGui: Refactor the Filters View Model. Each filter will now have it's own ViewModel Item to simplify the code. (Sharpen Filter)
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrakeWPF/Converters/Filters/SharpenPresetConverter.cs2
-rw-r--r--win/CS/HandBrakeWPF/HandBrakeWPF.csproj2
-rw-r--r--win/CS/HandBrakeWPF/ViewModelItems/Filters/SharpenItem.cs204
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/FiltersViewModel.cs131
-rw-r--r--win/CS/HandBrakeWPF/Views/FiltersView.xaml24
5 files changed, 233 insertions, 130 deletions
diff --git a/win/CS/HandBrakeWPF/Converters/Filters/SharpenPresetConverter.cs b/win/CS/HandBrakeWPF/Converters/Filters/SharpenPresetConverter.cs
index 5e8c4f37b..c794c5348 100644
--- a/win/CS/HandBrakeWPF/Converters/Filters/SharpenPresetConverter.cs
+++ b/win/CS/HandBrakeWPF/Converters/Filters/SharpenPresetConverter.cs
@@ -34,6 +34,7 @@ namespace HandBrakeWPF.Converters.Filters
{
presets.Add(new FilterPreset(preset));
}
+
return presets;
}
else if (selectedSharpen == Sharpen.UnSharp)
@@ -43,6 +44,7 @@ namespace HandBrakeWPF.Converters.Filters
{
presets.Add(new FilterPreset(preset));
}
+
return presets;
}
}
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
index 310f9cc68..c813a6e92 100644
--- a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
+++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
@@ -272,6 +272,7 @@
<Compile Include="Utilities\UwpDetect.cs" />
<Compile Include="Utilities\Win32.cs" />
<Compile Include="Utilities\Win7.cs" />
+ <Compile Include="ViewModelItems\Filters\SharpenItem.cs" />
<Compile Include="ViewModels\Interfaces\IManagePresetViewModel.cs" />
<Compile Include="ViewModels\Interfaces\ISummaryViewModel.cs" />
<Compile Include="ViewModels\ManagePresetViewModel.cs" />
@@ -716,6 +717,7 @@
<ItemGroup>
<Resource Include="Views\Images\close64_dark.png" />
</ItemGroup>
+ <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<TargetFrameworkSDKToolsDirectory Condition=" '$(Platform)' == 'x64'">$(TargetFrameworkSDKToolsDirectory)$(Platform)\</TargetFrameworkSDKToolsDirectory>
diff --git a/win/CS/HandBrakeWPF/ViewModelItems/Filters/SharpenItem.cs b/win/CS/HandBrakeWPF/ViewModelItems/Filters/SharpenItem.cs
new file mode 100644
index 000000000..c682135f8
--- /dev/null
+++ b/win/CS/HandBrakeWPF/ViewModelItems/Filters/SharpenItem.cs
@@ -0,0 +1,204 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="SharpenItem.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>
+// Defines the SharpenItem type.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.ViewModelItems.Filters
+{
+ using System.Collections.Generic;
+ using System.Linq;
+
+ using Caliburn.Micro;
+
+ using HandBrake.Interop.Interop;
+ using HandBrake.Interop.Interop.HbLib;
+ using HandBrake.Interop.Interop.Model.Encoding;
+
+ using HandBrakeWPF.Model.Filters;
+ using HandBrakeWPF.Services.Encode.Model;
+ using HandBrakeWPF.Services.Presets.Model;
+ using HandBrakeWPF.Services.Scan.Model;
+ using HandBrakeWPF.Utilities;
+
+ using Action = System.Action;
+
+ public class SharpenItem : PropertyChangedBase
+ {
+ private readonly Action triggerTabChanged;
+
+ public SharpenItem(EncodeTask currentTask, Action triggerTabChanged)
+ {
+ this.triggerTabChanged = triggerTabChanged;
+ this.CurrentTask = currentTask;
+ }
+
+ public EncodeTask CurrentTask { get; private set; }
+
+ public Sharpen SelectedSharpen
+ {
+ get
+ {
+ return this.CurrentTask.Sharpen;
+ }
+
+ set
+ {
+ if (value == this.CurrentTask.Sharpen) return;
+ this.CurrentTask.Sharpen = value;
+ this.NotifyOfPropertyChange(() => this.SelectedSharpen);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenOptions);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenTune);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenCustom);
+
+ // Default preset and tune.
+ switch (value)
+ {
+ case Sharpen.LapSharp:
+ if (this.SelectedSharpenPreset == null)
+ this.SelectedSharpenPreset = new FilterPreset(
+ HandBrakeFilterHelpers.GetFilterPresets((int)hb_filter_ids.HB_FILTER_LAPSHARP)
+ .FirstOrDefault(s => s.ShortName == "medium"));
+ if (this.SelectedSharpenTune == null)
+ this.SelectedSharpenTune = new FilterTune(
+ HandBrakeFilterHelpers.GetFilterTunes((int)hb_filter_ids.HB_FILTER_LAPSHARP)
+ .FirstOrDefault(s => s.ShortName == "none"));
+ break;
+ case Sharpen.UnSharp:
+ if (this.SelectedSharpenPreset == null)
+ this.SelectedSharpenPreset = new FilterPreset(
+ HandBrakeFilterHelpers.GetFilterPresets((int)hb_filter_ids.HB_FILTER_UNSHARP)
+ .FirstOrDefault(s => s.ShortName == "medium"));
+ if (this.SelectedSharpenTune == null)
+ this.SelectedSharpenTune = new FilterTune(
+ HandBrakeFilterHelpers.GetFilterTunes((int)hb_filter_ids.HB_FILTER_UNSHARP)
+ .FirstOrDefault(s => s.ShortName == "none"));
+ break;
+ }
+
+ this.NotifyOfPropertyChange(() => this.SelectedSharpenTune);
+ this.NotifyOfPropertyChange(() => this.SelectedSharpenPreset);
+ this.triggerTabChanged();
+ }
+ }
+
+ public FilterPreset SelectedSharpenPreset
+ {
+ get
+ {
+ return this.CurrentTask.SharpenPreset;
+ }
+
+ set
+ {
+ if (Equals(value, this.CurrentTask.SharpenPreset)) return;
+ this.CurrentTask.SharpenPreset = value;
+ this.NotifyOfPropertyChange(() => this.SelectedSharpenPreset);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenTune);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenCustom);
+ this.triggerTabChanged();
+ }
+ }
+
+ public FilterTune SelectedSharpenTune
+ {
+ get
+ {
+ return this.CurrentTask.SharpenTune;
+ }
+
+ set
+ {
+ if (value == this.CurrentTask.SharpenTune) return;
+ this.CurrentTask.SharpenTune = value;
+ this.NotifyOfPropertyChange(() => this.SelectedSharpenTune);
+ this.triggerTabChanged();
+ }
+ }
+
+ public IEnumerable<Sharpen> SharpenOptions
+ {
+ get
+ {
+ return EnumHelper<Sharpen>.GetEnumList();
+ }
+ }
+
+ public object SharpenPresets { get; set; }
+
+ public object SharpenTunes { get; set; }
+
+ public string CustomSharpen
+ {
+ get
+ {
+ return this.CurrentTask.SharpenCustom;
+ }
+
+ set
+ {
+ if (value == this.CurrentTask.SharpenCustom) return;
+ this.CurrentTask.SharpenCustom = value;
+ this.NotifyOfPropertyChange(() => this.CustomSharpen);
+ this.triggerTabChanged();
+ }
+ }
+
+ public bool ShowSharpenTune =>
+ this.SelectedSharpenPreset != null && this.SelectedSharpenPreset.DisplayName != "Custom";
+
+ public bool ShowSharpenCustom =>
+ this.SelectedSharpenPreset != null && this.SelectedSharpenPreset.DisplayName == "Custom";
+
+ public bool ShowSharpenOptions => this.SelectedSharpen != Sharpen.Off;
+
+ public void SetPreset(Preset preset, EncodeTask task)
+ {
+ this.CurrentTask = task;
+ this.SelectedSharpen = preset.Task.Sharpen;
+ this.SelectedSharpenPreset = preset.Task.SharpenPreset;
+ this.SelectedSharpenTune = preset.Task.SharpenTune;
+ this.CustomSharpen = preset.Task.SharpenCustom;
+ }
+
+ public void UpdateTask(EncodeTask task)
+ {
+ this.CurrentTask = task;
+ this.NotifyOfPropertyChange(() => this.SelectedSharpen);
+ this.NotifyOfPropertyChange(() => this.SelectedSharpenPreset);
+ this.NotifyOfPropertyChange(() => this.SelectedSharpenTune);
+ this.NotifyOfPropertyChange(() => this.CustomSharpen);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenCustom);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenOptions);
+ this.NotifyOfPropertyChange(() => this.ShowSharpenTune);
+ }
+
+ public void SetSource(Source source, Title title, Preset preset, EncodeTask task)
+ {
+ this.CurrentTask = task;
+ }
+
+ public bool MatchesPreset(Preset preset)
+ {
+ if (preset.Task.Sharpen != this.SelectedSharpen)
+ {
+ return false;
+ }
+
+ if (this.SelectedSharpen != Sharpen.Off && !Equals(preset.Task.SharpenPreset, this.SelectedSharpenPreset))
+ {
+ return false;
+ }
+
+ if (this.SelectedSharpen != Sharpen.Off && !Equals(preset.Task.SharpenTune, this.SelectedSharpenTune))
+ {
+ return false;
+ }
+
+ return true;
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/ViewModels/FiltersViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/FiltersViewModel.cs
index 8d2c47e87..16a9a5e5c 100644
--- a/win/CS/HandBrakeWPF/ViewModels/FiltersViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/FiltersViewModel.cs
@@ -27,6 +27,7 @@ namespace HandBrakeWPF.ViewModels
using HandBrakeWPF.Services.Presets.Model;
using HandBrakeWPF.Services.Scan.Model;
using HandBrakeWPF.Utilities;
+ using HandBrakeWPF.ViewModelItems.Filters;
using HandBrakeWPF.ViewModels.Interfaces;
using DenoisePreset = HandBrakeWPF.Services.Encode.Model.Models.DenoisePreset;
@@ -56,6 +57,8 @@ namespace HandBrakeWPF.ViewModels
this.CurrentTask = new EncodeTask();
this.DeblockValue = 4; // OFF
this.SelectedDeinterlaceFilter = DeinterlaceFilter.Off;
+
+ this.SharpenFilter = new SharpenItem(this.CurrentTask, () => this.OnTabStatusChanged(null));
}
#endregion
@@ -445,6 +448,8 @@ namespace HandBrakeWPF.ViewModels
public bool ShowDenoiseCustom => this.CurrentTask.DenoisePreset == DenoisePreset.Custom;
+ public SharpenItem SharpenFilter { get; set; }
+
#endregion
/// <summary>
@@ -502,98 +507,6 @@ namespace HandBrakeWPF.ViewModels
public object SharpenTunes { get; set; }
- public Sharpen SelectedSharpen
- {
- get
- {
- return this.CurrentTask.Sharpen;
- }
-
- set
- {
- if (value == this.CurrentTask.Sharpen) return;
- this.CurrentTask.Sharpen = value;
- this.NotifyOfPropertyChange(() => this.SelectedSharpen);
- this.NotifyOfPropertyChange(() => this.ShowSharpenOptions);
- this.NotifyOfPropertyChange(() => this.ShowSharpenTune);
- this.NotifyOfPropertyChange(() => this.ShowSharpenCustom);
-
- // Default preset and tune.
- switch (value)
- {
- case Sharpen.LapSharp:
- if (this.SelectedSharpenPreset == null)
- this.SelectedSharpenPreset = new FilterPreset(HandBrakeFilterHelpers.GetFilterPresets((int)hb_filter_ids.HB_FILTER_LAPSHARP).FirstOrDefault(s => s.ShortName == "medium"));
- if (this.SelectedSharpenTune == null)
- this.SelectedSharpenTune = new FilterTune(HandBrakeFilterHelpers.GetFilterTunes((int)hb_filter_ids.HB_FILTER_LAPSHARP).FirstOrDefault(s => s.ShortName == "none"));
- break;
- case Sharpen.UnSharp:
- if (this.SelectedSharpenPreset == null)
- this.SelectedSharpenPreset = new FilterPreset(HandBrakeFilterHelpers.GetFilterPresets((int)hb_filter_ids.HB_FILTER_UNSHARP).FirstOrDefault(s => s.ShortName == "medium"));
- if (this.SelectedSharpenTune == null)
- this.SelectedSharpenTune = new FilterTune(HandBrakeFilterHelpers.GetFilterTunes((int)hb_filter_ids.HB_FILTER_UNSHARP).FirstOrDefault(s => s.ShortName == "none"));
- break;
- }
-
- this.NotifyOfPropertyChange(() => this.SelectedSharpenTune);
- this.NotifyOfPropertyChange(() => this.SelectedSharpenPreset);
- this.OnTabStatusChanged(null);
- }
- }
-
- public FilterPreset SelectedSharpenPreset
- {
- get
- {
- return this.CurrentTask.SharpenPreset;
- }
- set
- {
- if (Equals(value, this.CurrentTask.SharpenPreset)) return;
- this.CurrentTask.SharpenPreset = value;
- this.NotifyOfPropertyChange(() => this.SelectedSharpenPreset);
- this.NotifyOfPropertyChange(() => this.ShowSharpenTune);
- this.NotifyOfPropertyChange(() => this.ShowSharpenCustom);
- this.OnTabStatusChanged(null);
- }
- }
-
- public FilterTune SelectedSharpenTune
- {
- get
- {
- return this.CurrentTask.SharpenTune;
- }
- set
- {
- if (value == this.CurrentTask.SharpenTune) return;
- this.CurrentTask.SharpenTune = value;
- this.NotifyOfPropertyChange(() => this.SelectedSharpenTune);
- this.OnTabStatusChanged(null);
- }
- }
-
- public string CustomSharpen
- {
- get
- {
- return this.CurrentTask.SharpenCustom;
- }
- set
- {
- if (value == this.CurrentTask.SharpenCustom) return;
- this.CurrentTask.SharpenCustom = value;
- this.NotifyOfPropertyChange(() => this.CustomSharpen);
- this.OnTabStatusChanged(null);
- }
- }
-
- public bool ShowSharpenTune => this.SelectedSharpenPreset != null && this.SelectedSharpenPreset.DisplayName != "Custom";
-
- public bool ShowSharpenCustom => this.SelectedSharpenPreset != null && this.SelectedSharpenPreset.DisplayName == "Custom";
-
- public bool ShowSharpenOptions => this.SelectedSharpen != Sharpen.Off;
-
#endregion
#endregion
@@ -630,11 +543,8 @@ namespace HandBrakeWPF.ViewModels
this.SelectedDenoiseTune = preset.Task.DenoiseTune;
// Sharpen
- this.SelectedSharpen = preset.Task.Sharpen;
- this.SelectedSharpenPreset = preset.Task.SharpenPreset;
- this.SelectedSharpenTune = preset.Task.SharpenTune;
- this.CustomSharpen = preset.Task.SharpenCustom;
-
+ this.SharpenFilter.SetPreset(preset, task);
+
// Custom Values
this.CustomDeinterlaceSettings = preset.Task.CustomDeinterlaceSettings;
this.CustomCombDetect = preset.Task.CustomCombDetect;
@@ -674,9 +584,6 @@ namespace HandBrakeWPF.ViewModels
this.NotifyOfPropertyChange(() => this.SelectedDetelecine);
this.NotifyOfPropertyChange(() => this.Grayscale);
this.NotifyOfPropertyChange(() => this.DeblockValue);
- this.NotifyOfPropertyChange(() => this.SelectedSharpen);
- this.NotifyOfPropertyChange(() => this.SelectedSharpenPreset);
- this.NotifyOfPropertyChange(() => this.SelectedSharpenTune);
this.NotifyOfPropertyChange(() => this.SelectedCombDetectPreset);
this.NotifyOfPropertyChange(() => this.SelectedDenoisePreset);
this.NotifyOfPropertyChange(() => this.SelectedDenoiseTune);
@@ -686,19 +593,16 @@ namespace HandBrakeWPF.ViewModels
this.NotifyOfPropertyChange(() => this.CustomDeinterlaceSettings);
this.NotifyOfPropertyChange(() => this.CustomDetelecine);
this.NotifyOfPropertyChange(() => this.CustomDenoise);
- this.NotifyOfPropertyChange(() => this.CustomSharpen);
this.NotifyOfPropertyChange(() => this.CustomCombDetect);
-
this.NotifyOfPropertyChange(() => this.ShowDenoiseOptions);
this.NotifyOfPropertyChange(() => this.ShowDenoiseCustom);
this.NotifyOfPropertyChange(() => this.ShowDenoiseTune);
this.NotifyOfPropertyChange(() => this.ShowCustomDeinterlace);
this.NotifyOfPropertyChange(() => this.ShowCombDetectCustom);
- this.NotifyOfPropertyChange(() => this.ShowDetelecineCustom);
- this.NotifyOfPropertyChange(() => this.ShowSharpenCustom);
- this.NotifyOfPropertyChange(() => this.ShowSharpenOptions);
- this.NotifyOfPropertyChange(() => this.ShowSharpenTune);
+ this.NotifyOfPropertyChange(() => this.ShowDetelecineCustom);
+
+ this.SharpenFilter.UpdateTask(task);
}
public bool MatchesPreset(Preset preset)
@@ -753,21 +657,11 @@ namespace HandBrakeWPF.ViewModels
return false;
}
- if (preset.Task.Sharpen != this.SelectedSharpen)
- {
- return false;
- }
-
- if (this.SelectedSharpen != Sharpen.Off && !Equals(preset.Task.SharpenPreset, this.SelectedSharpenPreset))
- {
- return false;
- }
-
- if (this.SelectedSharpen != Sharpen.Off && !Equals(preset.Task.SharpenTune, this.SelectedSharpenTune))
+ if (!this.SharpenFilter.MatchesPreset(preset))
{
return false;
}
-
+
int presetDeblock = preset.Task.Deblock == 0 ? 4 : preset.Task.Deblock;
if (presetDeblock != this.DeblockValue)
@@ -811,6 +705,7 @@ namespace HandBrakeWPF.ViewModels
public void SetSource(Source source, Title title, Preset preset, EncodeTask task)
{
this.CurrentTask = task;
+ this.SharpenFilter.SetSource(source, title, preset, task);
}
#endregion
diff --git a/win/CS/HandBrakeWPF/Views/FiltersView.xaml b/win/CS/HandBrakeWPF/Views/FiltersView.xaml
index 24730338b..1833567b4 100644
--- a/win/CS/HandBrakeWPF/Views/FiltersView.xaml
+++ b/win/CS/HandBrakeWPF/Views/FiltersView.xaml
@@ -129,42 +129,42 @@
<!-- Sharpen -->
<TextBlock Text="{x:Static Properties:Resources.FiltersView_Sharpen}" Grid.Row="4" Grid.Column="0" Margin="0,0,0,10"/>
- <ComboBox Width="120" Grid.Row="4" ItemsSource="{Binding SharpenOptions, Converter={StaticResource boolComboConverter}}"
- SelectedItem="{Binding SelectedSharpen, Converter={StaticResource boolComboConverter}}" Grid.Column="1"
+ <ComboBox Width="120" Grid.Row="4" ItemsSource="{Binding SharpenFilter.SharpenOptions, Converter={StaticResource boolComboConverter}}"
+ SelectedItem="{Binding SharpenFilter.SelectedSharpen, Converter={StaticResource boolComboConverter}}" Grid.Column="1"
AutomationProperties.Name="{x:Static Properties:Resources.FiltersView_Sharpen}"
HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,0,0,10" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_Sharpen}" />
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Row="4" Grid.Column="2" Margin="0,0,0,10"
- Visibility="{Binding ShowSharpenOptions, Converter={StaticResource boolToVisConverter}}">
+ Visibility="{Binding SharpenFilter.ShowSharpenOptions, Converter={StaticResource boolToVisConverter}}">
<TextBlock Text="{x:Static Properties:Resources.FiltersView_Preset}" Margin="0,0,5,0" />
- <ComboBox SelectedItem="{Binding SelectedSharpenPreset}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_SharpenPreset}"
+ <ComboBox SelectedItem="{Binding SharpenFilter.SelectedSharpenPreset}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_SharpenPreset}"
MinWidth="100" HorizontalAlignment="Center" VerticalAlignment="Center" DisplayMemberPath="DisplayName"
AutomationProperties.Name="{x:Static Properties:Resources.FiltersView_SharpenPresetAuto}" >
<ComboBox.ItemsSource>
<MultiBinding Converter="{StaticResource SharpenPresetConverter}">
- <Binding Path="SharpenPresets" />
- <Binding Path="SelectedSharpen" />
+ <Binding Path="SharpenFilter.SharpenPresets" />
+ <Binding Path="SharpenFilter.SelectedSharpen" />
</MultiBinding>
</ComboBox.ItemsSource>
</ComboBox>
- <StackPanel Orientation="Horizontal" Visibility="{Binding ShowSharpenTune, Converter={StaticResource boolToVisConverter}}">
+ <StackPanel Orientation="Horizontal" Visibility="{Binding SharpenFilter.ShowSharpenTune, Converter={StaticResource boolToVisConverter}}">
<TextBlock Text="{x:Static Properties:Resources.FiltersView_Tune}" Margin="5,0,5,0" />
- <ComboBox SelectedItem="{Binding SelectedSharpenTune}" MinWidth="100" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_SharpenTune}" VerticalAlignment="Center" DisplayMemberPath="DisplayName"
+ <ComboBox SelectedItem="{Binding SharpenFilter.SelectedSharpenTune}" MinWidth="100" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_SharpenTune}" VerticalAlignment="Center" DisplayMemberPath="DisplayName"
AutomationProperties.Name="{x:Static Properties:Resources.FiltersView_SharpenTuneAuto}" >
<ComboBox.ItemsSource>
<MultiBinding Converter="{StaticResource SharpenTuneConverter}">
- <Binding Path="SharpenTunes" />
- <Binding Path="SelectedSharpen" />
+ <Binding Path="SharpenFilter.SharpenTunes" />
+ <Binding Path="SharpenFilter.SelectedSharpen" />
</MultiBinding>
</ComboBox.ItemsSource>
</ComboBox>
</StackPanel>
- <StackPanel Orientation="Horizontal" Visibility="{Binding ShowSharpenCustom, Converter={StaticResource boolToVisConverter}}">
+ <StackPanel Orientation="Horizontal" Visibility="{Binding SharpenFilter.ShowSharpenCustom, Converter={StaticResource boolToVisConverter}}">
<TextBlock Text="{x:Static Properties:Resources.FiltersView_Custom}" Margin="5,0,5,0" />
- <TextBox Width="120" Margin="0" Text="{Binding CustomSharpen, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" MinHeight="22"
+ <TextBox Width="120" Margin="0" Text="{Binding SharpenFilter.CustomSharpen, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" MinHeight="22"
ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_CustomSharpenParams}" />
</StackPanel>