diff --git a/src/main/scala/ocelot/desktop/windows/OcelotInterfaceWindow.scala b/src/main/scala/ocelot/desktop/windows/OcelotInterfaceWindow.scala index 6769997..acdc290 100644 --- a/src/main/scala/ocelot/desktop/windows/OcelotInterfaceWindow.scala +++ b/src/main/scala/ocelot/desktop/windows/OcelotInterfaceWindow.scala @@ -7,7 +7,9 @@ import ocelot.desktop.ui.widget.LogWidget.{LogEntry, TextLogEntry} import ocelot.desktop.ui.widget.window.PanelWindow import ocelot.desktop.ui.widget.{Button, Checkbox, Filler, Label, LogWidget, PaddingBox, TextInput, Widget} import ocelot.desktop.util.{OcelotInterfaceLogStorage, Orientation} +import ocelot.desktop.windows.OcelotInterfaceWindow.ScrollToEndTag import org.lwjgl.input.Keyboard +import totoro.ocelot.brain.nbt.NBTTagCompound class OcelotInterfaceWindow(storage: OcelotInterfaceLogStorage) extends PanelWindow { override protected def title: String = s"${storage.name} ${storage.ocelotInterface.node.address}" @@ -127,4 +129,20 @@ class OcelotInterfaceWindow(storage: OcelotInterfaceLogStorage) extends PanelWin def pushLine(line: String): Unit = { storage.ocelotInterface.pushMessage(line) } + + override def save(nbt: NBTTagCompound): Unit = { + super.save(nbt) + nbt.setBoolean(ScrollToEndTag, logWidget.scrollToEnd) + } + + override def load(nbt: NBTTagCompound): Unit = { + super.load(nbt) + if (nbt.hasKey(ScrollToEndTag)) { + logWidget.scrollToEnd = nbt.getBoolean(ScrollToEndTag) + } + } +} + +object OcelotInterfaceWindow { + private val ScrollToEndTag = "scrollToEnd" }