From 76794e588e55c3b8b978b939c5961cb4ffa7a00c Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Mon, 16 Mar 2020 13:39:39 +0100 Subject: [PATCH] Add negation (!) to filter bar Filter terms can now be negated with ! --- CHANGELOG.md | 4 ++++ .../src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) 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; }