From 2cb852c5cb1c8118fc8d0762040f239a4285f908 Mon Sep 17 00:00:00 2001 From: JFronny Date: Thu, 4 May 2023 11:14:34 +0200 Subject: [PATCH] Bump java-gi --- build.gradle.kts | 1 - launcher-gtk/build.gradle.kts | 6 +- .../org/gnome/adw/ActionRow/ActionRowExt.java | 2 +- .../{gtk => gnome}/gtk/Widget/WidgetExt.java | 4 +- .../jfronny/inceptum/gtk/GtkEnvBackend.java | 2 +- .../gitlab/jfronny/inceptum/gtk/GtkMain.java | 6 +- .../jfronny/inceptum/gtk/GtkMenubar.java | 4 +- .../jfronny/inceptum/gtk/control/ILabel.java | 2 +- .../gtk/control/InstanceGridEntryFactory.java | 8 +- .../gtk/control/InstanceListEntryFactory.java | 12 +-- .../gtk/control/InstanceThumbnail.java | 2 +- .../inceptum/gtk/control/settings/IRow.java | 2 +- .../gtk/control/settings/SettingsTab.java | 4 +- .../gtk/control/settings/SettingsWindow.java | 8 +- .../inceptum/gtk/menu/BuiltButtonItem.java | 4 +- .../inceptum/gtk/menu/BuiltMenuItem.java | 2 +- .../inceptum/gtk/menu/BuiltRadioItem.java | 4 +- .../inceptum/gtk/menu/BuiltToggleItem.java | 6 +- .../inceptum/gtk/menu/MenuBuilder.java | 12 +-- .../inceptum/gtk/util/ListIndexItem.java | 59 ------------ .../inceptum/gtk/util/ListIndexModel.java | 89 ------------------- .../inceptum/gtk/window/AboutWindow.java | 4 +- .../inceptum/gtk/window/MainWindow.java | 14 +-- .../gtk/window/NewInstanceWindow.java | 2 +- .../window/dialog/MicrosoftLoginDialog.java | 2 +- .../dialog/ProcessStateWatcherDialog.java | 6 +- .../gtk/window/dialog/StringInputDialog.java | 2 +- .../window/settings/instance/ExportTab.java | 2 +- .../window/settings/instance/GeneralTab.java | 8 +- .../instance/InstanceSettingsWindow.java | 2 +- .../window/settings/launcher/AccountsTab.java | 2 +- .../window/settings/launcher/GeneralTab.java | 2 +- .../launcher/LauncherSettingsWindow.java | 2 +- 33 files changed, 69 insertions(+), 218 deletions(-) rename launcher-gtk/src/main/java/extensions/org/{gtk => gnome}/gtk/Widget/WidgetExt.java (88%) delete mode 100644 launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexItem.java delete mode 100644 launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexModel.java diff --git a/build.gradle.kts b/build.gradle.kts index c42f7b1..f14d085 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,6 @@ allprojects { val lwjglVersion by extra("3.3.1") val imguiVersion by extra("1.86.4") -val javaGiVersion by extra("0.3") val jfCommonsVersion by extra("1.1-SNAPSHOT") val gsonCompileVersion by extra("1.3-SNAPSHOT") val jlhttpVersion by extra("2.6") diff --git a/launcher-gtk/build.gradle.kts b/launcher-gtk/build.gradle.kts index 93886b7..5c84210 100644 --- a/launcher-gtk/build.gradle.kts +++ b/launcher-gtk/build.gradle.kts @@ -14,9 +14,9 @@ repositories { } dependencies { - val javaGiVersion: String by rootProject.extra - implementation("io.github.jwharm.javagi:gtk4:$javaGiVersion") - implementation("io.github.jwharm.javagi:glib:$javaGiVersion") + implementation("io.github.jwharm.javagi:gtk:4.8.3-0.4") + implementation("io.github.jwharm.javagi:glib:1.2.10-0.4") + implementation("io.github.jwharm.javagi:adwaita:1.2.0-0.4") implementation(project(":launcher")) } diff --git a/launcher-gtk/src/main/java/extensions/org/gnome/adw/ActionRow/ActionRowExt.java b/launcher-gtk/src/main/java/extensions/org/gnome/adw/ActionRow/ActionRowExt.java index dfd707d..0bafd76 100644 --- a/launcher-gtk/src/main/java/extensions/org/gnome/adw/ActionRow/ActionRowExt.java +++ b/launcher-gtk/src/main/java/extensions/org/gnome/adw/ActionRow/ActionRowExt.java @@ -4,7 +4,7 @@ import io.gitlab.jfronny.inceptum.gtk.control.ILabel; import manifold.ext.rt.api.Extension; import manifold.ext.rt.api.This; import org.gnome.adw.ActionRow; -import org.gtk.gtk.Label; +import org.gnome.gtk.Label; @Extension public class ActionRowExt { diff --git a/launcher-gtk/src/main/java/extensions/org/gtk/gtk/Widget/WidgetExt.java b/launcher-gtk/src/main/java/extensions/org/gnome/gtk/Widget/WidgetExt.java similarity index 88% rename from launcher-gtk/src/main/java/extensions/org/gtk/gtk/Widget/WidgetExt.java rename to launcher-gtk/src/main/java/extensions/org/gnome/gtk/Widget/WidgetExt.java index 5c01f6f..93fa45e 100644 --- a/launcher-gtk/src/main/java/extensions/org/gtk/gtk/Widget/WidgetExt.java +++ b/launcher-gtk/src/main/java/extensions/org/gnome/gtk/Widget/WidgetExt.java @@ -1,8 +1,8 @@ -package extensions.org.gtk.gtk.Widget; +package extensions.org.gnome.gtk.Widget; import manifold.ext.rt.api.Extension; import manifold.ext.rt.api.This; -import org.gtk.gtk.Widget; +import org.gnome.gtk.Widget; @Extension public class WidgetExt { 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 9bcadb4..7329c84 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 @@ -2,7 +2,7 @@ package io.gitlab.jfronny.inceptum.gtk; import io.gitlab.jfronny.inceptum.gtk.window.dialog.MicrosoftLoginDialog; import io.gitlab.jfronny.inceptum.gtk.window.dialog.StringInputDialog; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import io.gitlab.jfronny.commons.StringFormatter; import io.gitlab.jfronny.inceptum.common.Utils; import io.gitlab.jfronny.inceptum.gtk.util.I18n; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMain.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMain.java index 90050f6..dda6ba0 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMain.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMain.java @@ -4,9 +4,9 @@ import io.gitlab.jfronny.inceptum.common.*; import io.gitlab.jfronny.inceptum.gtk.window.MainWindow; import io.gitlab.jfronny.inceptum.launcher.LauncherEnv; import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager; -import org.gtk.gio.ApplicationFlags; -import org.gtk.glib.GLib; -import org.gtk.gtk.Application; +import org.gnome.gio.ApplicationFlags; +import org.gnome.glib.GLib; +import org.gnome.gtk.Application; import java.io.IOException; import java.util.*; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMenubar.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMenubar.java index 0b29d48..470c6af 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMenubar.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/GtkMenubar.java @@ -8,8 +8,8 @@ import io.gitlab.jfronny.inceptum.gtk.window.settings.launcher.LauncherSettingsW import io.gitlab.jfronny.inceptum.launcher.system.importer.Importers; import io.gitlab.jfronny.inceptum.launcher.system.launch.*; import io.gitlab.jfronny.inceptum.launcher.util.ProcessState; -import org.gtk.gio.Menu; -import org.gtk.gtk.*; +import org.gnome.gio.Menu; +import org.gnome.gtk.*; import io.gitlab.jfronny.commons.ref.R; import io.gitlab.jfronny.inceptum.common.Utils; import io.gitlab.jfronny.inceptum.gtk.menu.MenuBuilder; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/ILabel.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/ILabel.java index 2d10a43..806cfff 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/ILabel.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/ILabel.java @@ -3,7 +3,7 @@ package io.gitlab.jfronny.inceptum.gtk.control; import io.gitlab.jfronny.commons.LazySupplier; import io.gitlab.jfronny.inceptum.gtk.GtkMain; import io.gitlab.jfronny.inceptum.gtk.util.I18n; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import org.jetbrains.annotations.PropertyKey; import java.io.InputStream; 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 1e9652f..82465e2 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 @@ -1,8 +1,8 @@ package io.gitlab.jfronny.inceptum.gtk.control; -import io.gitlab.jfronny.inceptum.gtk.util.ListIndexItem; +import io.github.jwharm.javagi.util.ListIndexModel; import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import org.pango.EllipsizeMode; import org.pango.WrapMode; @@ -18,7 +18,7 @@ public class InstanceGridEntryFactory extends SignalListItemFactory { var thumbnail = new InstanceThumbnail(); box.append(thumbnail); - var label = new Label(null); + var label = new Label((String) null); label.setSizeRequest(192, -1); label.maxWidthChars = 20; label.justify = Justification.CENTER; @@ -68,7 +68,7 @@ public class InstanceGridEntryFactory extends SignalListItemFactory { InstanceThumbnail thumbnail = InstanceThumbnail.castFrom((Stack) box.firstChild); Label label = (Label) thumbnail.nextSibling; - Instance instance = instanceList.get(((ListIndexItem) li.getItem()).getIntValue()); + Instance instance = instanceList.get(((ListIndexModel.ListIndex) li.item).index); thumbnail.bind(instance); label.text = instance.toString(); //TODO right click menu + double click action diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceListEntryFactory.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceListEntryFactory.java index 7173ec5..cb96d9e 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceListEntryFactory.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceListEntryFactory.java @@ -1,6 +1,7 @@ package io.gitlab.jfronny.inceptum.gtk.control; -import io.github.jwharm.javagi.Signal; +import io.github.jwharm.javagi.base.Signal; +import io.github.jwharm.javagi.util.ListIndexModel; import io.gitlab.jfronny.commons.io.JFiles; import io.gitlab.jfronny.commons.ref.R; import io.gitlab.jfronny.inceptum.common.MetaHolder; @@ -8,16 +9,15 @@ import io.gitlab.jfronny.inceptum.common.Utils; import io.gitlab.jfronny.inceptum.gtk.GtkMenubar; import io.gitlab.jfronny.inceptum.gtk.menu.MenuBuilder; import io.gitlab.jfronny.inceptum.gtk.util.I18n; -import io.gitlab.jfronny.inceptum.gtk.util.ListIndexItem; import io.gitlab.jfronny.inceptum.gtk.window.settings.instance.InstanceSettingsWindow; import io.gitlab.jfronny.inceptum.launcher.LauncherEnv; import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance; import io.gitlab.jfronny.inceptum.launcher.system.instance.InstanceNameTool; import io.gitlab.jfronny.inceptum.launcher.system.launch.LaunchType; import org.gnome.adw.ActionRow; -import org.gtk.gio.Menu; -import org.gtk.gtk.Stack; -import org.gtk.gtk.*; +import org.gnome.gio.Menu; +import org.gnome.gtk.Stack; +import org.gnome.gtk.*; import java.io.IOException; import java.util.*; @@ -133,7 +133,7 @@ public class InstanceListEntryFactory extends SignalListItemFactory { private record Decomposed(ListItem item, Instance instance, ActionRow row, InstanceThumbnail thumbnail, Button launch, PopoverMenu popoverMenu) { public static Decomposed of(ListItem item, List instanceList) { - Instance instance = instanceList.get(((ListIndexItem) item.getItem()).getIntValue()); + Instance instance = instanceList.get(((ListIndexModel.ListIndex) item.item).index); ActionRow row = (ActionRow) item.child; Box prefixes = (Box) row.firstChild.firstChild; Box suffixes = (Box) row.firstChild.lastChild; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceThumbnail.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceThumbnail.java index e7bd120..ad14205 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceThumbnail.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/InstanceThumbnail.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.inceptum.gtk.control; import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import java.lang.foreign.Addressable; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/IRow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/IRow.java index 79f8f58..188105e 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/IRow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/IRow.java @@ -2,7 +2,7 @@ package io.gitlab.jfronny.inceptum.gtk.control.settings; import io.gitlab.jfronny.inceptum.gtk.control.ILabel; import io.gitlab.jfronny.inceptum.gtk.util.I18n; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.PropertyKey; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsTab.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsTab.java index 7b0a584..1c42caf 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsTab.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsTab.java @@ -5,7 +5,7 @@ import io.gitlab.jfronny.inceptum.gtk.GtkEnvBackend; import io.gitlab.jfronny.inceptum.gtk.control.ILabel; import io.gitlab.jfronny.inceptum.gtk.control.settings.SettingsTab.SectionBuilder.Section; import io.gitlab.jfronny.inceptum.gtk.util.I18n; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.PropertyKey; @@ -23,7 +23,7 @@ public class SettingsTab extends Box { protected void section(@Nullable @PropertyKey(resourceBundle = I18n.BUNDLE) String title, SectionBuilder builder) { if (title != null) append(new ILabel(title, ILabel.Mode.HEADING)); - Frame frame = new Frame(null); + Frame frame = new Frame((String) null); ListBox listBox = new ListBox(); listBox.selectionMode = SelectionMode.NONE; listBox.showSeparators = true; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsWindow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsWindow.java index 504c772..b90192c 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsWindow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/control/settings/SettingsWindow.java @@ -3,10 +3,10 @@ package io.gitlab.jfronny.inceptum.gtk.control.settings; import io.gitlab.jfronny.inceptum.gtk.util.I18n; import org.gnome.adw.*; import org.gnome.adw.HeaderBar; -import org.gtk.gobject.BindingFlags; -import org.gtk.gtk.*; -import org.gtk.gtk.Application; -import org.gtk.gtk.Window; +import org.gnome.gobject.BindingFlags; +import org.gnome.gtk.*; +import org.gnome.gtk.Application; +import org.gnome.gtk.Window; import org.jetbrains.annotations.PropertyKey; public class SettingsWindow extends Window { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltButtonItem.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltButtonItem.java index 37ce856..9abea09 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltButtonItem.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltButtonItem.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.inceptum.gtk.menu; -import org.gtk.gio.MenuItem; -import org.gtk.gio.SimpleAction; +import org.gnome.gio.MenuItem; +import org.gnome.gio.SimpleAction; public class BuiltButtonItem extends BuiltMenuItem { public BuiltButtonItem(SimpleAction action, MenuItem menuItem) { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltMenuItem.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltMenuItem.java index 5b4a650..0039dbe 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltMenuItem.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltMenuItem.java @@ -1,6 +1,6 @@ package io.gitlab.jfronny.inceptum.gtk.menu; -import org.gtk.gio.*; +import org.gnome.gio.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltRadioItem.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltRadioItem.java index a75eb3f..45819a9 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltRadioItem.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltRadioItem.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.inceptum.gtk.menu; -import org.gtk.gio.SimpleAction; -import org.gtk.glib.Variant; +import org.gnome.gio.SimpleAction; +import org.gnome.glib.Variant; import java.util.List; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltToggleItem.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltToggleItem.java index 4cf99b4..e6a408d 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltToggleItem.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/BuiltToggleItem.java @@ -1,8 +1,8 @@ package io.gitlab.jfronny.inceptum.gtk.menu; -import org.gtk.gio.MenuItem; -import org.gtk.gio.SimpleAction; -import org.gtk.glib.Variant; +import org.gnome.gio.MenuItem; +import org.gnome.gio.SimpleAction; +import org.gnome.glib.Variant; public class BuiltToggleItem extends BuiltMenuItem { public BuiltToggleItem(SimpleAction action, MenuItem menuItem) { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/MenuBuilder.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/MenuBuilder.java index 9f1c580..6ff4c29 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/MenuBuilder.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/menu/MenuBuilder.java @@ -3,12 +3,12 @@ package io.gitlab.jfronny.inceptum.gtk.menu; import io.gitlab.jfronny.commons.throwable.ThrowingRunnable; import io.gitlab.jfronny.inceptum.common.Utils; import io.gitlab.jfronny.inceptum.gtk.util.I18n; -import org.gtk.gio.MenuItem; -import org.gtk.gio.*; -import org.gtk.glib.Variant; -import org.gtk.glib.VariantType; -import org.gtk.gtk.*; -import org.gtk.gtk.Application; +import org.gnome.gio.MenuItem; +import org.gnome.gio.*; +import org.gnome.glib.Variant; +import org.gnome.glib.VariantType; +import org.gnome.gtk.*; +import org.gnome.gtk.Application; import org.jetbrains.annotations.Nullable; import java.util.LinkedHashMap; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexItem.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexItem.java deleted file mode 100644 index 587a604..0000000 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexItem.java +++ /dev/null @@ -1,59 +0,0 @@ -package io.gitlab.jfronny.inceptum.gtk.util; - -import io.github.jwharm.javagi.Interop; -import io.github.jwharm.javagi.Marshal; -import org.gtk.glib.Type; -import org.gtk.gobject.*; - -import java.lang.foreign.*; - -public class ListIndexItem extends GObject { - protected ListIndexItem(Addressable address) { - super(address); - } - - public static final Marshal fromAddress = - (input, scope) -> input.equals(MemoryAddress.NULL) ? null : new ListIndexItem(input); - - public static MemoryLayout getMemoryLayout() { - return MemoryLayout.structLayout( - GObject.getMemoryLayout().withName("parent_instance"), - Interop.valueLayout.C_INT.withName("int_value") - ).withName("ListIndexModel"); - } - - private static Type type; - public static Type getType() { - if (type == null) { - // Register the new gtype - type = GObjects.typeRegisterStaticSimple( - GObject.getType(), - "ListIndexItem", - (short) ObjectClass.getMemoryLayout().byteSize(), - (gclass, data) -> {}, - (short) getMemoryLayout().byteSize(), - (inst, gclass) -> {}, - TypeFlags.NONE - ); - } - Interop.register(type, fromAddress); - return type; - } - - public void setIntValue(int value) { - getMemoryLayout() - .varHandle(MemoryLayout.PathElement.groupElement("int_value")) - .set(MemorySegment.ofAddress((MemoryAddress) handle(), getMemoryLayout().byteSize(), MemorySession.openImplicit()), value); - } - - public int getIntValue() { - return (int) getMemoryLayout() - .varHandle(MemoryLayout.PathElement.groupElement("int_value")) - .get(MemorySegment.ofAddress((MemoryAddress) handle(), getMemoryLayout().byteSize(), MemorySession.openImplicit())); - } - - public ListIndexItem(int value) { - super(getType(), null); - setIntValue(value); - } -} 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 deleted file mode 100644 index b837b07..0000000 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/util/ListIndexModel.java +++ /dev/null @@ -1,89 +0,0 @@ -package io.gitlab.jfronny.inceptum.gtk.util; - -import io.github.jwharm.javagi.Interop; -import io.github.jwharm.javagi.Marshal; -import org.gtk.gio.ListModel; -import org.gtk.gio.ListModelInterface; -import org.gtk.glib.Type; -import org.gtk.gobject.*; - -import java.lang.foreign.*; - -public class ListIndexModel extends GObject implements ListModel { - protected ListIndexModel(Addressable address) { - super(address); - } - - public static final Marshal fromAddress = - (input, scope) -> input.equals(MemoryAddress.NULL) ? null : new ListIndexModel(input); - - public static MemoryLayout getMemoryLayout() { - return MemoryLayout.structLayout( - GObject.getMemoryLayout().withName("parent_instance"), - Interop.valueLayout.C_INT.withName("size") - ).withName("ListIndexModel"); - } - - private static Type type; - public static Type getType() { - if (type == null) { - // Register the new gtype - type = GObjects.typeRegisterStaticSimple( - GObject.getType(), - "ListIndexModel", - (short) ObjectClass.getMemoryLayout().byteSize(), - (gclass, data) -> {}, - (short) getMemoryLayout().byteSize(), - (inst, gclass) -> {}, - TypeFlags.NONE - ); - GObjects.typeAddInterfaceStatic(type, ListModel.getType(), InterfaceInfo.builder() - .setInterfaceInit((iface, data) -> { - ListModelInterface lmi = ListModelInterface.fromAddress.marshal(iface.handle(), null); - lmi.setGetItemType(ListModel::getItemType); - lmi.setGetNItems(ListModel::getNItems); - lmi.setGetItem(ListModel::getItem); - }) - .setInterfaceData(null) - .setInterfaceFinalize(null) - .build()); - } - Interop.register(type, fromAddress); - return type; - } - - private ListIndexModel() { - super(getType(), null); - } - - public ListIndexModel(int size) { - this(); - setSize(size); - } - - 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 - public Type getItemType() { - return ListIndexItem.getType(); - } - - @Override - public int getNItems() { - return (int) getMemoryLayout() - .varHandle(MemoryLayout.PathElement.groupElement("size")) - .get(MemorySegment.ofAddress((MemoryAddress) handle(), getMemoryLayout().byteSize(), MemorySession.openImplicit())); - } - - @Override - public GObject getItem(int position) { - if (position < 0 || position >= getNItems()) return null; - return new ListIndexItem(position); - } -} diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/AboutWindow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/AboutWindow.java index 07251d0..aa7a893 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/AboutWindow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/AboutWindow.java @@ -1,8 +1,8 @@ package io.gitlab.jfronny.inceptum.gtk.window; import io.gitlab.jfronny.inceptum.gtk.GtkMain; -import org.gtk.gtk.AboutDialog; -import org.gtk.gtk.License; +import org.gnome.gtk.AboutDialog; +import org.gnome.gtk.License; import io.gitlab.jfronny.inceptum.common.BuildMetadata; import io.gitlab.jfronny.inceptum.gtk.util.I18n; 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 1490b0d..fecc644 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 @@ -1,5 +1,6 @@ package io.gitlab.jfronny.inceptum.gtk.window; +import io.github.jwharm.javagi.util.ListIndexModel; import io.gitlab.jfronny.inceptum.common.InceptumConfig; import io.gitlab.jfronny.inceptum.common.Utils; import io.gitlab.jfronny.inceptum.gtk.GtkMenubar; @@ -7,15 +8,14 @@ import io.gitlab.jfronny.inceptum.gtk.control.InstanceGridEntryFactory; import io.gitlab.jfronny.inceptum.gtk.control.InstanceListEntryFactory; import io.gitlab.jfronny.inceptum.gtk.menu.MenuBuilder; import io.gitlab.jfronny.inceptum.gtk.util.I18n; -import io.gitlab.jfronny.inceptum.gtk.util.ListIndexModel; import io.gitlab.jfronny.inceptum.gtk.window.settings.launcher.LauncherSettingsWindow; import io.gitlab.jfronny.inceptum.launcher.system.instance.*; import io.gitlab.jfronny.inceptum.launcher.system.launch.LaunchType; import org.gnome.adw.Clamp; import org.gnome.adw.StatusPage; -import org.gtk.gio.Menu; -import org.gtk.glib.GLib; -import org.gtk.gtk.*; +import org.gnome.gio.Menu; +import org.gnome.glib.GLib; +import org.gnome.gtk.*; import java.io.IOException; import java.net.URI; @@ -76,7 +76,7 @@ public class MainWindow extends ApplicationWindow { header.packEnd(accountsButton); instanceList = new ArrayList<>(); - instanceListIndex = new ListIndexModel(instanceList.size()); + instanceListIndex = ListIndexModel.newInstance(instanceList.size()); var selection = new NoSelection(instanceListIndex); ListView listView = new ListView(selection, new InstanceListEntryFactory(app, instanceList)); @@ -86,7 +86,7 @@ public class MainWindow extends ApplicationWindow { // Double click GtkMenubar.launch(instanceList.get(position), LaunchType.Client); }); - Frame frame = new Frame(null); + Frame frame = new Frame((String) null); frame.child = listView; frame.marginHorizontal = 24; frame.marginVertical = 12; @@ -133,7 +133,7 @@ public class MainWindow extends ApplicationWindow { Utils.LOGGER.error("Could not run update task", e); } return GLib.SOURCE_CONTINUE; - }, null); + }); onCloseRequest(() -> { try { isw.close(); diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/NewInstanceWindow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/NewInstanceWindow.java index 5d5db9a..632b984 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/NewInstanceWindow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/NewInstanceWindow.java @@ -1,6 +1,6 @@ package io.gitlab.jfronny.inceptum.gtk.window; -import org.gtk.gtk.*; +import org.gnome.gtk.*; public class NewInstanceWindow extends Assistant { public NewInstanceWindow(Application app) { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/MicrosoftLoginDialog.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/MicrosoftLoginDialog.java index 71aa869..b911165 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/MicrosoftLoginDialog.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/MicrosoftLoginDialog.java @@ -3,7 +3,7 @@ package io.gitlab.jfronny.inceptum.gtk.window.dialog; import io.gitlab.jfronny.inceptum.common.Utils; import io.gitlab.jfronny.inceptum.gtk.util.I18n; import io.gitlab.jfronny.inceptum.launcher.api.account.*; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import org.jetbrains.annotations.Nullable; import java.net.URI; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/ProcessStateWatcherDialog.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/ProcessStateWatcherDialog.java index 4f2fdb6..cb33904 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/ProcessStateWatcherDialog.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/ProcessStateWatcherDialog.java @@ -7,8 +7,8 @@ import io.gitlab.jfronny.inceptum.gtk.GtkEnvBackend; import io.gitlab.jfronny.inceptum.gtk.GtkMain; import io.gitlab.jfronny.inceptum.gtk.util.I18n; import io.gitlab.jfronny.inceptum.launcher.util.ProcessState; -import org.gtk.glib.GLib; -import org.gtk.gtk.*; +import org.gnome.glib.GLib; +import org.gnome.gtk.*; public class ProcessStateWatcherDialog extends MessageDialog { private final ProcessState state; @@ -55,7 +55,7 @@ public class ProcessStateWatcherDialog extends MessageDialog { widget.queueDraw(); } return GLib.SOURCE_CONTINUE; - }, null); + }); new Thread(() -> { try { executor.run(); diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/StringInputDialog.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/StringInputDialog.java index 4138e44..aeefd66 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/StringInputDialog.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/dialog/StringInputDialog.java @@ -1,6 +1,6 @@ package io.gitlab.jfronny.inceptum.gtk.window.dialog; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import org.jetbrains.annotations.Nullable; public class StringInputDialog extends MessageDialog { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/ExportTab.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/ExportTab.java index 6f0c9da..6af3e4c 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/ExportTab.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/ExportTab.java @@ -11,7 +11,7 @@ import io.gitlab.jfronny.inceptum.launcher.system.exporter.Exporter; import io.gitlab.jfronny.inceptum.launcher.system.exporter.Exporters; import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance; import io.gitlab.jfronny.inceptum.launcher.util.ProcessState; -import org.gtk.gtk.*; +import org.gnome.gtk.*; import java.nio.file.Path; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/GeneralTab.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/GeneralTab.java index 254cae6..bec75c4 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/GeneralTab.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/GeneralTab.java @@ -1,6 +1,6 @@ package io.gitlab.jfronny.inceptum.gtk.window.settings.instance; -import io.github.jwharm.javagi.GErrorException; +import io.github.jwharm.javagi.base.GErrorException; import io.gitlab.jfronny.commons.ArgumentsTokenizer; import io.gitlab.jfronny.commons.io.JFiles; import io.gitlab.jfronny.inceptum.common.*; @@ -15,9 +15,9 @@ import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta; import io.gitlab.jfronny.inceptum.launcher.model.mojang.VersionsList; import io.gitlab.jfronny.inceptum.launcher.system.instance.*; import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser; -import org.gtk.gio.File; -import org.gtk.gobject.BindingFlags; -import org.gtk.gtk.*; +import org.gnome.gio.File; +import org.gnome.gobject.BindingFlags; +import org.gnome.gtk.*; import java.io.IOException; import java.nio.file.Files; diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/InstanceSettingsWindow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/InstanceSettingsWindow.java index d9bdf71..4ef2f5c 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/InstanceSettingsWindow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/instance/InstanceSettingsWindow.java @@ -2,7 +2,7 @@ package io.gitlab.jfronny.inceptum.gtk.window.settings.instance; import io.gitlab.jfronny.inceptum.gtk.control.settings.SettingsWindow; import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance; -import org.gtk.gtk.Application; +import org.gnome.gtk.Application; public class InstanceSettingsWindow extends SettingsWindow { public InstanceSettingsWindow(Application app, Instance instance) { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/AccountsTab.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/AccountsTab.java index 0cfee79..2a6c583 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/AccountsTab.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/AccountsTab.java @@ -6,7 +6,7 @@ import io.gitlab.jfronny.inceptum.gtk.control.settings.SettingsTab; import io.gitlab.jfronny.inceptum.gtk.window.dialog.MicrosoftLoginDialog; import io.gitlab.jfronny.inceptum.launcher.api.account.AccountManager; import io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount; -import org.gtk.gtk.*; +import org.gnome.gtk.*; public class AccountsTab extends SettingsTab implements SettingsTab.SectionBuilder { public AccountsTab(Window window) { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/GeneralTab.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/GeneralTab.java index 7510daf..9389616 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/GeneralTab.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/GeneralTab.java @@ -4,7 +4,7 @@ import io.gitlab.jfronny.inceptum.common.InceptumConfig; import io.gitlab.jfronny.inceptum.common.model.inceptum.UpdateChannel; import io.gitlab.jfronny.inceptum.gtk.control.settings.IRow; import io.gitlab.jfronny.inceptum.gtk.control.settings.SettingsTab; -import org.gtk.gtk.Window; +import org.gnome.gtk.Window; public class GeneralTab extends SettingsTab { public GeneralTab(Window window) { diff --git a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/LauncherSettingsWindow.java b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/LauncherSettingsWindow.java index fa79d1c..3103778 100644 --- a/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/LauncherSettingsWindow.java +++ b/launcher-gtk/src/main/java/io/gitlab/jfronny/inceptum/gtk/window/settings/launcher/LauncherSettingsWindow.java @@ -1,7 +1,7 @@ package io.gitlab.jfronny.inceptum.gtk.window.settings.launcher; import io.gitlab.jfronny.inceptum.gtk.control.settings.SettingsWindow; -import org.gtk.gtk.Application; +import org.gnome.gtk.Application; public class LauncherSettingsWindow extends SettingsWindow { public LauncherSettingsWindow(Application app) {