From 0e014f8d8daa1b046ab4552b730b6a4f61a392d8 Mon Sep 17 00:00:00 2001
From: 0xb00bface <0xboobface@gmail.com>
Date: Sat, 27 Mar 2021 18:46:13 +0100
Subject: [PATCH] Fix display of "nothing found" label in thumb overviews

---
 .../java/ctbrec/ui/tabs/ThumbOverviewTab.java | 48 +++++++++----------
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java b/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java
index db2dfa29..3e335286 100644
--- a/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java
+++ b/client/src/main/java/ctbrec/ui/tabs/ThumbOverviewTab.java
@@ -383,11 +383,6 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
 
             // move models, which are tracked by the recorder to the front
             moveActiveRecordingsToFront();
-
-            // show "empty" label, if grid is still empty
-            if (grid.getChildren().isEmpty()) {
-                nodes.add(noResultsFound);
-            }
         } finally {
             gridLock.unlock();
         }
@@ -795,31 +790,36 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
                 insert(thumbCell);
             }
             filteredThumbCells.clear();
-            return;
-        }
+        } else {
+            // remove the ones from grid, which don't match
+            for (Iterator<Node> iterator = grid.getChildren().iterator(); iterator.hasNext();) {
+                Node node = iterator.next();
+                if (node instanceof ThumbCell) {
+                    ThumbCell cell = (ThumbCell) node;
+                    Model m = cell.getModel();
+                    if (!matches(m, filter)) {
+                        iterator.remove();
+                        filteredThumbCells.add(cell);
+                        cell.setSelected(false);
+                    }
+                }
+            }
 
-        // remove the ones from grid, which don't match
-        for (Iterator<Node> iterator = grid.getChildren().iterator(); iterator.hasNext();) {
-            Node node = iterator.next();
-            if (node instanceof ThumbCell) {
-                ThumbCell cell = (ThumbCell) node;
-                Model m = cell.getModel();
-                if (!matches(m, filter)) {
+            // add the ones, which might have been filtered before, but now match
+            for (Iterator<ThumbCell> iterator = filteredThumbCells.iterator(); iterator.hasNext();) {
+                ThumbCell thumbCell = iterator.next();
+                Model m = thumbCell.getModel();
+                if(matches(m, filter)) {
                     iterator.remove();
-                    filteredThumbCells.add(cell);
-                    cell.setSelected(false);
+                    insert(thumbCell);
                 }
             }
         }
 
-        // add the ones, which might have been filtered before, but now match
-        for (Iterator<ThumbCell> iterator = filteredThumbCells.iterator(); iterator.hasNext();) {
-            ThumbCell thumbCell = iterator.next();
-            Model m = thumbCell.getModel();
-            if(matches(m, filter)) {
-                iterator.remove();
-                insert(thumbCell);
-            }
+        if (grid.getChildren().size() > 1 && grid.getChildren().contains(noResultsFound)) {
+            grid.getChildren().remove(noResultsFound);
+        } else if (grid.getChildren().isEmpty()) {
+            grid.getChildren().add(noResultsFound);
         }
     }