From 8aa27dcdf5ee1fdc9a1ef8c8c89a0fff76c60941 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 31 Aug 2018 14:56:16 +0800 Subject: [PATCH 1/2] disable form.viewPage button when add-on was not downloaded from AnkiWeb --- aqt/addons.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/aqt/addons.py b/aqt/addons.py index d0c2f3684..57f37d6cc 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -291,6 +291,7 @@ class AddonsDialog(QDialog): f.viewFiles.clicked.connect(self.onViewFiles) f.delete_2.clicked.connect(self.onDelete) f.config.clicked.connect(self.onConfig) + self.form.addonList.currentRowChanged.connect(self._onAddonItemSelected) self.redrawAddons() self.show() @@ -302,6 +303,13 @@ class AddonsDialog(QDialog): if self.addons: self.form.addonList.setCurrentRow(0) + def _onAddonItemSelected(self, row_int): + try: + addon = self.addons[row_int][1] + except: + addon = '' + self.form.viewPage.setEnabled(True if re.match(r"^\d+$", addon) else False) + def annotatedName(self, dir): meta = self.mgr.addonMeta(dir) buf = self.mgr.addonName(dir) From 77e6b395e5e7cdbe1789c7ef289bb48b738cf60c Mon Sep 17 00:00:00 2001 From: root Date: Fri, 31 Aug 2018 15:13:06 +0800 Subject: [PATCH 2/2] specify exception; convert match result to None --- aqt/addons.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aqt/addons.py b/aqt/addons.py index 57f37d6cc..1acd96613 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -306,9 +306,9 @@ class AddonsDialog(QDialog): def _onAddonItemSelected(self, row_int): try: addon = self.addons[row_int][1] - except: + except IndexError: addon = '' - self.form.viewPage.setEnabled(True if re.match(r"^\d+$", addon) else False) + self.form.viewPage.setEnabled(bool (re.match(r"^\d+$", addon))) def annotatedName(self, dir): meta = self.mgr.addonMeta(dir)