diff --git a/src/main_window/window.py b/src/main_window/window.py index d661159..0e06539 100644 --- a/src/main_window/window.py +++ b/src/main_window/window.py @@ -44,8 +44,8 @@ class WarehouseWindow(Adw.ApplicationWindow): if keyval == Gdk.KEY_w and state == Gdk.ModifierType.CONTROL_MASK: self.close() - if keyval == Gdk.KEY_Escape: - self.batch_mode_button.set_active(False) + # if keyval == Gdk.KEY_Escape: + # self.batch_mode_button.set_active(False) def navigation_handler(self, _, row, hide_sidebar=True): row = row.get_child() diff --git a/src/packages_page/packages_page.blp b/src/packages_page/packages_page.blp index df337da..bb32f2d 100644 --- a/src/packages_page/packages_page.blp +++ b/src/packages_page/packages_page.blp @@ -52,7 +52,7 @@ template $PackagesPage : Adw.BreakpointBin { [top] SearchBar search_bar { search-mode-enabled: bind search_button.active bidirectional; - key-capture-widget: packages_tbv; + // key-capture-widget: packages_tbv; SearchEntry search_entry { hexpand: true; } diff --git a/src/packages_page/packages_page.py b/src/packages_page/packages_page.py index cb887ff..9774d25 100644 --- a/src/packages_page/packages_page.py +++ b/src/packages_page/packages_page.py @@ -10,6 +10,7 @@ class PackagesPage(Adw.BreakpointBin): packages_toast_overlay = gtc() sidebar_button = gtc() refresh_button = gtc() + search_bar = gtc() search_entry = gtc() packages_list_box = gtc() @@ -22,6 +23,8 @@ class PackagesPage(Adw.BreakpointBin): self.packages_list_box.remove_all() for package in HostInfo.flatpaks: self.packages_list_box.append(AppRow(package)) + first_row = self.packages_list_box.get_row_at_index(0) + self.packages_list_box.select_row(first_row) def row_select_handler(self, list_box, row): print(row.get_title()) @@ -50,5 +53,6 @@ class PackagesPage(Adw.BreakpointBin): 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.search_entry.connect("search-changed", lambda *_: self.packages_list_box.invalidate_filter()) - # self.packages_list_box.connect("row-selected", self.row_select_handler) + self.search_bar.set_key_capture_widget(main_window) + self.packages_list_box.connect("row-activated", self.row_select_handler) diff --git a/src/widgets/app_row.blp b/src/widgets/app_row.blp index 7db98d9..0f9df88 100644 --- a/src/widgets/app_row.blp +++ b/src/widgets/app_row.blp @@ -2,6 +2,7 @@ using Gtk 4.0; using Adw 1; template $AppRow : Adw.ActionRow { + activatable: true; [prefix] Image image { icon-size: large;