cleanup: remove useless '@author nik' from javadoc comments
[idea/community.git] / java / idea-ui / src / com / intellij / openapi / roots / ui / configuration / projectRoot / AddLibraryToModuleDependenciesAction.java
1 /*
2  * Copyright 2000-2012 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.openapi.roots.ui.configuration.projectRoot;
17
18 import com.intellij.openapi.actionSystem.AnActionEvent;
19 import com.intellij.openapi.project.DumbAwareAction;
20 import com.intellij.openapi.project.Project;
21 import com.intellij.openapi.roots.impl.libraries.LibraryEx;
22 import com.intellij.openapi.roots.libraries.Library;
23 import com.intellij.openapi.roots.ui.configuration.libraries.LibraryEditingUtil;
24 import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.LibraryProjectStructureElement;
25 import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement;
26 import org.jetbrains.annotations.NotNull;
27
28 public class AddLibraryToModuleDependenciesAction extends DumbAwareAction {
29   @NotNull private final Project myProject;
30   @NotNull private final BaseLibrariesConfigurable myConfigurable;
31
32   public AddLibraryToModuleDependenciesAction(@NotNull Project project, @NotNull BaseLibrariesConfigurable configurable) {
33     super("Add to Modules...", "Add the library to the dependencies list of chosen modules", null);
34     myProject = project;
35     myConfigurable = configurable;
36   }
37
38   @Override
39   public void update(@NotNull AnActionEvent e) {
40     final ProjectStructureElement element = myConfigurable.getSelectedElement();
41     boolean visible = false;
42     if (element instanceof LibraryProjectStructureElement) {
43       final LibraryEx library = (LibraryEx)((LibraryProjectStructureElement)element).getLibrary();
44       visible = !LibraryEditingUtil.getSuitableModules(ModuleStructureConfigurable.getInstance(myProject), library.getKind(), library).isEmpty();
45     }
46     e.getPresentation().setVisible(visible);
47   }
48
49   @Override
50   public void actionPerformed(@NotNull AnActionEvent e) {
51     final LibraryProjectStructureElement element = (LibraryProjectStructureElement)myConfigurable.getSelectedElement();
52     if (element == null) return;
53     final Library library = element.getLibrary();
54     LibraryEditingUtil.showDialogAndAddLibraryToDependencies(library, myProject, false);
55   }
56 }