mirror of
https://github.com/morgan9e/warehouse
synced 2026-04-14 00:04:08 +09:00
Handle no remotes in the filters page
This commit is contained in:
@@ -110,29 +110,23 @@ class FiltersPage(Adw.NavigationPage):
|
||||
def generate_remote_filters(self):
|
||||
for row in self.remote_rows:
|
||||
self.remotes_group.remove(row)
|
||||
|
||||
self.remote_rows.clear()
|
||||
# if len(HostInfo.remotes) < 2 and len(list(HostInfo.remotes.items())[0][1]) < 2:
|
||||
# self.remotes_group.set_visible(False)
|
||||
# if self.remotes_string != "all":
|
||||
# self.remotes_string = "all"
|
||||
# self.settings.set_string("remotes-list", self.remotes_string)
|
||||
# self.packages_page.apply_filters()
|
||||
# return
|
||||
for i, installation in enumerate(HostInfo.installations):
|
||||
try:
|
||||
for remote in HostInfo.remotes[installation]:
|
||||
# if remote.disabled:
|
||||
# continue
|
||||
row = FilterRow(remote, installation)
|
||||
row.set_title(remote.title)
|
||||
row.set_subtitle(_("Installation: {}").format(installation))
|
||||
row.check_button.set_active(f"{remote.name}<>{installation}" in self.remotes_string)
|
||||
row.check_button.connect("toggled", lambda *_, row=row: self.remote_row_check_handler(row))
|
||||
row.set_visible(self.all_remotes_switch.get_active())
|
||||
self.remote_rows.append(row)
|
||||
self.remotes_group.add(row)
|
||||
except KeyError:
|
||||
pass
|
||||
for installation, remotes in HostInfo.remotes.items():
|
||||
for remote in remotes:
|
||||
if remote.disabled:
|
||||
continue
|
||||
|
||||
row = FilterRow(remote, installation)
|
||||
row.set_title(remote.title)
|
||||
row.set_subtitle(_("Installation: {}").format(installation))
|
||||
row.check_button.set_active(f"{remote.name}<>{installation}" in self.remotes_string)
|
||||
row.check_button.connect("toggled", lambda *_, row=row: self.remote_row_check_handler(row))
|
||||
row.set_visible(self.all_remotes_switch.get_active())
|
||||
self.remote_rows.append(row)
|
||||
self.remotes_group.add(row)
|
||||
|
||||
self.remotes_group.set_visible(len(self.remote_rows) > 1)
|
||||
self.all_remotes_switch.set_active("all" != self.remotes_string)
|
||||
|
||||
def generate_runtime_filters(self):
|
||||
|
||||
@@ -51,8 +51,11 @@ class RemoteRow(Adw.ActionRow):
|
||||
self.menu_listbox.get_row_at_index(2).set_visible(False)
|
||||
self.menu_listbox.get_row_at_index(3).set_visible(True)
|
||||
self.parent_page.total_disabled -= 1
|
||||
HostInfo.main_window.pages[HostInfo.main_window.install_row].start_loading()
|
||||
HostInfo.main_window.pages[HostInfo.main_window.install_row].end_loading()
|
||||
install_page = HostInfo.main_window.pages[HostInfo.main_window.install_row]
|
||||
install_page.start_loading()
|
||||
install_page.end_loading()
|
||||
filters_page = HostInfo.main_window.pages[HostInfo.main_window.packages_row].filters_page
|
||||
filters_page.generate_filters()
|
||||
if self.parent_page.total_disabled == 0:
|
||||
self.parent_page.show_disabled_button.set_active(False)
|
||||
self.parent_page.show_disabled_button.set_visible(False)
|
||||
@@ -71,8 +74,14 @@ class RemoteRow(Adw.ActionRow):
|
||||
self.parent_page.show_disabled_button.set_visible(True)
|
||||
self.parent_page.total_disabled += 1
|
||||
self.parent_page.none_visible_handler()
|
||||
HostInfo.main_window.pages[HostInfo.main_window.install_row].start_loading()
|
||||
HostInfo.main_window.pages[HostInfo.main_window.install_row].end_loading()
|
||||
install_page = HostInfo.main_window.pages[HostInfo.main_window.install_row]
|
||||
install_page.start_loading()
|
||||
install_page.end_loading()
|
||||
filters_page = HostInfo.main_window.pages[HostInfo.main_window.packages_row].filters_page
|
||||
filters_page.settings.reset("remotes-list")
|
||||
filters_page.all_remotes_switch.set_active(False)
|
||||
filters_page.generate_filters()
|
||||
filters_page.packages_page.apply_filters()
|
||||
|
||||
def thread(*args):
|
||||
if self.remote.disabled:
|
||||
|
||||
@@ -175,6 +175,10 @@ class RemotesPage(Adw.NavigationPage):
|
||||
if error[0]:
|
||||
self.toast_overlay.add_toast(ErrorToast(_("Could not remove remote"), str(error[0])).toast)
|
||||
else:
|
||||
filters_page = HostInfo.main_window.pages[HostInfo.main_window.packages_row].filters_page
|
||||
filters_page.settings.reset("remotes-list")
|
||||
filters_page.all_remotes_switch.set_active(False)
|
||||
# filters_page.packages_page.apply_filters()
|
||||
self.main_window.refresh_handler()
|
||||
self.toast_overlay.add_toast(Adw.Toast(title=_("Removed {}").format(row.remote.title)))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user