diff --git a/code_samples/project_model/META-INF/plugin.xml b/code_samples/project_model/META-INF/plugin.xml index c5911339e..1fe22e326 100644 --- a/code_samples/project_model/META-INF/plugin.xml +++ b/code_samples/project_model/META-INF/plugin.xml @@ -25,6 +25,9 @@ - + + + \ No newline at end of file diff --git a/code_samples/project_model/src/com/intellij/plugins/project/model/ShowSourceRootsActions.java b/code_samples/project_model/src/com/intellij/plugins/project/model/ShowSourceRootsActions.java new file mode 100644 index 000000000..aadc92f01 --- /dev/null +++ b/code_samples/project_model/src/com/intellij/plugins/project/model/ShowSourceRootsActions.java @@ -0,0 +1,33 @@ +package com.intellij.plugins.project.model; + +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectRootManager; +import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.vfs.VirtualFile; + +/** + * @author Anna Bulenkova + */ +public class ShowSourceRootsActions extends AnAction { + @Override + public void actionPerformed(final AnActionEvent anActionEvent) { + Project project = anActionEvent.getProject(); + if (project == null) return; + String projectName = project.getName(); + StringBuilder sourceRootsList = new StringBuilder(); + VirtualFile[] vFiles = ProjectRootManager.getInstance(project).getContentSourceRoots(); + for (VirtualFile file : vFiles) { + sourceRootsList.append(file.getUrl()).append("\n"); + } + Messages.showInfoMessage("Source roots for the " + projectName + " plugin:\n" + sourceRootsList, "Project Properties"); + } + + @Override + public void update(final AnActionEvent e) { + boolean visibility = e.getProject() != null; + e.getPresentation().setEnabled(visibility); + e.getPresentation().setVisible(visibility); + } +}