PY-17717 For subdirectory of a Sources Root, cannot Mark Directory As > Sources from right-click context menu

This commit is contained in:
Ekaterina Tuzova
2016-05-26 17:36:53 +03:00
parent 2a85576d66
commit 716a359211
3 changed files with 14 additions and 2 deletions
@@ -132,4 +132,8 @@ public abstract class ModuleType<T extends ModuleBuilder> {
public boolean isSupportedRootType(JpsModuleSourceRootType type) {
return true;
}
public boolean isMarkInnerSupportedFor(JpsModuleSourceRootType type) {
return false;
}
}
@@ -53,8 +53,9 @@ public class MarkSourceRootAction extends MarkRootActionBase {
@Override
protected boolean isEnabled(@NotNull RootsSelection selection, @NotNull Module module) {
if (!ModuleType.get(module).isSupportedRootType(myRootType) || selection.myHaveSelectedFilesUnderSourceRoots
|| ModuleSourceRootEditHandler.getEditHandler(myRootType) == null) {
final ModuleType moduleType = ModuleType.get(module);
if (!moduleType.isSupportedRootType(myRootType) || ModuleSourceRootEditHandler.getEditHandler(myRootType) == null
|| (selection.myHaveSelectedFilesUnderSourceRoots && !moduleType.isMarkInnerSupportedFor(myRootType))) {
return false;
}
@@ -23,6 +23,8 @@ import com.intellij.openapi.module.ModuleTypeManager;
import icons.PythonIcons;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.java.JavaSourceRootType;
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
import javax.swing.*;
@@ -64,4 +66,9 @@ public abstract class PythonModuleTypeBase<T extends ModuleBuilder> extends Modu
public Icon getNodeIcon(final boolean isOpened) {
return PythonIcons.Python.PythonClosed;
}
@Override
public boolean isMarkInnerSupportedFor(JpsModuleSourceRootType type) {
return type == JavaSourceRootType.SOURCE;
}
}