using System;\r
using System.Collections.Generic;\r
using System.Linq;\r
+ using System.Threading;\r
using System.Windows;\r
using System.Windows.Controls;\r
using System.Windows.Media.Imaging;\r
\r
+ using HandBrake.ApplicationServices.Exceptions;\r
using HandBrake.ApplicationServices.Utilities;\r
\r
using HandBrakeWPF.Commands;\r
/// </summary>\r
public static readonly DependencyProperty ShowAvailableDrivesProperty = DependencyProperty.RegisterAttached(\r
"ShowAvailableDrives",\r
- typeof(Boolean),\r
+ typeof(bool),\r
typeof(DriveMenu),\r
new PropertyMetadata(false, OnShowAvailableDrivesChanged));\r
\r
/// </param>\r
private static void OnShowAvailableDrivesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r
{\r
- Menu menu = d as Menu;\r
+ MenuItem menu = d as MenuItem;\r
if (menu != null)\r
{\r
- menu.PreviewMouseDown -= MenuMouseDown;\r
- menu.PreviewMouseDown += MenuMouseDown;\r
+ menu.SubmenuOpened -= MenuMouseDown;\r
+ menu.SubmenuOpened += MenuMouseDown;\r
}\r
}\r
\r
/// <param name="e">\r
/// The e.\r
/// </param>\r
- private static void MenuMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)\r
+ private static void MenuMouseDown(object sender, RoutedEventArgs e)\r
{\r
- Menu menu = sender as Menu;\r
+ MenuItem menu = sender as MenuItem;\r
+ MenuItem childMenuItem = e.OriginalSource as MenuItem;\r
+ if (childMenuItem != null && "Title Specific Scan".Equals(childMenuItem.Header))\r
+ {\r
+ return; // Skip, it's just a child menu.\r
+ }\r
+\r
if (menu != null)\r
{\r
MainViewModel mvm = menu.DataContext as MainViewModel;\r
IsDrive = true\r
})\r
{\r
- mvm.SourceMenu.Add(menuItem);\r
+ Console.WriteLine("test");\r
}\r
}\r
+ else\r
+ {\r
+ throw new GeneralApplicationException(\r
+ "DEBUG - Datacontext wasn't set!", "Please report this on the forum.", null);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ throw new GeneralApplicationException(\r
+ "DEBUG - Source Menu wasn't set!", "Please report this on the forum.", null);\r
}\r
}\r
}\r
ToolBar.OverflowMode="Never"\r
ToolBarTray.IsLocked="True"\r
>\r
- <Menu Background="Transparent" attachedProperties:DriveMenu.ShowAvailableDrives="true">\r
- <MenuItem ItemsSource="{Binding SourceMenu}">\r
+ <Menu Background="Transparent">\r
+ <MenuItem ItemsSource="{Binding SourceMenu}" attachedProperties:DriveMenu.ShowAvailableDrives="true">\r
<MenuItem.Header>\r
<StackPanel Orientation="Horizontal">\r
<Image Width="32"\r
<Setter Property="ItemsSource" Value="{Binding Children}" />\r
<Setter Property="Icon" Value="{Binding Image}" />\r
<Setter Property="InputGestureText" Value="{Binding InputGestureText}" />\r
+ <Setter Property="Tag" Value="{Binding}" />\r
</Style>\r
</MenuItem.ItemContainerStyle>\r
</MenuItem>\r