From 0f9a9e9bfa39cc372d1ba746022c53f35c7ad822 Mon Sep 17 00:00:00 2001 From: Simon Harrer Date: Sun, 13 Mar 2016 12:01:43 +0100 Subject: [PATCH] A single class which handles the preference for highlighting matching groups. --- .../HighlightMatchingGroupPreferences.java | 39 +++++++++++++++++++ .../java/net/sf/jabref/gui/BasePanel.java | 12 +++--- .../java/net/sf/jabref/gui/JabRefFrame.java | 6 +-- 3 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 src/main/java/net/sf/jabref/HighlightMatchingGroupPreferences.java diff --git a/src/main/java/net/sf/jabref/HighlightMatchingGroupPreferences.java b/src/main/java/net/sf/jabref/HighlightMatchingGroupPreferences.java new file mode 100644 index 00000000000..55dbcb3b397 --- /dev/null +++ b/src/main/java/net/sf/jabref/HighlightMatchingGroupPreferences.java @@ -0,0 +1,39 @@ +package net.sf.jabref; + +public class HighlightMatchingGroupPreferences { + + public static final String ALL = "all"; + public static final String ANY = "any"; + public static final String DISABLED = ""; + + private final JabRefPreferences preferences; + + public HighlightMatchingGroupPreferences(JabRefPreferences preferences) { + this.preferences = preferences; + } + + public boolean isAll() { + return ALL.equals(preferences.get(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING)); + } + + public boolean isAny() { + return ANY.equals(preferences.get(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING)); + } + + public boolean isDisabled() { + return !isAll() && !isAny(); + } + + public void setToAll() { + preferences.put(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING, ALL); + } + + public void setToAny() { + preferences.put(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING, ANY); + } + + public void setToDisabled() { + preferences.put(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING, DISABLED); + } + +} diff --git a/src/main/java/net/sf/jabref/gui/BasePanel.java b/src/main/java/net/sf/jabref/gui/BasePanel.java index d63cc8bf755..ff27c6d041c 100644 --- a/src/main/java/net/sf/jabref/gui/BasePanel.java +++ b/src/main/java/net/sf/jabref/gui/BasePanel.java @@ -1053,19 +1053,19 @@ public void update() { }); actions.put(Actions.TOGGLE_HIGHLIGHTS_GROUPS_MATCHING_ANY, (BaseAction) () -> { - Globals.prefs.put(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING, "any"); + new HighlightMatchingGroupPreferences(Globals.prefs).setToAny(); // ping the listener so it updates: groupsHighlightListener.listChanged(null); }); actions.put(Actions.TOGGLE_HIGHLIGHTS_GROUPS_MATCHING_ALL, (BaseAction) () -> { - Globals.prefs.put(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING, "all"); + new HighlightMatchingGroupPreferences(Globals.prefs).setToAll(); // ping the listener so it updates: groupsHighlightListener.listChanged(null); }); actions.put(Actions.TOGGLE_HIGHLIGHTS_GROUPS_MATCHING_DISABLE, (BaseAction) () -> { - Globals.prefs.put(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING, ""); + new HighlightMatchingGroupPreferences(Globals.prefs).setToDisabled(); // ping the listener so it updates: groupsHighlightListener.listChanged(null); }); @@ -1432,10 +1432,10 @@ private void createMainTable() { @Override public void listChanged(ListEvent listEvent) { - String highlightGroupsMatchingOption = Globals.prefs.get(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING); - if ("any".equals(highlightGroupsMatchingOption)) { + HighlightMatchingGroupPreferences highlightMatchingGroupPreferences = new HighlightMatchingGroupPreferences(Globals.prefs); + if(highlightMatchingGroupPreferences.isAny()) { getGroupSelector().showMatchingGroups(mainTable.getSelectedEntries(), false); - } else if ("all".equals(highlightGroupsMatchingOption)) { + } else if (highlightMatchingGroupPreferences.isAll()) { getGroupSelector().showMatchingGroups(mainTable.getSelectedEntries(), true); } else { // no highlight diff --git a/src/main/java/net/sf/jabref/gui/JabRefFrame.java b/src/main/java/net/sf/jabref/gui/JabRefFrame.java index 213615de41b..684ff1bc23c 100644 --- a/src/main/java/net/sf/jabref/gui/JabRefFrame.java +++ b/src/main/java/net/sf/jabref/gui/JabRefFrame.java @@ -1274,10 +1274,10 @@ private void fillMenu() { highlightButtonGroup.add(toggleHighlightAnyItem); highlightButtonGroup.add(toggleHighlightAllItem); - String toggleHighlightStatus = Globals.prefs.get(JabRefPreferences.HIGHLIGHT_GROUPS_MATCHING); - if("all".equals(toggleHighlightStatus)) { + HighlightMatchingGroupPreferences highlightMatchingGroupPreferences = new HighlightMatchingGroupPreferences(Globals.prefs); + if(highlightMatchingGroupPreferences.isAll()) { toggleHighlightAllItem.setSelected(true); - } else if("any".equals(toggleHighlightStatus)) { + } else if(highlightMatchingGroupPreferences.isAny()) { toggleHighlightAnyItem.setSelected(true); } else { toggleHighlightDisableItem.setSelected(true);