From e76c22d77c3d79477028f46ee12bf9f1b23eeafc Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Sun, 4 Feb 2024 15:01:26 -0600 Subject: [PATCH] Addon Manager: Minor refactoring of buttons --- src/Mod/AddonManager/AddonManager.py | 9 ++------- .../Widgets/addonmanager_widget_global_buttons.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py index 2c2dcabf63..fac90e86ae 100644 --- a/src/Mod/AddonManager/AddonManager.py +++ b/src/Mod/AddonManager/AddonManager.py @@ -636,18 +636,13 @@ class CommandAddonManager: """enables the update button""" if number_of_updates: - s = translate("AddonsInstaller", "Apply {} update(s)", "", number_of_updates) - self.button_bar.update_all_addons.setText(s.format(number_of_updates)) - self.button_bar.update_all_addons.setEnabled(True) + self.button_bar.set_number_of_available_updates(number_of_updates) elif hasattr(self, "check_worker") and self.check_worker.isRunning(): self.button_bar.update_all_addons.setText( translate("AddonsInstaller", "Checking for updates...") ) else: - self.button_bar.update_all_addons.setText( - translate("AddonsInstaller", "No updates available") - ) - self.button_bar.update_all_addons.setEnabled(False) + self.button_bar.set_number_of_available_updates(0) def update_check_complete(self) -> None: self.enable_updates(len(self.packages_with_updates)) diff --git a/src/Mod/AddonManager/Widgets/addonmanager_widget_global_buttons.py b/src/Mod/AddonManager/Widgets/addonmanager_widget_global_buttons.py index b175657b56..f5660e7a89 100644 --- a/src/Mod/AddonManager/Widgets/addonmanager_widget_global_buttons.py +++ b/src/Mod/AddonManager/Widgets/addonmanager_widget_global_buttons.py @@ -98,3 +98,16 @@ class WidgetGlobalButtonBar(QtWidgets.QWidget): self.python_dependencies.setText(translate("AddonsInstaller", "Python dependencies...")) self.developer_tools.setText(translate("AddonsInstaller", "Developer tools...")) self.close.setText(translate("AddonsInstaller", "Close")) + + def set_number_of_available_updates(self, updates: int): + if updates <= 0: + self.update_all_addons.setEnabled(False) + self.update_all_addons.setText(translate("AddonsInstaller", "No updates available")) + elif updates == 1: + self.update_all_addons.setEnabled(True) + self.update_all_addons.setText(translate("AddonsInstaller", "Apply 1 available update")) + else: + self.update_all_addons.setEnabled(True) + self.update_all_addons.setText( + translate("AddonsInstaller", "Apply %1 available updates").format(updates) + )