@@ -78,14 +78,32 @@ private void TreeViewMain_SelectedItemChanged(object sender, RoutedPropertyChang
7878 case TreeNodeType . RootFolder :
7979 treeView . ContextMenu = treeView . Resources [ "RootFolderContext" ] as System . Windows . Controls . ContextMenu ;
8080 break ;
81+ }
82+ }
83+ }
84+
85+ private void TreeViewMain_ContextMenuOpening ( object sender , ContextMenuEventArgs e )
86+ {
87+ ISettingsRepository settingsRepository = new SettingsRepository ( ) ;
88+ var fileContextMenu = TreeViewMain . Resources [ "FileContext" ] as System . Windows . Controls . ContextMenu ;
8189
90+ if ( fileContextMenu != null )
91+ {
92+ var executeMenuItem = fileContextMenu . Items [ 2 ] as MenuItem ;
93+
94+ if ( executeMenuItem != null )
95+ {
96+ if ( settingsRepository . ShowExecuteFileButton )
97+ executeMenuItem . Visibility = Visibility . Visible ;
98+ else
99+ executeMenuItem . Visibility = Visibility . Collapsed ;
82100 }
83101 }
84102 }
85103
86104 private void TreeViewMain_PreviewMouseLeftButtonDown ( object sender , MouseButtonEventArgs e )
87105 {
88- currentTreeViewItem = VisualUpwardSearch ( e . OriginalSource as DependencyObject ) ;
106+ currentTreeViewItem = VisualUpwardSearchTreeViewItem ( e . OriginalSource as DependencyObject ) ;
89107
90108 currentTreeNode = currentTreeViewItem != null ?
91109 currentTreeViewItem . DataContext as TreeNode : null ;
@@ -99,7 +117,7 @@ private void TreeViewMain_PreviewMouseLeftButtonDown(object sender, MouseButtonE
99117
100118 private void TreeViewMain_PreviewMouseRightButtonDown ( object sender , MouseButtonEventArgs e )
101119 {
102- currentTreeViewItem = VisualUpwardSearch ( e . OriginalSource as DependencyObject ) ;
120+ currentTreeViewItem = VisualUpwardSearchTreeViewItem ( e . OriginalSource as DependencyObject ) ;
103121 currentTreeNode = currentTreeViewItem != null ?
104122 currentTreeViewItem . DataContext as TreeNode : null ;
105123
@@ -110,7 +128,7 @@ private void TreeViewMain_PreviewMouseRightButtonDown(object sender, MouseButton
110128 }
111129 }
112130
113- private static TreeViewItem VisualUpwardSearch ( DependencyObject source )
131+ private static TreeViewItem VisualUpwardSearchTreeViewItem ( DependencyObject source )
114132 {
115133 while ( source != null && ! ( source is TreeViewItem ) )
116134 source = VisualTreeHelper . GetParent ( source ) ;
0 commit comments