Addon Manager: Add GUI for enabling/disabling addons

This commit is contained in:
Chris Hennes
2022-02-13 22:30:59 -06:00
parent ec90b7f954
commit ff67ebce8a
4 changed files with 106 additions and 4 deletions

View File

@@ -36,6 +36,8 @@ from AddonManagerRepo import AddonManagerRepo
from compact_view import Ui_CompactView
from expanded_view import Ui_ExpandedView
import addonmanager_utilities as utils
translate = FreeCAD.Qt.translate
@@ -423,6 +425,11 @@ class PackageListItemDelegate(QStyledItemDelegate):
result = translate("AddonsInstaller", "Update available")
elif repo.status() == AddonManagerRepo.UpdateStatus.PENDING_RESTART:
result = translate("AddonsInstaller", "Pending restart")
if repo.is_disabled():
style = "style='color:" + utils.warning_color_string() + "; font-weight:bold;'"
result += f"<span {style}> [" + translate("AddonsInstaller","DISABLED") + "]</span>"
return result
def get_expanded_update_string(self, repo: AddonManagerRepo) -> str:
@@ -434,18 +441,18 @@ class PackageListItemDelegate(QStyledItemDelegate):
if repo.status() != AddonManagerRepo.UpdateStatus.NOT_INSTALLED:
if repo.installed_version:
installed_version_string = (
"\n" + translate("AddonsInstaller", "Installed version") + ": "
"<br/>" + translate("AddonsInstaller", "Installed version") + ": "
)
installed_version_string += repo.installed_version
else:
installed_version_string = "\n" + translate(
installed_version_string = "<br/>" + translate(
"AddonsInstaller", "Unknown version"
)
installed_date_string = ""
if repo.updated_timestamp:
installed_date_string = (
"\n" + translate("AddonsInstaller", "Installed on") + ": "
"<br/>" + translate("AddonsInstaller", "Installed on") + ": "
)
installed_date_string += (
QDateTime.fromTime_t(repo.updated_timestamp)
@@ -456,7 +463,7 @@ class PackageListItemDelegate(QStyledItemDelegate):
available_version_string = ""
if repo.metadata:
available_version_string = (
"\n" + translate("AddonsInstaller", "Available version") + ": "
"<br/>" + translate("AddonsInstaller", "Available version") + ": "
)
available_version_string += repo.metadata.Version
@@ -475,6 +482,10 @@ class PackageListItemDelegate(QStyledItemDelegate):
result += available_version_string
elif repo.status() == AddonManagerRepo.UpdateStatus.PENDING_RESTART:
result = translate("AddonsInstaller", "Pending restart")
if repo.is_disabled():
style = "style='color:" + utils.warning_color_string() + "; font-weight:bold;'"
result += f"<br/><span {style}>[" + translate("AddonsInstaller","DISABLED") + "]</span>"
return result