diff --git a/CHANGELOG.md b/CHANGELOG.md index 753890448..4bb3f2e7a 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### 1.9.6 - Fixed Portable Grid losing enchantments when placing and breaking (raoulvdberge) +- Added client config option to remember the Grid search query (raoulvdberge) ### 1.9.5 - Re-added the `/refinedstorage disk create ` command (raoulvdberge) diff --git a/src/main/java/com/refinedmods/refinedstorage/config/ClientConfig.java b/src/main/java/com/refinedmods/refinedstorage/config/ClientConfig.java index 856600bca..2e529c2a1 100644 --- a/src/main/java/com/refinedmods/refinedstorage/config/ClientConfig.java +++ b/src/main/java/com/refinedmods/refinedstorage/config/ClientConfig.java @@ -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 { diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java index 53ed59246..c3c274790 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java @@ -45,6 +45,8 @@ import java.util.LinkedList; import java.util.List; public class GridScreen extends BaseScreen implements IScreenInfoProvider { + private static String searchQuery = ""; + private IGridView view; private SearchWidget searchField; @@ -109,8 +111,11 @@ public class GridScreen extends BaseScreen 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 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; }