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:
Diffstat (limited to 'main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionPanelWidget.cs')
-rw-r--r--main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionPanelWidget.cs29
1 files changed, 12 insertions, 17 deletions
diff --git a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionPanelWidget.cs b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionPanelWidget.cs
index 66f132a1c5..c74d775caa 100644
--- a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionPanelWidget.cs
+++ b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeActions/CodeActionPanelWidget.cs
@@ -32,6 +32,7 @@ using System.Text;
using MonoDevelop.Refactoring;
using System.Collections.Generic;
using GLib;
+using MonoDevelop.CodeIssues;
namespace MonoDevelop.CodeActions
{
@@ -54,14 +55,14 @@ namespace MonoDevelop.CodeActions
{
readonly string mimeType;
- readonly TreeStore treeStore = new TreeStore (typeof(string), typeof(bool), typeof(CodeActionProvider), typeof(string));
- readonly Dictionary<CodeActionProvider, bool> providerStates = new Dictionary<CodeActionProvider, bool> ();
+ readonly TreeStore treeStore = new TreeStore (typeof(string), typeof(bool), typeof(CodeRefactoringDescriptor));
+ readonly Dictionary<CodeRefactoringDescriptor, bool> providerStates = new Dictionary<CodeRefactoringDescriptor, bool> ();
void GetAllProviderStates ()
{
- string disabledNodes = PropertyService.Get ("ContextActions." + mimeType, "");
- foreach (var node in RefactoringService.ContextAddinNodes.Where (n => n.MimeType == mimeType)) {
- providerStates [node] = disabledNodes.IndexOf (node.IdString, StringComparison.Ordinal) < 0;
+ var language = CodeRefactoringService.MimeTypeToLanguage (mimeType);
+ foreach (var node in BuiltInCodeDiagnosticProvider.GetBuiltInCodeRefactoringDescriptorsAsync (CodeRefactoringService.MimeTypeToLanguage(language), true).Result) {
+ providerStates [node] = node.IsEnabled;
}
}
@@ -94,7 +95,7 @@ namespace MonoDevelop.CodeActions
TreeIter iter;
if (!treeStore.GetIterFromString (out iter, args.Path))
return;
- var provider = (CodeActionProvider)treeStore.GetValue (iter, 2);
+ var provider = (CodeRefactoringDescriptor)treeStore.GetValue (iter, 2);
providerStates [provider] = !providerStates [provider];
treeStore.SetValue (iter, 1, providerStates [provider]);
};
@@ -125,26 +126,20 @@ namespace MonoDevelop.CodeActions
{
treeStore.Clear ();
var sortedAndFiltered = providerStates.Keys
- .Where (node => string.IsNullOrEmpty (filter) || node.Title.IndexOf (filter, StringComparison.OrdinalIgnoreCase) > 0)
- .OrderBy (n => n.Title, StringComparer.Ordinal);
+ .Where (node => string.IsNullOrEmpty (filter) || node.Name.IndexOf (filter, StringComparison.OrdinalIgnoreCase) > 0)
+ .OrderBy (n => n.Name, StringComparer.Ordinal);
foreach (var node in sortedAndFiltered) {
- var title = node.Title;
+ var title = node.Name;
MonoDevelop.CodeIssues.CodeIssuePanelWidget.MarkupSearchResult (filter, ref title);
- treeStore.AppendValues (title, providerStates [node], node, node.Description);
+ treeStore.AppendValues (title, providerStates [node], node);
}
}
public void ApplyChanges ()
{
- var sb = new StringBuilder ();
foreach (var kv in providerStates) {
- if (kv.Value)
- continue;
- if (sb.Length > 0)
- sb.Append (",");
- sb.Append (kv.Key.IdString);
+ kv.Key.IsEnabled = kv.Value;
}
- PropertyService.Set ("ContextActions." + mimeType, sb.ToString ());
}
}
}