mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Add 'disable' action for live template lookup
This commit is contained in:
+18
-1
@@ -4,6 +4,7 @@ import com.intellij.codeInsight.lookup.Lookup;
|
||||
import com.intellij.codeInsight.lookup.LookupActionProvider;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementAction;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -13,7 +14,7 @@ import com.intellij.util.PlatformIcons;
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
public class LiveTemplateLookupActionProvider implements LookupActionProvider{
|
||||
public class LiveTemplateLookupActionProvider implements LookupActionProvider {
|
||||
@Override
|
||||
public void fillActions(LookupElement element, final Lookup lookup, Consumer<LookupElementAction> consumer) {
|
||||
if (element instanceof LiveTemplateLookupElement) {
|
||||
@@ -41,6 +42,22 @@ public class LiveTemplateLookupActionProvider implements LookupActionProvider{
|
||||
return Result.HIDE_LOOKUP;
|
||||
}
|
||||
});
|
||||
|
||||
final TemplateImpl templateFromSettings = TemplateSettings.getInstance().getTemplate(template.getKey(), template.getGroupName());
|
||||
if (templateFromSettings != null) {
|
||||
consumer.consume(new LookupElementAction(AllIcons.Actions.Delete, String.format("Disable '%s' template", template.getKey())) {
|
||||
@Override
|
||||
public Result performLookupAction() {
|
||||
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
templateFromSettings.setDeactivated(true);
|
||||
}
|
||||
});
|
||||
return Result.HIDE_LOOKUP;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user