Added client config option to remember the Grid search query. Fixes #2642

This commit is contained in:
raoulvdberge
2020-09-12 00:14:55 +02:00
parent d6c801baf8
commit aba679a6b0
3 changed files with 21 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ public class ClientConfig {
private final ForgeConfigSpec.BooleanValue detailedTooltip;
private final ForgeConfigSpec.BooleanValue largeFont;
private final ForgeConfigSpec.BooleanValue preventSortingWhileShiftIsDown;
private final ForgeConfigSpec.BooleanValue rememberSearchQuery;
public Grid() {
builder.push("grid");
@@ -41,6 +42,7 @@ public class ClientConfig {
detailedTooltip = builder.comment("Whether the Grid should display a detailed tooltip when hovering over an item or fluid").define("detailedTooltip", true);
largeFont = builder.comment("Whether the Grid should use a large font for stack quantity display").define("largeFont", false);
preventSortingWhileShiftIsDown = builder.comment("Whether the Grid should prevent sorting while the shift key is held down").define("preventSortingWhileShiftIsDown", true);
rememberSearchQuery = builder.comment("Whether the Grid should remember the search query when closing and re-opening the Grid").define("rememberSearchQuery", false);
builder.pop();
}
@@ -60,6 +62,10 @@ public class ClientConfig {
public boolean getPreventSortingWhileShiftIsDown() {
return preventSortingWhileShiftIsDown.get();
}
public boolean getRememberSearchQuery() {
return rememberSearchQuery.get();
}
}
public class CrafterManager {

View File

@@ -45,6 +45,8 @@ import java.util.LinkedList;
import java.util.List;
public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfoProvider {
private static String searchQuery = "";
private IGridView view;
private SearchWidget searchField;
@@ -109,8 +111,11 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
searchField.updateJei();
getView().sort(); // Use getter since this view can be replaced.
searchQuery = value;
});
searchField.setMode(grid.getSearchBoxMode());
searchField.setText(searchQuery);
} else {
searchField.x = sx;
searchField.y = sy;
@@ -552,6 +557,15 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
return super.keyPressed(key, scanCode, modifiers);
}
@Override
public void onClose() {
super.onClose();
if (!RS.CLIENT_CONFIG.getGrid().getRememberSearchQuery()) {
searchQuery = "";
}
}
public SearchWidget getSearchField() {
return searchField;
}