Switch some pages to be initialized differently

This commit is contained in:
heliguy4599
2024-10-12 16:16:44 -04:00
parent 608511132a
commit 6d2a9a297d
4 changed files with 14 additions and 12 deletions

View File

@@ -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())
self.reset_button.connect("clicked", lambda *_: self.reset_filters())

View File

@@ -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 {}
}
}
;

View File

@@ -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

View File

@@ -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"))