mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-59314: If 'use library' option has _not_ been selected on facet adding to created module, don't attach pre-selected global library to module
This commit is contained in:
@@ -128,7 +128,6 @@
|
||||
<group name="myButtonGroup" bound="true">
|
||||
<member id="4dbad"/>
|
||||
<member id="a5b73"/>
|
||||
<member id="46359"/>
|
||||
<member id="f63e3"/>
|
||||
</group>
|
||||
</buttonGroups>
|
||||
|
||||
@@ -104,6 +104,7 @@ public class LibraryOptionsPanel {
|
||||
return StringUtil.notNullize(name1).compareToIgnoreCase(StringUtil.notNullize(name2));
|
||||
}
|
||||
});
|
||||
|
||||
for (Library library : libraries) {
|
||||
ExistingLibraryEditor libraryEditor = librariesContainer.getLibraryEditor(library);
|
||||
if (libraryEditor == null) {
|
||||
@@ -274,14 +275,23 @@ public class LibraryOptionsPanel {
|
||||
}
|
||||
|
||||
public void apply() {
|
||||
final Choice option = myButtonEnumModel.getSelected();
|
||||
mySettings.setDownloadLibraries(option == Choice.DOWNLOAD);
|
||||
|
||||
final Object item = myExistingLibraryComboBox.getSelectedItem();
|
||||
if (item instanceof ExistingLibraryEditor) {
|
||||
if (option == Choice.USE_LIBRARY && item instanceof ExistingLibraryEditor) {
|
||||
mySettings.setSelectedExistingLibrary(((ExistingLibraryEditor)item).getLibrary());
|
||||
}
|
||||
else if (item instanceof NewLibraryEditor) {
|
||||
else {
|
||||
mySettings.setSelectedExistingLibrary(null);
|
||||
}
|
||||
|
||||
if (option == Choice.USE_LIBRARY && item instanceof NewLibraryEditor) {
|
||||
mySettings.setNewLibraryEditor((NewLibraryEditor)item);
|
||||
}
|
||||
mySettings.setDownloadLibraries(myButtonEnumModel.getSelected() == Choice.DOWNLOAD);
|
||||
else {
|
||||
mySettings.setNewLibraryEditor(null);
|
||||
}
|
||||
}
|
||||
|
||||
public JComponent getMainPanel() {
|
||||
|
||||
+16
-7
@@ -124,9 +124,6 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
applyLibraryOptionsForSelected();
|
||||
|
||||
myLastSelectedNode = selectedNode;
|
||||
if (selectedNode != null) {
|
||||
selectedNode.getLibraryCompositionOptionsPanel(myLibrariesContainer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +133,7 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
|
||||
private void applyLibraryOptionsForSelected() {
|
||||
if (myLastSelectedNode != null) {
|
||||
final LibraryOptionsPanel optionsPanel = myLastSelectedNode.getLibraryCompositionOptionsPanel(myLibrariesContainer);
|
||||
final LibraryOptionsPanel optionsPanel = myLastSelectedNode.getLibraryCompositionOptionsPanel();
|
||||
if (optionsPanel != null) {
|
||||
optionsPanel.apply();
|
||||
}
|
||||
@@ -195,14 +192,26 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
}
|
||||
|
||||
private void addLibrariesOptionsPanel(FrameworkSupportNode node, JPanel librariesOptionsPanelWrapper, boolean addSeparator) {
|
||||
final LibraryOptionsPanel libraryOptionsPanel = node.getLibraryCompositionOptionsPanel(myLibrariesContainer);
|
||||
if (libraryOptionsPanel != null) {
|
||||
final LibraryCompositionSettings libraryCompositionSettings = node.getLibraryCompositionSettings();
|
||||
final LibraryOptionsPanel oldPanel = node.getLibraryCompositionOptionsPanel();
|
||||
LibraryOptionsPanel newPanel = oldPanel;
|
||||
if (oldPanel == null || !oldPanel.getSettings().equals(libraryCompositionSettings)) {
|
||||
if (libraryCompositionSettings != null) {
|
||||
newPanel = new LibraryOptionsPanel(libraryCompositionSettings, myLibrariesContainer, node.getConfigurable().getComponent() != null);
|
||||
}
|
||||
else {
|
||||
newPanel = null;
|
||||
}
|
||||
}
|
||||
node.setLibraryCompositionOptionsPanel(newPanel);
|
||||
|
||||
if (newPanel != null) {
|
||||
if (addSeparator) {
|
||||
JComponent separator = SeparatorFactory.createSeparator("Libraries", null);
|
||||
separator.setBorder(IdeBorderFactory.createEmptyBorder(5, 0, 5, 5));
|
||||
librariesOptionsPanelWrapper.add(BorderLayout.NORTH, separator);
|
||||
}
|
||||
librariesOptionsPanelWrapper.add(BorderLayout.CENTER, libraryOptionsPanel.getMainPanel());
|
||||
librariesOptionsPanelWrapper.add(BorderLayout.CENTER, newPanel.getMainPanel());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.intellij.ide.util.frameworkSupport.*;
|
||||
import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelImpl;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
@@ -88,20 +87,14 @@ public class FrameworkSupportNode extends CheckedTreeNode {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public LibraryOptionsPanel getLibraryCompositionOptionsPanel(LibrariesContainer librariesContainer) {
|
||||
final LibraryCompositionSettings libraryCompositionSettings = getLibraryCompositionSettings();
|
||||
if (myLibraryCompositionOptionsPanel == null || !myLibraryCompositionOptionsPanel.getSettings().equals(libraryCompositionSettings)) {
|
||||
if (libraryCompositionSettings != null) {
|
||||
myLibraryCompositionOptionsPanel = new LibraryOptionsPanel(libraryCompositionSettings, librariesContainer, myConfigurable.getComponent() != null);
|
||||
}
|
||||
else {
|
||||
myLibraryCompositionOptionsPanel = null;
|
||||
}
|
||||
}
|
||||
public LibraryOptionsPanel getLibraryCompositionOptionsPanel() {
|
||||
return myLibraryCompositionOptionsPanel;
|
||||
}
|
||||
|
||||
public void setLibraryCompositionOptionsPanel(LibraryOptionsPanel libraryCompositionOptionsPanel) {
|
||||
myLibraryCompositionOptionsPanel = libraryCompositionOptionsPanel;
|
||||
}
|
||||
|
||||
public void setConfigurableComponentEnabled(final boolean enable) {
|
||||
JComponent component = getConfigurable().getComponent();
|
||||
if (component != null) {
|
||||
|
||||
Reference in New Issue
Block a user