Skip to content

Commit ca9e041

Browse files
committedJan 10, 2017
save last user selected service generator output format and reuse this value on dialog init #829
1 parent f1e71c6 commit ca9e041

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed
 

‎src/fr/adrienbrault/idea/symfony2plugin/Settings.java

+5
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ public class Settings implements PersistentStateComponent<Settings> {
9595
public boolean profilerHttpEnabled = false;
9696
public String profilerHttpUrl = "http://127.0.0.1:8000";
9797

98+
/**
99+
* Last user selected output of service generator eg: yaml or xml
100+
*/
101+
public String lastServiceGeneratorLanguage = null;
102+
98103
@Nullable
99104
public List<TwigNamespaceSetting> twigNamespaces = new ArrayList<>();
100105

‎src/fr/adrienbrault/idea/symfony2plugin/action/ui/SymfonyCreateService.java

+20-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.intellij.util.ui.ColumnInfo;
1818
import com.intellij.util.ui.ListTableModel;
1919
import com.jetbrains.php.lang.psi.elements.*;
20+
import fr.adrienbrault.idea.symfony2plugin.Settings;
2021
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
2122
import fr.adrienbrault.idea.symfony2plugin.action.ServiceActionUtil;
2223
import fr.adrienbrault.idea.symfony2plugin.dic.ContainerService;
@@ -111,10 +112,24 @@ public void init() {
111112
new IsServiceColumn()
112113
);
113114

114-
// default is xml
115-
radioButtonOutXml.setSelected(true);
115+
// set default output language on last user selection
116+
String lastServiceGeneratorLanguage = Settings.getInstance(project).lastServiceGeneratorLanguage;
117+
if ("xml".equalsIgnoreCase(lastServiceGeneratorLanguage)) {
118+
radioButtonOutXml.setSelected(true);
119+
} else if ("yaml".equalsIgnoreCase(lastServiceGeneratorLanguage)) {
120+
radioButtonOutYaml.setSelected(true);
121+
}
122+
123+
// overwrite language output on direct file context
116124
if(this.psiFile instanceof YAMLFile) {
117125
radioButtonOutYaml.setSelected(true);
126+
} else if(this.psiFile instanceof XmlFile) {
127+
radioButtonOutXml.setSelected(true);
128+
}
129+
130+
// lets use yaml as default
131+
if(!radioButtonOutYaml.isSelected() && !radioButtonOutXml.isSelected()) {
132+
radioButtonOutYaml.setSelected(true);
118133
}
119134

120135
this.tableView = new TableView<>();
@@ -307,6 +322,9 @@ private void generateServiceDefinition() {
307322
outputType = ServiceBuilder.OutputType.Yaml;
308323
}
309324

325+
// save last selection
326+
Settings.getInstance(project).lastServiceGeneratorLanguage = outputType.toString().toLowerCase();
327+
310328
textAreaOutput.setText(createServiceAsText(outputType));
311329
}
312330

0 commit comments

Comments
 (0)
Please sign in to comment.