diff options
author | sr55 <[email protected]> | 2014-11-29 20:06:12 +0000 |
---|---|---|
committer | sr55 <[email protected]> | 2014-11-29 20:06:12 +0000 |
commit | 016614620206b8406fb20897733567fa90602580 (patch) | |
tree | 3d0a7f87f4b9d9056fb4668243495f091121bb05 | |
parent | 9c9a769493c732fdcdcd5b62710b6231863c53ba (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
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/Interfaces/IMainViewModel.cs | 10 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/ShellViewModel.cs | 13 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Views/MainView.xaml | 12 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Views/ShellView.xaml | 12 |
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}" />
|