diff --git a/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java b/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java index a13f023..558b74c 100644 --- a/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java +++ b/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java @@ -20,6 +20,8 @@ import de.marhali.easyi18n.service.SettingsService; import javax.swing.*; import java.awt.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import java.util.ResourceBundle; /** @@ -101,6 +103,7 @@ public class SettingsDialog { parserStrategyComboBox = new ComboBox<>(bundle.getString("settings.strategy.parser").split(ArrayMapper.SPLITERATOR_REGEX)); parserStrategyComboBox.setSelectedIndex(state.getParserStrategy().toIndex()); parserStrategyComboBox.setToolTipText(bundle.getString("settings.strategy.parser.tooltip")); + parserStrategyComboBox.addItemListener(handleParserChange()); constraints.fill = GridBagConstraints.HORIZONTAL; constraints.gridx = 1; constraints.gridy = 0; @@ -157,4 +160,14 @@ public class SettingsDialog { return builder; } + + private ItemListener handleParserChange() { + return e -> { + if(e.getStateChange() == ItemEvent.SELECTED) { + // Automatically suggest file pattern option on parser change + ParserStrategy newStrategy = ParserStrategy.fromIndex(parserStrategyComboBox.getSelectedIndex()); + filePatternText.setText(newStrategy.getExampleFilePattern()); + } + }; + } } \ No newline at end of file diff --git a/src/main/java/de/marhali/easyi18n/model/bus/ParserStrategy.java b/src/main/java/de/marhali/easyi18n/model/bus/ParserStrategy.java index 7abb802..20b91e2 100644 --- a/src/main/java/de/marhali/easyi18n/model/bus/ParserStrategy.java +++ b/src/main/java/de/marhali/easyi18n/model/bus/ParserStrategy.java @@ -9,6 +9,10 @@ public enum ParserStrategy { YAML, PROPERTIES; + public String getExampleFilePattern() { + return "*." + toString().toLowerCase(); + } + public int toIndex() { int index = 0;