Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Lindgren <simon.n.lindgren@gmail.com>2013-08-14 19:06:37 +0400
committerSimon Lindgren <simon.n.lindgren@gmail.com>2013-08-20 17:33:19 +0400
commit627d82c7f91c48982883b58ce4c92dbd662725b2 (patch)
tree01d5f5cd851ac9df087ebf0ca950843ea709d73b /main/src/addins
parent02300ebd702a8b1b85a235420004e9a26c435670 (diff)
[CodeIssuePad] Show actions immediately if there is only one issue to choose from.
Diffstat (limited to 'main/src/addins')
-rw-r--r--main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeIssuePad.cs26
1 files changed, 15 insertions, 11 deletions
diff --git a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeIssuePad.cs b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeIssuePad.cs
index 7ca89f658d..26f438f77e 100644
--- a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeIssuePad.cs
+++ b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeIssuePad.cs
@@ -468,20 +468,24 @@ namespace MonoDevelop.CodeIssues
var groups = possibleFixes.Take (BatchChoiceCount).ToList ();
if (!groups.Any ())
return;
-
- var menu = new Menu ();
- foreach (var g in groups) {
- menu.Items.Add (CreateIssueMenuItem (g));
+
+ if (groups.Count == 1) {
+ CreateIssueMenu (groups.First ()).Popup (view, x, y);
+ } else {
+ var menu = new Menu ();
+ foreach (var g in groups) {
+ var menuItem = new MenuItem (g.First ().ProviderTitle);
+ menuItem.SubMenu = CreateIssueMenu (g);
+ menu.Items.Add (menuItem);
+ }
+ menu.Popup (view, x, y);
}
- menu.Popup (view, x, y);
}
- MenuItem CreateIssueMenuItem (IEnumerable<IssueSummary> issues)
+ Menu CreateIssueMenu (IEnumerable<IssueSummary> issues)
{
var allIssues = issues as IList<IssueSummary> ?? issues.ToList ();
- var issueMenuItem = new MenuItem (allIssues.First ().ProviderTitle);
- var issueSubMenu = new Menu ();
- issueMenuItem.SubMenu = issueSubMenu;
+ var issueMenu = new Menu ();
var actionGroups = allIssues
.SelectMany (issue => issue.Actions)
@@ -508,9 +512,9 @@ namespace MonoDevelop.CodeIssues
}
});
};
- issueSubMenu.Items.Add (actionMenuItem);
+ issueMenu.Items.Add (actionMenuItem);
}
- return issueMenuItem;
+ return issueMenu;
}
}