IDEA-208525 Changes to my Environment Variables in Configurations aren't saving

GitOrigin-RevId: 04a1b196ede7a6a90ac87721f1e5735bf3fee3b6
This commit is contained in:
Vassiliy.Kudryashov
2019-05-20 20:14:49 +03:00
committed by intellij-monorepo-bot
parent c37e61ec49
commit 6a2d78291d
2 changed files with 13 additions and 0 deletions
@@ -293,6 +293,7 @@ public class EnvVariablesTable extends ListTableWithButtons<EnvironmentVariable>
return new AnActionButton[]{copyButton, pasteButton};
}
@NotNull
public static Map<String, String> parseEnvsFromText(String content) {
Map<String, String> result = new LinkedHashMap<>();
if (content != null && content.contains("=")) {
@@ -17,6 +17,7 @@ import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.AnActionButton;
import com.intellij.ui.AnActionButtonRunnable;
import com.intellij.ui.DocumentAdapter;
import com.intellij.ui.UserActivityProviderComponent;
import com.intellij.ui.table.JBTable;
import com.intellij.ui.table.TableView;
@@ -32,6 +33,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
@@ -55,6 +57,16 @@ public class EnvironmentVariablesTextFieldWithBrowseButton extends TextFieldWith
new MyEnvironmentVariablesDialog().show();
}
});
getTextField().getDocument().addDocumentListener(new DocumentAdapter() {
@Override
protected void textChanged(@NotNull DocumentEvent e) {
if (!StringUtil.equals(stringifyEnvs(myData.getEnvs()), getText())) {
Map<String, String> textEnvs = EnvVariablesTable.parseEnvsFromText(getText());
myData = EnvironmentVariablesData.create(textEnvs, myData.isPassParentEnvs());
fireStateChanged();
}
}
});
}
/**