diff --git a/CHANGELOG.md b/CHANGELOG.md index b81f2601..dc4bf0af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +3.4.1 +======================== +* Filter terms can now be negated by prepending them with a "!" + 3.4.0 ======================== * Added support for Stripchat diff --git a/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java b/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java index 8466d7d0..db05f24e 100644 --- a/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java +++ b/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java @@ -814,8 +814,14 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener { if (m.getOnlineState(true) != ctbrec.Model.State.ONLINE) { tokensMissing = true; } - } else if (!searchText.toLowerCase().contains(token.toLowerCase())) { - tokensMissing = true; + } else { + boolean negated = false; + if(token.startsWith("!")) { + negated = true; + token = token.substring(1); + } + boolean tokenFound = searchText.toLowerCase().contains(token.toLowerCase()); + tokensMissing = !tokenFound && !negated || tokenFound && negated; } return !tokensMissing; }