Browse Source

Fixed SD2-433: Deleting references mixes up context menu

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@428 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
adbb1ce32a
  1. 6
      src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs
  2. 6
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs
  3. 4
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPanel.cs
  4. 7
      src/Main/StartUp/Project/SharpDevelopMain.cs

6
src/Main/Base/Project/Src/Gui/Components/ExtTreeView/ExtTreeView.cs

@ -251,9 +251,11 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -251,9 +251,11 @@ namespace ICSharpCode.SharpDevelop.Gui
}
}
protected override void OnAfterSelect(TreeViewEventArgs e)
protected override void OnBeforeSelect(TreeViewCancelEventArgs e)
{
base.OnAfterSelect(e);
// setting the context menu must be done by BeforeSelect because
// AfterSelect is not called for the selection changes when a node is being deleted.
base.OnBeforeSelect(e);
ExtTreeNode node = e.Node as ExtTreeNode;
if (node != null) {
this.ContextMenuStrip = MenuService.CreateContextMenu(e.Node, node.ContextmenuAddinTreePath);

6
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs

@ -60,7 +60,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -60,7 +60,7 @@ namespace ICSharpCode.SharpDevelop.Project
public ProjectBrowserControl()
{
InitializeComponent();
treeView.AfterSelect += TreeViewAfterSelect;
treeView.BeforeSelect += TreeViewBeforeSelect;
FileService.FileRenaming += FileServiceFileRenaming;
FileService.FileRemoving += FileServiceFileRemoving;
@ -173,10 +173,10 @@ namespace ICSharpCode.SharpDevelop.Project @@ -173,10 +173,10 @@ namespace ICSharpCode.SharpDevelop.Project
public void PadActivated()
{
TreeViewAfterSelect(null, new TreeViewEventArgs(treeView.SelectedNode));
TreeViewBeforeSelect(null, new TreeViewCancelEventArgs(treeView.SelectedNode, false, TreeViewAction.Unknown));
}
void TreeViewAfterSelect(object sender, TreeViewEventArgs e)
void TreeViewBeforeSelect(object sender, TreeViewCancelEventArgs e)
{ // set current project & current combine
AbstractProjectBrowserTreeNode node = e.Node as AbstractProjectBrowserTreeNode;

4
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPanel.cs

@ -48,10 +48,10 @@ namespace ICSharpCode.SharpDevelop.Project @@ -48,10 +48,10 @@ namespace ICSharpCode.SharpDevelop.Project
standardItems = new ToolStripItem[toolStrip.Items.Count];
toolStrip.Items.CopyTo(standardItems, 0);
Controls.Add(toolStrip);
projectBrowserControl.TreeView.AfterSelect += new TreeViewEventHandler(TreeViewAfterSelect);
projectBrowserControl.TreeView.BeforeSelect += TreeViewBeforeSelect;
}
void TreeViewAfterSelect(object sender, TreeViewEventArgs e)
void TreeViewBeforeSelect(object sender, TreeViewCancelEventArgs e)
{
AbstractProjectBrowserTreeNode node = e.Node as AbstractProjectBrowserTreeNode;
if (node == null) {

7
src/Main/StartUp/Project/SharpDevelopMain.cs

@ -91,7 +91,12 @@ namespace ICSharpCode.SharpDevelop @@ -91,7 +91,12 @@ namespace ICSharpCode.SharpDevelop
try {
Run(args);
} catch (Exception ex) {
HandleMainException(ex);
try {
HandleMainException(ex);
} catch (Exception loadError) {
// HandleMainException can throw error when log4net is not found
MessageBox.Show(loadError.ToString(), "Critical error (Logging service defect?)");
}
}
}

Loading…
Cancel
Save