diff --git a/dangerzone/gui/main_window.py b/dangerzone/gui/main_window.py index 2e29405..1ff89c0 100644 --- a/dangerzone/gui/main_window.py +++ b/dangerzone/gui/main_window.py @@ -263,6 +263,9 @@ class MainWindow(QtWidgets.QMainWindow): sep = hamburger_menu.insertSeparator(hamburger_menu.actions()[0]) # FIXME: Add red bubble next to the text. error_action = QtGui.QAction("Update error", hamburger_menu) # type: ignore [attr-defined] + error_action.setIcon( + QtGui.QIcon(self.load_svg_image("hamburger_menu_update_dot_error.svg")) + ) error_action.triggered.connect(self.show_update_error) hamburger_menu.insertAction(sep, error_action) else: @@ -282,7 +285,9 @@ class MainWindow(QtWidgets.QMainWindow): sep = hamburger_menu.insertSeparator(hamburger_menu.actions()[0]) success_action = QtGui.QAction("New version available", hamburger_menu) # type: ignore [attr-defined] success_action.setIcon( - QtGui.QIcon(self.load_svg_image("hamburger_menu_update_available.svg")) + QtGui.QIcon( + self.load_svg_image("hamburger_menu_update_dot_available.svg") + ) ) success_action.triggered.connect(self.show_update_success) hamburger_menu.insertAction(sep, success_action) diff --git a/share/hamburger_menu_update_available.svg b/share/hamburger_menu_update_dot_available.svg similarity index 100% rename from share/hamburger_menu_update_available.svg rename to share/hamburger_menu_update_dot_available.svg diff --git a/share/hamburger_menu_update_dot_error.svg b/share/hamburger_menu_update_dot_error.svg new file mode 100644 index 0000000..b614faf --- /dev/null +++ b/share/hamburger_menu_update_dot_error.svg @@ -0,0 +1,48 @@ + + diff --git a/tests/gui/test_main_window.py b/tests/gui/test_main_window.py index d65d745..129825e 100644 --- a/tests/gui/test_main_window.py +++ b/tests/gui/test_main_window.py @@ -151,7 +151,8 @@ def test_update_detected( assert load_svg_spy.call_count == 2 assert load_svg_spy.call_args_list[0].args[0] == "hamburger_menu_update_success.svg" assert ( - load_svg_spy.call_args_list[1].args[0] == "hamburger_menu_update_available.svg" + load_svg_spy.call_args_list[1].args[0] + == "hamburger_menu_update_dot_available.svg" ) # Check that new menu entries have been added. @@ -284,6 +285,13 @@ def test_update_error( assert len(menu_actions_after) == 5 assert menu_actions_after[2:] == menu_actions_before + # Check that the hamburger icon has changed with the expected SVG image. + assert load_svg_spy.call_count == 2 + assert load_svg_spy.call_args_list[0].args[0] == "hamburger_menu_update_error.svg" + assert ( + load_svg_spy.call_args_list[1].args[0] == "hamburger_menu_update_dot_error.svg" + ) + error_action = menu_actions_after[0] assert error_action.text() == "Update error"