From 73f84915829e46d731d20ce96228919167c8e94a Mon Sep 17 00:00:00 2001 From: marhali Date: Sun, 30 Jan 2022 12:19:04 +0100 Subject: [PATCH] suggest file pattern on parser change --- .../de/marhali/easyi18n/dialog/SettingsDialog.java | 13 +++++++++++++ .../marhali/easyi18n/model/bus/ParserStrategy.java | 4 ++++ 2 files changed, 17 insertions(+) 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;