diff --git a/source/net/filebot/resources/action.match.strict.png b/source/net/filebot/resources/action.match.strict.png new file mode 100644 index 00000000..9a2caefc Binary files /dev/null and b/source/net/filebot/resources/action.match.strict.png differ diff --git a/source/net/filebot/ui/rename/MatchAction.java b/source/net/filebot/ui/rename/MatchAction.java index 5542ca3a..f94856b8 100644 --- a/source/net/filebot/ui/rename/MatchAction.java +++ b/source/net/filebot/ui/rename/MatchAction.java @@ -33,9 +33,14 @@ class MatchAction extends AbstractAction { public MatchAction(RenameModel model) { this.model = model; + // initialize with default values + setMatchMode(false); + } + + public void setMatchMode(boolean strict) { putValue(NAME, "Match"); - putValue(SMALL_ICON, ResourceManager.getIcon("action.match")); putValue(SHORT_DESCRIPTION, "Match files and names"); + putValue(SMALL_ICON, ResourceManager.getIcon(strict ? "action.match.strict" : "action.match")); } public void actionPerformed(ActionEvent evt) { diff --git a/source/net/filebot/ui/rename/RenamePanel.java b/source/net/filebot/ui/rename/RenamePanel.java index 0a2d5a79..cd1c7f16 100644 --- a/source/net/filebot/ui/rename/RenamePanel.java +++ b/source/net/filebot/ui/rename/RenamePanel.java @@ -108,6 +108,9 @@ public class RenamePanel extends JComponent { filesList.setTitle("Original Files"); filesList.setTransferablePolicy(new FilesListTransferablePolicy(renameModel.files())); + // restore icon indicating current match mode + matchAction.setMatchMode(isMatchModeStrict()); + try { // restore custom episode formatter renameModel.useFormatter(Episode.class, new ExpressionFormatter(persistentEpisodeFormat.getValue(), EpisodeFormat.SeasonEpisode, Episode.class)); @@ -354,6 +357,10 @@ public class RenamePanel extends JComponent { }); } + private boolean isMatchModeStrict() { + return "strict".equalsIgnoreCase(persistentPreferredMatchMode.getValue()); + } + protected ActionPopup createFetchPopup() { final ActionPopup actionPopup = new ActionPopup("Series / Movie Data", ResourceManager.getIcon("action.fetch")); @@ -452,6 +459,9 @@ public class RenamePanel extends JComponent { persistentPreferredMatchMode.setValue((String) modeCombo.getSelectedItem()); persistentPreferredLanguage.setValue(((Language) languageList.getSelectedValue()).getCode()); persistentPreferredEpisodeOrder.setValue(((SortOrder) orderCombo.getSelectedItem()).name()); + + // update UI + matchAction.setMatchMode(isMatchModeStrict()); } } }); @@ -645,7 +655,7 @@ public class RenamePanel extends JComponent { renameModel.values().clear(); final List remainingFiles = new LinkedList(renameModel.files()); - final boolean strict = "strict".equalsIgnoreCase(persistentPreferredMatchMode.getValue()); + final boolean strict = isMatchModeStrict(); final SortOrder order = SortOrder.forName(persistentPreferredEpisodeOrder.getValue()); final Locale locale = new Locale(persistentPreferredLanguage.getValue()); final boolean autodetection = !isShiftOrAltDown(evt); // skip name auto-detection if SHIFT is pressed