diff --git a/client/gui/AEBaseGui.java b/client/gui/AEBaseGui.java index d1635e81..61faf833 100644 --- a/client/gui/AEBaseGui.java +++ b/client/gui/AEBaseGui.java @@ -56,9 +56,18 @@ public abstract class AEBaseGui extends GuiContainer protected List meSlots = new LinkedList(); protected GuiScrollbar myScrollBar = null; + static public boolean switchingGuis; + final private boolean subGui; public AEBaseGui(Container container) { super( container ); + subGui = switchingGuis; + switchingGuis = false; + } + + public boolean isSubGui() + { + return subGui; } @Override diff --git a/client/gui/implementations/GuiMEMonitorable.java b/client/gui/implementations/GuiMEMonitorable.java index a5d73f34..431541d3 100644 --- a/client/gui/implementations/GuiMEMonitorable.java +++ b/client/gui/implementations/GuiMEMonitorable.java @@ -44,6 +44,8 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi { MEGuiTextField searchField; + private static String memoryText = ""; + ItemRepo repo; GuiText myName; @@ -127,6 +129,13 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi this.initGui(); } + @Override + public void onGuiClosed() + { + super.onGuiClosed(); + memoryText = searchField.getText(); + } + @Override public void initGui() { @@ -213,7 +222,13 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi Enum setting = AEConfig.instance.settings.getSetting( Settings.SEARCH_MODE ); searchField.setFocused( SearchBoxMode.AUTOSEARCH == setting || SearchBoxMode.NEI_AUTOSEARCH == setting ); - setScrollBar(); + if ( isSubGui() ) + { + searchField.setText( memoryText ); + repo.searchString = memoryText; + repo.updateView(); + setScrollBar(); + } for (Object s : inventorySlots.inventorySlots) { diff --git a/core/sync/packets/PacketSwitchGuis.java b/core/sync/packets/PacketSwitchGuis.java index 718d97cf..fd4ee425 100644 --- a/core/sync/packets/PacketSwitchGuis.java +++ b/core/sync/packets/PacketSwitchGuis.java @@ -8,6 +8,7 @@ import java.io.IOException; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.tileentity.TileEntity; +import appeng.client.gui.AEBaseGui; import appeng.container.AEBaseContainer; import appeng.container.ContainerOpenContext; import appeng.core.sync.AppEngPacket; @@ -46,6 +47,8 @@ public class PacketSwitchGuis extends AppEngPacket this.newGui = newGui; + AEBaseGui.switchingGuis = true; + ByteBuf data = Unpooled.buffer(); data.writeInt( getPacketID() );