be explicit about text format when showing add-on errors

fixes br codes showing in error messages
This commit is contained in:
Damien Elmes 2019-02-26 09:36:02 +10:00
parent 188d822d09
commit 139e04c7c3
2 changed files with 14 additions and 8 deletions

View file

@ -553,7 +553,7 @@ class AddonsDialog(QDialog):
tooltip("<br>".join(log), parent=self)
if errs:
msg = _("Please report this to the respective add-on author(s).")
showWarning("<br><br>".join(errs + [msg]), parent=self)
showWarning("\n\n".join(errs + [msg]), parent=self, textFormat="plain")
self.redrawAddons()
@ -569,7 +569,7 @@ class AddonsDialog(QDialog):
if log:
tooltip("<br>".join(log), parent=self)
if errs:
showWarning("<br><br>".join(errs), parent=self)
showWarning("\n\n".join(errs), parent=self, textFormat="plain")
self.redrawAddons()
@ -627,7 +627,7 @@ class GetAddons(QDialog):
if log:
tooltip("<br>".join(log), parent=self.addonsDlg)
if errs:
showWarning("<br><br>".join(errs))
showWarning("\n\n".join(errs), textFormat="plain")
self.addonsDlg.redrawAddons()
QDialog.accept(self)

View file

@ -19,15 +19,15 @@ def openLink(link):
with noBundledLibs():
QDesktopServices.openUrl(QUrl(link))
def showWarning(text, parent=None, help="", title="Anki"):
def showWarning(text, parent=None, help="", title="Anki", textFormat=None):
"Show a small warning with an OK button."
return showInfo(text, parent, help, "warning", title=title)
return showInfo(text, parent, help, "warning", title=title, textFormat=textFormat)
def showCritical(text, parent=None, help="", title="Anki"):
def showCritical(text, parent=None, help="", title="Anki", textFormat=None):
"Show a small critical error with an OK button."
return showInfo(text, parent, help, "critical", title=title)
return showInfo(text, parent, help, "critical", title=title, textFormat=textFormat)
def showInfo(text, parent=False, help="", type="info", title="Anki"):
def showInfo(text, parent=False, help="", type="info", title="Anki", textFormat=None):
"Show a small info window with an OK button."
if parent is False:
parent = aqt.mw.app.activeWindow() or aqt.mw
@ -38,6 +38,12 @@ def showInfo(text, parent=False, help="", type="info", title="Anki"):
else:
icon = QMessageBox.Information
mb = QMessageBox(parent)
if textFormat == "plain":
mb.setTextFormat(Qt.PlainText)
elif textFormat == "rich":
mb.setTextFormat(Qt.RichText)
else:
raise Exception("unexpected textFormat type")
mb.setText(text)
mb.setIcon(icon)
mb.setWindowTitle(title)