diff --git a/src/packages_page/filters_page.py b/src/packages_page/filters_page.py index 1b63971..00c6210 100644 --- a/src/packages_page/filters_page.py +++ b/src/packages_page/filters_page.py @@ -169,14 +169,14 @@ class FiltersPage(Adw.NavigationPage): self.is_settings_settable = True - def __init__(self, main_window, packages_page, **kwargs): + def __init__(self, **kwargs): super().__init__(**kwargs) # Extra Objects Creation - self.packages_page = packages_page + self.packages_page = None # To be set in packages page + self.main_window = HostInfo.main_window self.settings = Gio.Settings.new("io.github.flattool.Warehouse.filter") self.is_settings_settable = False - self.show_apps = self.settings.get_boolean("show-apps") self.show_runtimes = self.settings.get_boolean("show-runtimes") self.remotes_string = self.settings.get_string("remotes-list") @@ -193,4 +193,4 @@ class FiltersPage(Adw.NavigationPage): self.runtime_check.connect("toggled", self.runtime_check_handler) self.all_remotes_switch.connect("state-set", self.all_remotes_handler) self.all_runtimes_switch.connect("state-set", self.all_runtimes_handler) - self.reset_button.connect("clicked", lambda *_: self.reset_filters()) \ No newline at end of file + self.reset_button.connect("clicked", lambda *_: self.reset_filters()) diff --git a/src/packages_page/packages_page.blp b/src/packages_page/packages_page.blp index 0d2ced2..1513fdc 100644 --- a/src/packages_page/packages_page.blp +++ b/src/packages_page/packages_page.blp @@ -156,6 +156,8 @@ template $PackagesPage : Adw.BreakpointBin { title: "Content Stack"; Stack content_stack { transition-type: slide_left_right; + $PropertiesPage properties_page {} + $FiltersPage filters_page {} } } ; diff --git a/src/packages_page/packages_page.py b/src/packages_page/packages_page.py index 810f48a..fd1ec8b 100644 --- a/src/packages_page/packages_page.py +++ b/src/packages_page/packages_page.py @@ -45,6 +45,8 @@ class PackagesPage(Adw.BreakpointBin): copy_ids = gtc() copy_refs = gtc() uninstall_button = gtc() + properties_page = gtc() + filters_page = gtc() # Referred to in the main window # It is used to determine if a new page should be made or not @@ -327,8 +329,6 @@ class PackagesPage(Adw.BreakpointBin): self.reinstalling_view.set_content(self.reinstalling) self.changing_version = LoadingStatus(_("Changing Version"), _("This could take a while"), True, ChangeVersionWorker.cancel) self.changing_version_view.set_content(self.changing_version) - self.properties_page = PropertiesPage(main_window, self) - self.filters_page = FiltersPage(main_window, self) self.filter_settings = Gio.Settings.new("io.github.flattool.Warehouse.filter") self.is_result = False self.prev_status = None @@ -339,8 +339,8 @@ class PackagesPage(Adw.BreakpointBin): self.loading_view.set_content(self.loading_packages) self.packages_list_box.set_filter_func(self.filter_func) self.packages_list_box.set_sort_func(self.sort_func) - self.content_stack.add_child(self.properties_page) - self.content_stack.add_child(self.filters_page) + self.properties_page.packages_page = self + self.filters_page.packages_page = self self.__class__.instance = self # Connections diff --git a/src/properties_page/properties_page.py b/src/properties_page/properties_page.py index 0a27268..b84eba5 100644 --- a/src/properties_page/properties_page.py +++ b/src/properties_page/properties_page.py @@ -329,11 +329,11 @@ class PropertiesPage(Adw.NavigationPage): case self.reinstall: self.reinstall_handler() - def __init__(self, main_window, packages_page, **kwargs): + def __init__(self, **kwargs): super().__init__(**kwargs) # Extra Object Creation - self.main_window = main_window + self.main_window = HostInfo.main_window self.info_rows = { "version": self.version_row, "installed": self.installed_size_row, @@ -355,8 +355,8 @@ class PropertiesPage(Adw.NavigationPage): "date": self.date_row, } self.loading_tbv.set_content(LoadingStatus(_("Loading Properties"), _("This should only take a moment"))) - self.packages_page = packages_page - self.__class__.main_window = main_window + self.packages_page = None # To be set in packages page + self.__class__.main_window = self.main_window self.view_snapshots = Gtk.Label(halign=Gtk.Align.START, label=_("View Snapshots")) self.copy_launch_command = Gtk.Label(halign=Gtk.Align.START, label=_("Copy Launch Command")) self.show_details = Gtk.Label(halign=Gtk.Align.START, label=_("Show Details"))