mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
use StringUtils to compare ignoring case (that will actually save Ncards + 1 string allocations per search)
This commit is contained in:
@@ -38,6 +38,9 @@ import javax.swing.SwingConstants;
|
|||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.Timer;
|
import javax.swing.Timer;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.CharUtils;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.deck.DeckBase;
|
import forge.deck.DeckBase;
|
||||||
import forge.gui.CardContainer;
|
import forge.gui.CardContainer;
|
||||||
@@ -285,13 +288,13 @@ public enum CDeckEditorUI implements CardContainer {
|
|||||||
startIdx %= numItems;
|
startIdx %= numItems;
|
||||||
final int increment = reverse ? numItems - 1 : 1;
|
final int increment = reverse ? numItems - 1 : 1;
|
||||||
int stopIdx = (startIdx + numItems - increment) % numItems;
|
int stopIdx = (startIdx + numItems - increment) % numItems;
|
||||||
String searchStr = str.toString().toLowerCase(Locale.ENGLISH);
|
String searchStr = str.toString();
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
for (int idx = startIdx; true; idx = (idx + increment) % numItems) {
|
for (int idx = startIdx;; idx = (idx + increment) % numItems) {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
EditorTableModel<? extends InventoryItem> tableModel =
|
EditorTableModel<? extends InventoryItem> tableModel =
|
||||||
(EditorTableModel<? extends InventoryItem>)tableView.getTable().getModel();
|
(EditorTableModel<? extends InventoryItem>)tableView.getTable().getModel();
|
||||||
if (tableModel.rowToCard(idx).getKey().getName().toLowerCase(Locale.ENGLISH).contains(searchStr)) {
|
if (StringUtils.containsIgnoreCase(tableModel.rowToCard(idx).getKey().getName(), searchStr)) {
|
||||||
tableView.selectAndScrollTo(idx);
|
tableView.selectAndScrollTo(idx);
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
@@ -390,6 +393,8 @@ public enum CDeckEditorUI implements CardContainer {
|
|||||||
// shift down is ok. anything else is likely to be a hotkey and should not be added to the string
|
// shift down is ok. anything else is likely to be a hotkey and should not be added to the string
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Suggested change:
|
||||||
|
// if (!CharUtils.isAsciiPrintable(e.getKeyChar())) return;
|
||||||
str.append(e.getKeyChar());
|
str.append(e.getKeyChar());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user