diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.java index c3047fc..f42edd1 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.java @@ -51,12 +51,11 @@ public enum GtkEnvBackend implements LauncherEnv.EnvBackend { //TODO test Box box = dialog.contentArea; box.append(new Label(details)); Entry entry = new Entry(); - Editable entryEditable = (Editable) entry; - entryEditable.text = defaultValue; + entry.text = defaultValue; box.append(entry); dialog.addButton(I18n.get("ok"), ResponseType.OK.getValue()); dialog.addButton(I18n.get("cancel"), ResponseType.CANCEL.getValue()); - dialog.onResponse(processResponses(dialog, () -> ok.accept(entryEditable.text.toString()), cancel)); + dialog.onResponse(processResponses(dialog, () -> ok.accept(entry.text), cancel)); dialog.show(); }); } diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceGridEntryFactory.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceGridEntryFactory.java index 52bf2fa..1e9652f 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceGridEntryFactory.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceGridEntryFactory.java @@ -65,7 +65,7 @@ public class InstanceGridEntryFactory extends SignalListItemFactory { ListItem li = (ListItem) item; Box box = (Box) li.getChild(); - InstanceThumbnail thumbnail = (InstanceThumbnail) box.firstChild; + InstanceThumbnail thumbnail = InstanceThumbnail.castFrom((Stack) box.firstChild); Label label = (Label) thumbnail.nextSibling; Instance instance = instanceList.get(((ListIndexItem) li.getItem()).getIntValue()); diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexModel.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexModel.java index 9534ec8..0cc0852 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexModel.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexModel.java @@ -62,9 +62,11 @@ public class ListIndexModel extends GObject implements ListModel { } public void setSize(int size) { + int oldSize = getNItems(); getMemoryLayout() .varHandle(MemoryLayout.PathElement.groupElement("size")) .set(MemorySegment.ofAddress((MemoryAddress) handle(), getMemoryLayout().byteSize(), MemorySession.openImplicit()), size); + itemsChanged(0, oldSize, size); } @Override diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/MainWindow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/MainWindow.java index 301d2e8..fcc910d 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/MainWindow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/MainWindow.java @@ -149,7 +149,7 @@ public class MainWindow extends ApplicationWindow { try { instanceList.clear(); instanceList.addAll(InstanceList.ordered()); - instanceListIndex.setSize(instanceList.size()); + instanceListIndex.size = instanceList.size(); if (InstanceList.isEmpty) stack.visibleChild = empty; else if (InceptumConfig.listView) stack.visibleChild = listView;