From 5f5abb98b8ee0fe2c6135f586dcee9856d69aa7e Mon Sep 17 00:00:00 2001 From: marhali Date: Fri, 27 May 2022 11:29:29 +0200 Subject: [PATCH] refactor listener and add new duplicates filter --- .../de/marhali/easyi18n/model/bus/BusListener.java | 7 ++++--- .../model/bus/FilterDuplicateListener.java | 14 ++++++++++++++ ...Listener.java => FilterIncompleteListener.java} | 6 +++--- .../easyi18n/model/bus/SearchQueryListener.java | 2 +- .../easyi18n/model/bus/UpdateDataListener.java | 2 +- .../easyi18n/tabs/mapper/TableModelMapper.java | 4 ++-- .../easyi18n/tabs/mapper/TreeModelMapper.java | 4 ++-- 7 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 src/main/java/de/marhali/easyi18n/model/bus/FilterDuplicateListener.java rename src/main/java/de/marhali/easyi18n/model/bus/{FilterMissingTranslationsListener.java => FilterIncompleteListener.java} (63%) diff --git a/src/main/java/de/marhali/easyi18n/model/bus/BusListener.java b/src/main/java/de/marhali/easyi18n/model/bus/BusListener.java index a48b07c..3747f41 100644 --- a/src/main/java/de/marhali/easyi18n/model/bus/BusListener.java +++ b/src/main/java/de/marhali/easyi18n/model/bus/BusListener.java @@ -2,8 +2,9 @@ package de.marhali.easyi18n.model.bus; /** * Interface for communication of changes for participants of the data bus. - * Every listener needs to be registered manually via {@link de.marhali.easyi18n.DataBus}. + * Every listener needs to be registered via {@link de.marhali.easyi18n.DataBus}. + * * @author marhali */ -public interface BusListener extends UpdateDataListener, FocusKeyListener, - SearchQueryListener, FilterMissingTranslationsListener {} \ No newline at end of file +public interface BusListener extends UpdateDataListener, FilterIncompleteListener, + FilterDuplicateListener, SearchQueryListener, FocusKeyListener {} \ No newline at end of file diff --git a/src/main/java/de/marhali/easyi18n/model/bus/FilterDuplicateListener.java b/src/main/java/de/marhali/easyi18n/model/bus/FilterDuplicateListener.java new file mode 100644 index 0000000..ddb6dfd --- /dev/null +++ b/src/main/java/de/marhali/easyi18n/model/bus/FilterDuplicateListener.java @@ -0,0 +1,14 @@ +package de.marhali.easyi18n.model.bus; + +/** + * Single event listener + * @see #onFilterDuplicate(boolean) + * @author marhali + */ +public interface FilterDuplicateListener { + /** + * Toggles filter of duplicated translation values + * @param filter True if only translations with duplicates values should be shown + */ + void onFilterDuplicate(boolean filter); +} diff --git a/src/main/java/de/marhali/easyi18n/model/bus/FilterMissingTranslationsListener.java b/src/main/java/de/marhali/easyi18n/model/bus/FilterIncompleteListener.java similarity index 63% rename from src/main/java/de/marhali/easyi18n/model/bus/FilterMissingTranslationsListener.java rename to src/main/java/de/marhali/easyi18n/model/bus/FilterIncompleteListener.java index 16d3457..d036051 100644 --- a/src/main/java/de/marhali/easyi18n/model/bus/FilterMissingTranslationsListener.java +++ b/src/main/java/de/marhali/easyi18n/model/bus/FilterIncompleteListener.java @@ -4,10 +4,10 @@ package de.marhali.easyi18n.model.bus; * Single event listener. * @author marhali */ -public interface FilterMissingTranslationsListener { +public interface FilterIncompleteListener { /** * Toggles filter of missing translations - * @param filter True if only translations with missing values should bw shown + * @param filter True if only translations with missing values should be shown */ - void onFilterMissingTranslations(boolean filter); + void onFilterIncomplete(boolean filter); } \ No newline at end of file diff --git a/src/main/java/de/marhali/easyi18n/model/bus/SearchQueryListener.java b/src/main/java/de/marhali/easyi18n/model/bus/SearchQueryListener.java index 293f3ce..11a583a 100644 --- a/src/main/java/de/marhali/easyi18n/model/bus/SearchQueryListener.java +++ b/src/main/java/de/marhali/easyi18n/model/bus/SearchQueryListener.java @@ -9,7 +9,7 @@ import org.jetbrains.annotations.Nullable; public interface SearchQueryListener { /** * Filter the displayed data according to the search query. Supply 'null' to return to the normal state. - * The keys and the content itself should be considered. + * The keys and the content itself should be considered (full-text-search). * @param query Filter key or content */ void onSearchQuery(@Nullable String query); diff --git a/src/main/java/de/marhali/easyi18n/model/bus/UpdateDataListener.java b/src/main/java/de/marhali/easyi18n/model/bus/UpdateDataListener.java index d6c9cb2..2a166a5 100644 --- a/src/main/java/de/marhali/easyi18n/model/bus/UpdateDataListener.java +++ b/src/main/java/de/marhali/easyi18n/model/bus/UpdateDataListener.java @@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; */ public interface UpdateDataListener { /** - * Update the translations based on the supplied data. + * Update the underlying translation data set. * @param data Updated translations */ void onUpdateData(@NotNull TranslationData data); diff --git a/src/main/java/de/marhali/easyi18n/tabs/mapper/TableModelMapper.java b/src/main/java/de/marhali/easyi18n/tabs/mapper/TableModelMapper.java index 62760cd..2a049a6 100644 --- a/src/main/java/de/marhali/easyi18n/tabs/mapper/TableModelMapper.java +++ b/src/main/java/de/marhali/easyi18n/tabs/mapper/TableModelMapper.java @@ -2,7 +2,7 @@ package de.marhali.easyi18n.tabs.mapper; import de.marhali.easyi18n.model.TranslationData; import de.marhali.easyi18n.model.action.TranslationUpdate; -import de.marhali.easyi18n.model.bus.FilterMissingTranslationsListener; +import de.marhali.easyi18n.model.bus.FilterIncompleteListener; import de.marhali.easyi18n.model.bus.SearchQueryListener; import de.marhali.easyi18n.model.KeyPath; import de.marhali.easyi18n.model.Translation; @@ -23,7 +23,7 @@ import java.util.function.Consumer; * Mapping {@link TranslationData} to {@link TableModel}. * @author marhali */ -public class TableModelMapper implements TableModel, SearchQueryListener, FilterMissingTranslationsListener { +public class TableModelMapper implements TableModel, SearchQueryListener, FilterIncompleteListener { private final @NotNull TranslationData data; private final @NotNull KeyPathConverter converter; diff --git a/src/main/java/de/marhali/easyi18n/tabs/mapper/TreeModelMapper.java b/src/main/java/de/marhali/easyi18n/tabs/mapper/TreeModelMapper.java index 18ff29c..18279dd 100644 --- a/src/main/java/de/marhali/easyi18n/tabs/mapper/TreeModelMapper.java +++ b/src/main/java/de/marhali/easyi18n/tabs/mapper/TreeModelMapper.java @@ -5,7 +5,7 @@ import com.intellij.ui.JBColor; import de.marhali.easyi18n.model.TranslationData; import de.marhali.easyi18n.model.TranslationNode; -import de.marhali.easyi18n.model.bus.FilterMissingTranslationsListener; +import de.marhali.easyi18n.model.bus.FilterIncompleteListener; import de.marhali.easyi18n.model.bus.SearchQueryListener; import de.marhali.easyi18n.model.KeyPath; import de.marhali.easyi18n.model.TranslationValue; @@ -25,7 +25,7 @@ import java.util.Map; * Mapping {@link TranslationData} to {@link TreeModel}. * @author marhali */ -public class TreeModelMapper extends DefaultTreeModel implements SearchQueryListener, FilterMissingTranslationsListener { +public class TreeModelMapper extends DefaultTreeModel implements SearchQueryListener, FilterIncompleteListener { private final TranslationData data; private final KeyPathConverter converter;