From 46b02fe3b20230b9a6876b4125afbfb088d5e6ba Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 7 Nov 2014 22:54:27 +0300 Subject: [PATCH] IDEA-132436: Artifacts > Pre-Processing grayed after restart --- .../ant/config/impl/AntConfigurationImpl.java | 3 ++- .../AntArtifactPropertiesEditor.java | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntConfigurationImpl.java b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntConfigurationImpl.java index 01b880adc3dd..b8cdd7733d6b 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntConfigurationImpl.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntConfigurationImpl.java @@ -32,6 +32,7 @@ import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.ex.ActionManagerEx; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.components.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressIndicator; @@ -804,7 +805,7 @@ public class AntConfigurationImpl extends AntConfigurationBase implements Persis public void run() { myEventDispatcher.getMulticaster().configurationLoaded(); } - }); + }, ModalityState.any()); } } }); diff --git a/plugins/ant/src/com/intellij/lang/ant/config/impl/artifacts/AntArtifactPropertiesEditor.java b/plugins/ant/src/com/intellij/lang/ant/config/impl/artifacts/AntArtifactPropertiesEditor.java index c94215d3b25f..5e18364bfa4a 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/impl/artifacts/AntArtifactPropertiesEditor.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/impl/artifacts/AntArtifactPropertiesEditor.java @@ -16,8 +16,10 @@ package com.intellij.lang.ant.config.impl.artifacts; import com.intellij.lang.ant.AntBundle; +import com.intellij.lang.ant.config.AntBuildFile; import com.intellij.lang.ant.config.AntBuildTarget; import com.intellij.lang.ant.config.AntConfiguration; +import com.intellij.lang.ant.config.AntConfigurationListener; import com.intellij.lang.ant.config.impl.BuildFileProperty; import com.intellij.lang.ant.config.impl.TargetChooserDialog; import com.intellij.lang.ant.config.impl.configuration.UIPropertyBinding; @@ -85,6 +87,7 @@ public class AntArtifactPropertiesEditor extends ArtifactPropertiesEditor { }; private final AntArtifactProperties myProperties; private final ArtifactEditorContext myContext; + private final AntConfigurationListener myAntConfigurationListener; private JPanel myMainPanel; private JCheckBox myRunTargetCheckBox; private FixedSizeButton mySelectTargetButton; @@ -167,6 +170,29 @@ public class AntArtifactPropertiesEditor extends ArtifactPropertiesEditor { return enable; } }).disableUpDownActions().createPanel(), BorderLayout.CENTER); + final AntConfiguration antConfiguration = AntConfiguration.getInstance(context.getProject()); + myAntConfigurationListener = new AntConfigurationListener() { + @Override + public void configurationLoaded() { + if (myTarget == null) { + myTarget = myProperties.findTarget(antConfiguration); + updatePanel(); + } + } + + @Override + public void buildFileChanged(AntBuildFile buildFile) { + } + + @Override + public void buildFileAdded(AntBuildFile buildFile) { + } + + @Override + public void buildFileRemoved(AntBuildFile buildFile) { + } + }; + antConfiguration.addAntConfigurationListener(myAntConfigurationListener); } private void selectTarget() { @@ -246,5 +272,6 @@ public class AntArtifactPropertiesEditor extends ArtifactPropertiesEditor { } public void disposeUIResources() { + AntConfiguration.getInstance(myContext.getProject()).removeAntConfigurationListener(myAntConfigurationListener); } }