From 15a83df12619478d21dee19c4a4edd3f579e134b Mon Sep 17 00:00:00 2001 From: Glutanimate Date: Sat, 23 Feb 2019 10:04:45 +0100 Subject: [PATCH] Colour disabled add-ons gray --- aqt/addons.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/aqt/addons.py b/aqt/addons.py index c6ba47c47..ea23e68e2 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -453,14 +453,22 @@ class AddonsDialog(QDialog): return QDialog.reject(self) def redrawAddons(self): - self.addons = [(self.annotatedName(d), d) for d in self.mgr.allAddons()] + addonList = self.form.addonList + mgr = self.mgr + + self.addons = [(self.annotatedName(d), d) for d in mgr.allAddons()] self.addons.sort() - self.form.addonList.clear() - self.form.addonList.addItems([r[0] for r in self.addons]) - if self.addons: - self.form.addonList.setCurrentRow(0) + + addonList.clear() + for name, dir in self.addons: + item = QListWidgetItem(name, addonList) + if not mgr.isEnabled(dir): + item.setForeground(Qt.gray) - self.form.addonList.repaint() + if self.addons: + addonList.setCurrentRow(0) + + addonList.repaint() def _onAddonItemSelected(self, row_int): try: @@ -470,9 +478,8 @@ class AddonsDialog(QDialog): self.form.viewPage.setEnabled(bool (re.match(r"^\d+$", addon))) def annotatedName(self, dir): - meta = self.mgr.addonMeta(dir) buf = self.mgr.addonName(dir) - if meta.get('disabled'): + if not self.mgr.isEnabled(dir): buf += _(" (disabled)") return buf