mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-56002 ability to disable "generate flex configuration" on maven project reimport
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
package org.jetbrains.idea.maven.project;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.options.UnnamedConfigurable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
|
||||
public interface AdditionalMavenImportingSettings {
|
||||
|
||||
ExtensionPointName<AdditionalMavenImportingSettings> EP_NAME =
|
||||
ExtensionPointName.create("org.jetbrains.idea.maven.additional.importing.settings");
|
||||
|
||||
UnnamedConfigurable createConfigurable(Project project);
|
||||
}
|
||||
+33
-1
@@ -17,38 +17,70 @@ package org.jetbrains.idea.maven.project;
|
||||
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.options.SearchableConfigurable;
|
||||
import com.intellij.openapi.options.UnnamedConfigurable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MavenImportingConfigurable implements SearchableConfigurable {
|
||||
private final MavenImportingSettings myImportingSettings;
|
||||
private final MavenImportingSettingsForm mySettingsForm = new MavenImportingSettingsForm(false);
|
||||
private final List<UnnamedConfigurable> myAdditionalConfigurables;
|
||||
|
||||
public MavenImportingConfigurable(MavenImportingSettings importingSettings) {
|
||||
public MavenImportingConfigurable(Project project, MavenImportingSettings importingSettings) {
|
||||
myImportingSettings = importingSettings;
|
||||
|
||||
myAdditionalConfigurables = new ArrayList<UnnamedConfigurable>();
|
||||
for (final AdditionalMavenImportingSettings additionalSettings : AdditionalMavenImportingSettings.EP_NAME.getExtensions()) {
|
||||
myAdditionalConfigurables.add(additionalSettings.createConfigurable(project));
|
||||
}
|
||||
}
|
||||
|
||||
public JComponent createComponent() {
|
||||
final JPanel panel = mySettingsForm.getAdditionalSettingsPanel();
|
||||
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
|
||||
for (final UnnamedConfigurable additionalConfigurable : myAdditionalConfigurables) {
|
||||
panel.add(additionalConfigurable.createComponent());
|
||||
}
|
||||
return mySettingsForm.createComponent();
|
||||
}
|
||||
|
||||
public void disposeUIResources() {
|
||||
for (final UnnamedConfigurable additionalConfigurable : myAdditionalConfigurables) {
|
||||
additionalConfigurable.disposeUIResources();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isModified() {
|
||||
for (final UnnamedConfigurable additionalConfigurable : myAdditionalConfigurables) {
|
||||
if (additionalConfigurable.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return mySettingsForm.isModified(myImportingSettings);
|
||||
}
|
||||
|
||||
public void apply() throws ConfigurationException {
|
||||
mySettingsForm.getData(myImportingSettings);
|
||||
|
||||
for (final UnnamedConfigurable additionalConfigurable : myAdditionalConfigurables) {
|
||||
additionalConfigurable.apply();
|
||||
}
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
mySettingsForm.setData(myImportingSettings);
|
||||
|
||||
for (final UnnamedConfigurable additionalConfigurable : myAdditionalConfigurables) {
|
||||
additionalConfigurable.reset();
|
||||
}
|
||||
}
|
||||
|
||||
@Nls
|
||||
|
||||
+12
-2
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.jetbrains.idea.maven.project.MavenImportingSettingsForm">
|
||||
<grid id="27dc6" binding="myPanel" layout-manager="GridLayoutManager" row-count="12" column-count="4" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<grid id="27dc6" binding="myPanel" layout-manager="GridLayoutManager" row-count="13" column-count="4" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="550" height="419"/>
|
||||
@@ -10,7 +10,7 @@
|
||||
<children>
|
||||
<vspacer id="5d738">
|
||||
<constraints>
|
||||
<grid row="11" column="1" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
<grid row="12" column="1" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
<component id="9a961" class="javax.swing.JCheckBox" binding="mySeparateModulesDirCheckBox" default-binding="true">
|
||||
@@ -165,9 +165,19 @@
|
||||
<grid row="6" column="0" row-span="1" col-span="4" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<margin top="2" left="0" bottom="2" right="3"/>
|
||||
<text value="Keep source and test &folders on reimport"/>
|
||||
</properties>
|
||||
</component>
|
||||
<grid id="d7645" binding="myAdditionalSettingsPanel" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="15" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<grid row="11" column="0" row-span="1" col-span="4" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
<buttonGroups>
|
||||
|
||||
+6
@@ -46,6 +46,8 @@ public class MavenImportingSettingsForm {
|
||||
private JCheckBox myDownloadSourcesCheckBox;
|
||||
private JCheckBox myDownloadDocsCheckBox;
|
||||
|
||||
private JPanel myAdditionalSettingsPanel;
|
||||
|
||||
public MavenImportingSettingsForm(boolean isImportStep) {
|
||||
if (!isImportStep) {
|
||||
mySearchRecursivelyCheckBox.setVisible(false);
|
||||
@@ -136,4 +138,8 @@ public class MavenImportingSettingsForm {
|
||||
public void updateData(WizardContext wizardContext) {
|
||||
myProjectFormatPanel.updateData(wizardContext);
|
||||
}
|
||||
|
||||
public JPanel getAdditionalSettingsPanel() {
|
||||
return myAdditionalSettingsPanel;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class MavenSettings implements SearchableConfigurable.Parent {
|
||||
};
|
||||
|
||||
myChildren = new ArrayList<Configurable>();
|
||||
myChildren.add(new MavenImportingConfigurable(MavenProjectsManager.getInstance(myProject).getImportingSettings()));
|
||||
myChildren.add(new MavenImportingConfigurable(myProject, MavenProjectsManager.getInstance(myProject).getImportingSettings()));
|
||||
myChildren.add(new MavenIgnoredFilesConfigurable(MavenProjectsManager.getInstance(myProject)));
|
||||
|
||||
myChildren.add(new MavenRunnerConfigurable(myProject, false) {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint name="importer" interface="org.jetbrains.idea.maven.importing.MavenImporter"/>
|
||||
<extensionPoint name="additional.importing.settings" interface="org.jetbrains.idea.maven.project.AdditionalMavenImportingSettings"/>
|
||||
<extensionPoint name="archetypesProvider" interface="org.jetbrains.idea.maven.indices.MavenArchetypesProvider"/>
|
||||
</extensionPoints>
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ public class MavenSettingsTest extends MavenTestCase {
|
||||
|
||||
public void testImportingSettings() throws Exception {
|
||||
assertTrue(new MavenImportingSettings().equals(new MavenImportingSettings()));
|
||||
MavenImportingConfigurable importingConfigurable = new MavenImportingConfigurable(new MavenImportingSettings());
|
||||
MavenImportingConfigurable importingConfigurable = new MavenImportingConfigurable(myProject, new MavenImportingSettings());
|
||||
importingConfigurable.reset();
|
||||
assertFalse(importingConfigurable.isModified());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user