Skip to content

Commit

Permalink
Disconnect from main menu
Browse files Browse the repository at this point in the history
  • Loading branch information
andfoy committed Jul 15, 2021
1 parent e8fbbde commit 22e1ba5
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 9 deletions.
6 changes: 5 additions & 1 deletion spyder/api/widgets/menus.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,11 @@ def add_action(self, action, section=None, before=None,
self._ordered_actions = []

def remove_action(self, item):
self._actions.remove(item)
try:
self._actions.remove(item)
except ValueError:
# Skip if the item is not in the menu
pass

def get_title(self):
"""
Expand Down
44 changes: 36 additions & 8 deletions spyder/plugins/application/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,20 @@ def on_console_teardown(self):
@on_plugin_teardown(plugin=Plugins.Shortcuts)
def on_shortcuts_teardown(self):
self.shortcuts_available = False
if self.main_menu_available:
self._depopulate_help_menu()

@on_plugin_teardown(plugin=Plugins.MainMenu)
def on_main_menu_teardown(self):
main_menu = self.get_plugin(Plugins.MainMenu)
self.main_menu_available = False

self._depopulate_file_menu()
self._depopulate_tools_menu()
self._depopulate_help_menu()

report_action = self.get_action(ConsoleActions.SpyderReportAction)
main_menu.remove_item_from_application_menu(
report_action,
menu_id=ApplicationMenus.Help)

def on_close(self, _unused=True):
self.get_container().on_close()
Expand Down Expand Up @@ -176,12 +188,6 @@ def _populate_help_menu(self):
self._populate_help_menu_support_section(mainmenu)
self._populate_help_menu_about_section(mainmenu)

def _depopulate_help_menu(self):
mainmenu = self.get_plugin(Plugins.MainMenu)
self._depopulate_help_menu_documentation_section(mainmenu)
self._depopulate_help_menu_support_section(mainmenu)
self._populate_help_menu_about_section(mainmenu)

def _populate_help_menu_documentation_section(self, mainmenu):
"""Add base Spyder documentation actions to the Help main menu."""
if mainmenu:
Expand Down Expand Up @@ -220,6 +226,28 @@ def _populate_help_menu_about_section(self, mainmenu):
menu_id=ApplicationMenus.Help,
section=HelpMenuSections.About)

def _depopulate_file_menu(self):
mainmenu = self.get_plugin(Plugins.MainMenu)
if mainmenu:
mainmenu.remove_item_from_application_menu(
self.restart_action,
menu_id=ApplicationMenus.File)

def _depopulate_tools_menu(self):
"""Add base actions and menus to the Tools menu."""
mainmenu = self.get_plugin(Plugins.MainMenu)
if mainmenu:
if WinUserEnvDialog is not None:
mainmenu.remove_item_from_application_menu(
self.winenv_action,
menu_id=ApplicationMenus.Tools)

def _depopulate_help_menu(self):
mainmenu = self.get_plugin(Plugins.MainMenu)
self._depopulate_help_menu_documentation_section(mainmenu)
self._depopulate_help_menu_support_section(mainmenu)
self._depopulate_help_menu_about_section(mainmenu)

def _depopulate_help_menu_documentation_section(self, mainmenu):
if mainmenu:
for documentation_action in [
Expand Down

0 comments on commit 22e1ba5

Please sign in to comment.