From 5be7ed780231a448f7e389b6cc5795a0696c1bbe Mon Sep 17 00:00:00 2001 From: heliguy4599 Date: Mon, 14 Oct 2024 19:00:58 -0400 Subject: [PATCH] Do not allow Warehouse to uninstall itself --- src/packages_page/packages_page.py | 7 ++++++- src/properties_page/properties_page.py | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/packages_page/packages_page.py b/src/packages_page/packages_page.py index 7f604f5..74445fd 100644 --- a/src/packages_page/packages_page.py +++ b/src/packages_page/packages_page.py @@ -149,7 +149,12 @@ class PackagesPage(Adw.BreakpointBin): if (total := len(self.selected_rows)) > 0: self.packages_navpage.set_title(_("{} Selected").format(total)) self.copy_button.set_sensitive(True) - self.uninstall_button.set_sensitive(True) + for row in self.selected_rows: + if "io.github.flattool.Warehouse" in row.package.info['id']: + self.uninstall_button.set_sensitive(False) + break + else: + self.uninstall_button.set_sensitive(True) else: self.packages_navpage.set_title(_("Packages")) self.copy_button.set_sensitive(False) diff --git a/src/properties_page/properties_page.py b/src/properties_page/properties_page.py index af69f25..16db48d 100644 --- a/src/properties_page/properties_page.py +++ b/src/properties_page/properties_page.py @@ -89,11 +89,12 @@ class PropertiesPage(Adw.NavigationPage): self.open_app_button.set_visible(package.is_runtime) self.open_app_button.set_visible(not package.is_runtime) self.data_row.set_visible(not package.is_runtime) + self.uninstall_button.set_sensitive(self.package.info['id'] != "io.github.flattool.Warehouse") if package.is_runtime: self.runtime_row.set_visible(False) else: has_path = os.path.exists(package.data_path) - self.trash_data_button.set_sensitive(has_path) + self.trash_data_button.set_sensitive(has_path and self.package.info['id'] != "io.github.flattool.Warehouse") self.open_data_button.set_sensitive(has_path) if not self.package.dependant_runtime is None: