diff --git a/python/graph_pane_menu.py b/python/graph_pane_menu.py new file mode 100644 index 0000000000000000000000000000000000000000..a9a070be45fee9f506c54c08231758eeb1f220de --- /dev/null +++ b/python/graph_pane_menu.py @@ -0,0 +1,18 @@ +from PyQt5.QtWidgets import QMenu + +""" +Provides the graph pane menu. +""" + +def make_graph_pane_menu(gui_manager): + + menu = QMenu("&Code editor") + + menu.addAction(gui_manager.graphs_manager.action_show_hidden_components) + menu.addAction(gui_manager.graphs_manager + .action_show_hidden_components_all_graphs) + menu.addSeparator() + menu.addAction(gui_manager.action_zoom_in) + menu.addAction(gui_manager.action_zoom_out) + return menu + diff --git a/python/gui_manager.py b/python/gui_manager.py index 60b429c391724b46567c16a25b65a0e972ced1a5..5f02defdbfe461d197372a29c85543a6dba81758 100644 --- a/python/gui_manager.py +++ b/python/gui_manager.py @@ -30,7 +30,8 @@ from mp_code_manager import MPCodeManager from mp_code_view import MPCodeView from code_editor_menu import make_code_editor_menu from gry_manager import GryManager -from settings_graph_pane_menu import SettingsGraphPaneMenu +from settings_appearance_menu import SettingsAppearanceMenu +from graph_pane_menu import make_graph_pane_menu from export_trace_manager import ExportTraceManager from mp_logger import set_logger_targets, log, clear_log from mp_style import mp_menu_button @@ -420,6 +421,11 @@ class GUIManager(QObject): self.settings_menu.addAction( self.preferences_manager.action_use_dark_mode) + # menu | settings | appearance + self.settings_appearance_menu = SettingsAppearanceMenu(self.w, + self.settings_manager, self.graphs_manager) + self.settings_menu.addMenu(self.settings_appearance_menu) + # menu | settings | separator self.settings_menu.addSeparator() @@ -429,10 +435,8 @@ class GUIManager(QObject): self.settings_menu.addMenu(self._code_editor_menu) # menu | settings | graph pane preferences - self.settings_graph_pane_menu = SettingsGraphPaneMenu(self.w, - self.settings_manager, self.graphs_manager) - self.settings_menu.addMenu( - self.settings_graph_pane_menu.graph_pane_menu) + self.graph_pane_menu = make_graph_pane_menu(self) + self.settings_menu.addMenu(self.graph_pane_menu) # menu | settings | graph list navigation pane preferences self.settings_menu.addMenu(self.preferences_manager.graph_list_menu) diff --git a/python/settings_graph_pane_menu.py b/python/settings_appearance_menu.py similarity index 81% rename from python/settings_graph_pane_menu.py rename to python/settings_appearance_menu.py index e4e61b06c05975b294c6e3dab52d6cb3451a7dcc..e841165fd7b7d1a662240eee975e85bd4e66d14f 100644 --- a/python/settings_graph_pane_menu.py +++ b/python/settings_appearance_menu.py @@ -8,10 +8,11 @@ from settings_dialog_wrapper import SettingsDialogWrapper from message_popup import message_popup """ -Provides the graph pane settings menu and some associated actions. +Provides the graph pane settings menu and some actions. """ -class SettingsGraphPaneMenu(QObject): +# extends QMenu +class SettingsAppearanceMenu(QMenu): @pyqtSlot() def _fill_preset_themes_menu(self): @@ -39,7 +40,7 @@ class SettingsGraphPaneMenu(QObject): "Error saving graph settings file as default: %s" % str(e)) def __init__(self, parent_w, settings_manager, graphs_manager): - super().__init__() + super().__init__("&Appearance") self.parent_w = parent_w self.settings_manager = settings_manager self.graphs_manager = graphs_manager @@ -83,18 +84,13 @@ class SettingsGraphPaneMenu(QObject): self._reset_settings) # the graph pane menu - self.graph_pane_menu = QMenu("&Graph pane") - self.graph_pane_menu.addMenu(self._preset_themes_menu) - self.graph_pane_menu.addAction(self._action_custom_settings) - self.graph_pane_menu.addAction(self._action_export_settings) - self.graph_pane_menu.addAction(self._action_import_settings) - self.graph_pane_menu.addAction(self._action_default_on_startup) - self.graph_pane_menu.addAction(self._action_reset_settings) - self.graph_pane_menu.addSeparator() - self.graph_pane_menu.addAction( - self.graphs_manager.action_show_hidden_components) - self.graph_pane_menu.addAction( - self.graphs_manager.action_show_hidden_components_all_graphs) + self.addMenu(self._preset_themes_menu) + self.addAction(self._action_custom_settings) + self.addAction(self._action_export_settings) + self.addAction(self._action_import_settings) + self.addAction(self._action_default_on_startup) + self.addSeparator() + self.addAction(self._action_reset_settings) def _open_settings_editor(self): if not self._settings_dialog_wrapper: