Prevent updating item manager view if filters didn't change

Focus item manager when Deck Editor opened and when filters hidden/shown
This commit is contained in:
drdev
2014-01-04 03:07:14 +00:00
parent 85d32d49e2
commit 18809bc918
2 changed files with 16 additions and 1 deletions

View File

@@ -472,6 +472,13 @@ public enum CDeckEditorUI implements ICDoc {
catView.setWantUnique(wantUnique); catView.setWantUnique(wantUnique);
deckView.setWantUnique(wantUnique); deckView.setWantUnique(wantUnique);
catView.applyFilters(); catView.applyFilters();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
catView.focus();
}
});
} }
private class _FindAsYouType extends KeyAdapter { private class _FindAsYouType extends KeyAdapter {

View File

@@ -211,6 +211,12 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
@Override @Override
public void run() { public void run() {
setHideFilters(!getHideFilters()); setHideFilters(!getHideFilters());
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
focus();
}
});
} }
}; };
@@ -708,8 +714,10 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
predicates.add(mainSearchFilter.buildPredicate(this.genericType)); predicates.add(mainSearchFilter.buildPredicate(this.genericType));
} }
this.filterPredicate = predicates.size() == 0 ? null : Predicates.and(predicates); Predicate<? super T> newFilterPredicate = predicates.size() == 0 ? null : Predicates.and(predicates);
if (this.filterPredicate == newFilterPredicate) { return; }
this.filterPredicate = newFilterPredicate;
if (this.pool != null) { if (this.pool != null) {
this.updateView(true); this.updateView(true);
} }