diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/CDeckEditorUI.java b/forge-gui/src/main/java/forge/gui/deckeditor/CDeckEditorUI.java index 1426376d917..f4927b66175 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/CDeckEditorUI.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/CDeckEditorUI.java @@ -472,6 +472,13 @@ public enum CDeckEditorUI implements ICDoc { catView.setWantUnique(wantUnique); deckView.setWantUnique(wantUnique); catView.applyFilters(); + + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + catView.focus(); + } + }); } private class _FindAsYouType extends KeyAdapter { diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java index 1d365dedc97..b176b0af652 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java @@ -211,6 +211,12 @@ public abstract class ItemManager extends JPanel { @Override public void run() { setHideFilters(!getHideFilters()); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + focus(); + } + }); } }; @@ -708,8 +714,10 @@ public abstract class ItemManager extends JPanel { predicates.add(mainSearchFilter.buildPredicate(this.genericType)); } - this.filterPredicate = predicates.size() == 0 ? null : Predicates.and(predicates); + Predicate newFilterPredicate = predicates.size() == 0 ? null : Predicates.and(predicates); + if (this.filterPredicate == newFilterPredicate) { return; } + this.filterPredicate = newFilterPredicate; if (this.pool != null) { this.updateView(true); }