mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-04-28 18:02:38 +02:00
Add collapsible dialog for errors
Move the error message from a text browser to a collapsible widget.
This commit is contained in:
parent
53ec1cad63
commit
81811e0aac
2 changed files with 17 additions and 11 deletions
|
@ -40,11 +40,7 @@ update.</p>
|
|||
|
||||
|
||||
UPDATE_ERROR_MSG_INTRO = """\
|
||||
<p>Something went wrong while checking for Dangerzone updates:</p>
|
||||
"""
|
||||
|
||||
|
||||
UPDATE_ERROR_MSG_OUTRO = """\
|
||||
<p><b>Something went wrong while checking for Dangerzone updates.<b></p>
|
||||
<p>You are strongly advised to visit our
|
||||
<a href="https://dangerzone.rocks#downloads">downloads page</a> and check for new
|
||||
updates manually, or consult
|
||||
|
@ -54,6 +50,7 @@ in our menu, if you are in an air-gapped environment and have another way of lea
|
|||
about updates.</p>
|
||||
"""
|
||||
|
||||
|
||||
HAMBURGER_MENU_SIZE = 30
|
||||
|
||||
|
||||
|
@ -209,15 +206,18 @@ class MainWindow(QtWidgets.QMainWindow):
|
|||
"""Inform the user about an error during update checks"""
|
||||
assert self.updater_error is not None
|
||||
|
||||
error_widget = QtWidgets.QTextBrowser()
|
||||
error_widget.setHtml(self.updater_error)
|
||||
error_widget = CollapsibleBox("Error Details")
|
||||
error_layout = QtWidgets.QVBoxLayout()
|
||||
error_text_box = QtWidgets.QTextBrowser()
|
||||
error_text_box.setHtml(self.updater_error)
|
||||
error_layout.addWidget(error_text_box)
|
||||
error_widget.setContentLayout(error_layout)
|
||||
|
||||
update_widget = UpdateDialog(
|
||||
self.dangerzone,
|
||||
title="Update check error",
|
||||
intro_msg=UPDATE_ERROR_MSG_INTRO,
|
||||
middle_widget=error_widget,
|
||||
epilogue_msg=UPDATE_ERROR_MSG_OUTRO,
|
||||
ok_text="Close",
|
||||
has_cancel=False,
|
||||
)
|
||||
|
|
|
@ -308,9 +308,15 @@ def test_update_error(
|
|||
kwargs = update_dialog_spy.call_args.kwargs
|
||||
assert kwargs["title"] == "Update check error"
|
||||
assert "Something went wrong" in kwargs["intro_msg"]
|
||||
assert "Encountered an exception" in kwargs["middle_widget"].toPlainText()
|
||||
assert "failed" in kwargs["middle_widget"].toPlainText()
|
||||
assert "dangerzone.rocks" in kwargs["epilogue_msg"]
|
||||
assert "dangerzone.rocks" in kwargs["intro_msg"]
|
||||
assert not kwargs["middle_widget"].toggle_button.isChecked()
|
||||
collapsible_box = kwargs["middle_widget"]
|
||||
text_browser = (
|
||||
collapsible_box.layout().itemAt(1).widget().layout().itemAt(0).widget()
|
||||
)
|
||||
assert collapsible_box.toggle_button.text() == "Error Details"
|
||||
assert "Encountered an exception" in text_browser.toPlainText()
|
||||
assert "failed" in text_browser.toPlainText()
|
||||
|
||||
dialog.close()
|
||||
|
||||
|
|
Loading…
Reference in a new issue