summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsr55 <[email protected]>2014-11-29 20:06:12 +0000
committersr55 <[email protected]>2014-11-29 20:06:12 +0000
commit016614620206b8406fb20897733567fa90602580 (patch)
tree3d0a7f87f4b9d9056fb4668243495f091121bb05 /win
parent9c9a769493c732fdcdcd5b62710b6231863c53ba (diff)
WinGui: Move the event trigger to make drag/drop of files on the UI more reliable.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6571 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs10
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs13
-rw-r--r--win/CS/HandBrakeWPF/Views/MainView.xaml12
-rw-r--r--win/CS/HandBrakeWPF/Views/ShellView.xaml12
4 files changed, 35 insertions, 12 deletions
diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs
index 283b828c9..b610d140b 100644
--- a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs
@@ -9,6 +9,8 @@
namespace HandBrakeWPF.ViewModels.Interfaces
{
+ using System.Windows;
+
using HandBrake.ApplicationServices.Model;
using HandBrakeWPF.Services.Presets.Model;
@@ -94,5 +96,13 @@ namespace HandBrakeWPF.ViewModels.Interfaces
/// The show cli query.
/// </summary>
void ShowCliQuery();
+
+ /// <summary>
+ /// The files dropped on window.
+ /// </summary>
+ /// <param name="e">
+ /// The e.
+ /// </param>
+ void FilesDroppedOnWindow(DragEventArgs e);
}
} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs
index ef32eb205..10c82f1a4 100644
--- a/win/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs
@@ -9,6 +9,8 @@
namespace HandBrakeWPF.ViewModels
{
+ using System.IO;
+ using System.Linq;
using System.Windows;
using Caliburn.Micro;
@@ -186,6 +188,17 @@ namespace HandBrakeWPF.ViewModels
#endregion
/// <summary>
+ /// The files dropped on window. Pass this through to the active view model.
+ /// </summary>
+ /// <param name="e">
+ /// The DragEventArgs.
+ /// </param>
+ public void FilesDroppedOnWindow(DragEventArgs e)
+ {
+ this.MainViewModel.FilesDroppedOnWindow(e);
+ }
+
+ /// <summary>
/// Checks with the use if this window can be closed.
/// </summary>
/// <returns>
diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml b/win/CS/HandBrakeWPF/Views/MainView.xaml
index 6442e9e45..ad875db87 100644
--- a/win/CS/HandBrakeWPF/Views/MainView.xaml
+++ b/win/CS/HandBrakeWPF/Views/MainView.xaml
@@ -3,9 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:HandBrakeWPF.Controls"
xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"
- xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
- xmlns:Micro="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
- xmlns:attachedProperties="clr-namespace:HandBrakeWPF.AttachedProperties"
+ xmlns:Micro="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
AllowDrop="True"
FontSize="11"
Micro:Message.Attach="[Event Loaded] = [Action Load]"
@@ -13,14 +11,6 @@
UseLayoutRounding="True"
>
- <i:Interaction.Triggers>
- <i:EventTrigger EventName="Drop">
- <Micro:ActionMessage MethodName="FilesDroppedOnWindow">
- <Micro:Parameter Value="$eventArgs" />
- </Micro:ActionMessage>
- </i:EventTrigger>
- </i:Interaction.Triggers>
-
<UserControl.Resources>
<Converters:BooleanConverter x:Key="booleanConverter" />
<Converters:EnumComboConverter x:Key="enumComboConverter" />
diff --git a/win/CS/HandBrakeWPF/Views/ShellView.xaml b/win/CS/HandBrakeWPF/Views/ShellView.xaml
index c9702a7a7..ab82b298a 100644
--- a/win/CS/HandBrakeWPF/Views/ShellView.xaml
+++ b/win/CS/HandBrakeWPF/Views/ShellView.xaml
@@ -4,6 +4,8 @@
xmlns:Data="clr-namespace:System.Windows.Data;assembly=PresentationFramework"
xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"
xmlns:views="clr-namespace:HandBrakeWPF.Views"
+ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
+ xmlns:cal="http://www.caliburnproject.org"
Title="{Data:Binding Path=WindowTitle}"
Width="1015"
Height="675"
@@ -20,7 +22,15 @@
<Window.Resources>
<Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
</Window.Resources>
-
+
+ <i:Interaction.Triggers>
+ <i:EventTrigger EventName="Drop">
+ <cal:ActionMessage MethodName="FilesDroppedOnWindow">
+ <cal:Parameter Value="$eventArgs" />
+ </cal:ActionMessage>
+ </i:EventTrigger>
+ </i:Interaction.Triggers>
+
<Grid>
<ContentControl x:Name="MainViewModel" Visibility="{Binding ShowMainWindow, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
<ContentControl x:Name="OptionsViewModel" Visibility="{Binding ShowOptions, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />