<action id="ChangeCourseInfo" class="com.jetbrains.edu.coursecreator.PyCCChangeCourseInfo"/>
- <group id="CCProjectViewGroup" popup="true" text="Course Creator">
+ <group id="CCProjectViewGroup" popup="true" text="Course Creator" class="com.jetbrains.edu.coursecreator.actions.CCProjectViewActionGroup">
<action id="AddTaskFile" class="com.jetbrains.edu.coursecreator.actions.CCAddAsTaskFile" text="Make Visible to Student"/>
<action id="HideTaskFile" class="com.jetbrains.edu.coursecreator.actions.CCHideFromStudent" text="Hide from Student"/>
<action id="ShowPreview" class="com.jetbrains.edu.coursecreator.actions.CCShowPreview">
<add-to-group group-id="ProjectViewPopupMenu" anchor="before" relative-to-action="CutCopyPasteGroup"/>
</group>
- <group id="CCFileGroup" popup="true" text="Course Creator">
+ <group id="CCFileGroup" popup="true" text="Course Creator" class="com.jetbrains.edu.coursecreator.actions.CCFileActionGroup">
<reference id="ChangeCourseInfo"/>
<reference id="PackCourse"/>
<reference id="PushLesson"/>
import com.google.common.collect.Collections2;
import com.intellij.ide.projectView.actions.MarkRootActionBase;
import com.intellij.lang.Language;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
});
}
}
+
+ public static void updateActionGroup(AnActionEvent e) {
+ Presentation presentation = e.getPresentation();
+ Project project = e.getProject();
+ presentation.setEnabledAndVisible(project != null && isCourseCreator(project));
+ }
}
--- /dev/null
+package com.jetbrains.edu.coursecreator.actions;
+
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.DefaultActionGroup;
+import com.jetbrains.edu.coursecreator.CCUtils;
+
+public class CCFileActionGroup extends DefaultActionGroup {
+ @Override
+ public void update(AnActionEvent e) {
+ CCUtils.updateActionGroup(e);
+ }
+}
--- /dev/null
+package com.jetbrains.edu.coursecreator.actions;
+
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.DefaultActionGroup;
+import com.jetbrains.edu.coursecreator.CCUtils;
+
+public class CCProjectViewActionGroup extends DefaultActionGroup {
+ @Override
+ public void update(AnActionEvent e) {
+ CCUtils.updateActionGroup(e);
+ }
+}