From 0665ad409a09f54e9a459eab04dbb59b2b544e2b Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Fri, 14 Sep 2012 15:04:48 +0400 Subject: [PATCH] Hidden "Delete" action and renamed "Edit" to "View" when external annotation is read-only. --- .../plugin/codeInsight/ktSignature/DeleteSignatureAction.java | 3 +++ .../plugin/codeInsight/ktSignature/EditSignatureAction.java | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java index 7ff9c19ebea..d5eedbd32fb 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java @@ -38,6 +38,9 @@ public class DeleteSignatureAction extends AnAction { public DeleteSignatureAction(@NotNull PsiMethod elementInEditor) { super("Delete"); this.annotationOwner = getAnnotationOwner(elementInEditor); + boolean editable = ExternalAnnotationsManager.getInstance(annotationOwner.getProject()) + .isExternalAnnotationWritable(annotationOwner, KOTLIN_SIGNATURE_ANNOTATION); + getTemplatePresentation().setVisible(editable); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java index b20117a37af..6e88e215e62 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java @@ -41,8 +41,10 @@ public class EditSignatureAction extends AnAction { private final PsiMethod elementInEditor; public EditSignatureAction(@NotNull PsiMethod elementInEditor) { - super("Edit"); this.elementInEditor = elementInEditor; + boolean editable = ExternalAnnotationsManager.getInstance(elementInEditor.getProject()) + .isExternalAnnotationWritable(getAnnotationOwner(elementInEditor), KOTLIN_SIGNATURE_ANNOTATION); + getTemplatePresentation().setText(editable ? "Edit" : "View"); } @Override