diff --git a/src/main_window/window.blp b/src/main_window/window.blp index 4b0a2d2..6c57d95 100644 --- a/src/main_window/window.blp +++ b/src/main_window/window.blp @@ -5,6 +5,8 @@ template $WarehouseWindow: Adw.ApplicationWindow { title: "Warehouse"; // default-width: 240; default-width: 865; + width-request: 360; + height-request: 360; Adw.Breakpoint main_breakpoint { condition ("min-width: 865") diff --git a/src/main_window/window.py b/src/main_window/window.py index a8b4e08..7e5026e 100644 --- a/src/main_window/window.py +++ b/src/main_window/window.py @@ -42,31 +42,24 @@ class WarehouseWindow(Adw.ApplicationWindow): def __init__(self, **kwargs): super().__init__(**kwargs) - self.set_size_request(360, 360) + + # Extra Object Creation self.settings = Gio.Settings.new("io.github.flattool.Warehouse") - self.settings.bind( - "window-width", self, "default-width", Gio.SettingsBindFlags.DEFAULT - ) - self.settings.bind( - "window-height", self, "default-height", Gio.SettingsBindFlags.DEFAULT - ) - self.settings.bind( - "is-maximized", self, "maximized", Gio.SettingsBindFlags.DEFAULT - ) - self.settings.bind( - "is-fullscreen", self, "fullscreened", Gio.SettingsBindFlags.DEFAULT - ) - event_controller = Gtk.EventControllerKey() - event_controller.connect("key-pressed", self.key_handler) - self.add_controller(event_controller) - file_drop = Gtk.DropTarget.new(Gio.File, Gdk.DragAction.COPY) - # file_drop.connect("drop", self.drop_callback) + + # Apply + self.settings.bind("window-width", self, "default-width", Gio.SettingsBindFlags.DEFAULT) + self.settings.bind("window-height", self, "default-height", Gio.SettingsBindFlags.DEFAULT) + self.settings.bind("is-maximized", self, "maximized", Gio.SettingsBindFlags.DEFAULT) + self.settings.bind("is-fullscreen", self, "fullscreened", Gio.SettingsBindFlags.DEFAULT) + self.add_controller(event_controller) # self.scrolled_window.add_controller(file_drop) - self.main_split.set_content(PackagesPage(self)) - self.sidebar_button.connect("clicked", lambda *_: self.main_split.set_show_sidebar(False)) - if Config.DEVEL: - self.add_css_class("devel") \ No newline at end of file + self.add_css_class("devel") + + # Connections + event_controller.connect("key-pressed", self.key_handler) + # file_drop.connect("drop", self.drop_callback) + self.sidebar_button.connect("clicked", lambda *_: self.main_split.set_show_sidebar(False)) \ No newline at end of file diff --git a/src/packages_page/packages_page.py b/src/packages_page/packages_page.py index f1a367f..1f337f8 100644 --- a/src/packages_page/packages_page.py +++ b/src/packages_page/packages_page.py @@ -7,10 +7,10 @@ from .error_toast import ErrorToast class PackagesPage(Adw.BreakpointBin): __gtype_name__ = 'PackagesPage' gtc = Gtk.Template.Child - packages_list_box = gtc() + packages_toast_overlay = gtc() sidebar_button = gtc() refresh_button = gtc() - packages_toast_overlay = gtc() + packages_list_box = gtc() def generate_list(self, *args): self.packages_list_box.remove_all() @@ -22,10 +22,16 @@ class PackagesPage(Adw.BreakpointBin): def __init__(self, main_window, **kwargs): super().__init__(**kwargs) + + # Extra Object Creation self.main_window = main_window - HostInfo.get_flatpaks(self.generate_list) - self.sidebar_button.connect("clicked", lambda *_: main_window.main_split.set_show_sidebar(True)) + + # Apply + HostInfo.get_flatpaks(callback=self.generate_list) + + # Connections main_window.main_split.connect("notify::show-sidebar", lambda sidebar, *_: self.sidebar_button.set_visible(sidebar.get_collapsed() or not sidebar.get_show_sidebar())) - main_window.main_split.connect("notify::collapsed", lambda sidebar, *_: self.sidebar_button.set_visible) - self.refresh_button.connect("clicked", lambda *_: HostInfo.get_flatpaks(self.generate_list)) + # main_window.main_split.connect("notify::collapsed", lambda sidebar, *_: self.sidebar_button.set_visible) + self.sidebar_button.connect("clicked", lambda *_: main_window.main_split.set_show_sidebar(True)) + self.refresh_button.connect("clicked", lambda *_: HostInfo.get_flatpaks(callback=self.generate_list)) # self.packages_list_box.connect("row-selected", self.row_select_handler) diff --git a/src/widgets/app_row.py b/src/widgets/app_row.py index a39a43c..58ae286 100644 --- a/src/widgets/app_row.py +++ b/src/widgets/app_row.py @@ -6,11 +6,18 @@ class AppRow(Adw.ActionRow): __gtype_name__ = 'AppRow' gtc = Gtk.Template.Child image = gtc() + check_button = gtc() def __init__(self, package, **kwargs): super().__init__(**kwargs) + + # Extra Object Creation self.package = package + + # Apply self.set_title(package.info["name"]) self.set_subtitle(package.info["id"]) if package.icon_path: - self.image.set_from_file(package.icon_path) \ No newline at end of file + self.image.set_from_file(package.icon_path) + + # Connections \ No newline at end of file diff --git a/src/widgets/error_toast.py b/src/widgets/error_toast.py index 3406961..caa89db 100644 --- a/src/widgets/error_toast.py +++ b/src/widgets/error_toast.py @@ -8,11 +8,13 @@ class ErrorToast: if response_id == "copy": clipboard.set(error_msg) + # Extra Object Creation + self.toast = Adw.Toast(title=display_msg, button_label=_("Details")) popup = Adw.AlertDialog.new(display_msg, None if format else error_msg) + + # Apply popup.add_response("copy", _("Copy")) popup.add_response("ok", _("OK")) - popup.connect("response", on_response) - if format: lb = Gtk.Label(selectable=True, wrap=True)#, natural_wrap_mode=Gtk.NaturalWrapMode.WORD) lb.set_markup(f"{GLib.markup_escape_text(error_msg)}") @@ -20,5 +22,7 @@ class ErrorToast: # lb.set_selectable(True) popup.set_extra_child(lb) - self.toast = Adw.Toast(title=display_msg, button_label=_("Details")) - self.toast.connect("button-clicked", lambda *_: popup.present(parent_window)) \ No newline at end of file + # Connections + self.toast.connect("button-clicked", lambda *_: popup.present(parent_window)) + popup.connect("response", on_response) +