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 Aug 31, 2021
1 parent b866f3f commit fbd9699
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 2 deletions.
5 changes: 3 additions & 2 deletions spyder/api/widgets/menus.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,9 @@ def add_action(self: T, action: Union[SpyderAction, T],
self._actions_map[item_id] = action

def remove_action(self, item_id: str):
action = self._actions_map.pop(item_id)
self._actions.remove(action)
if item_id in self._actions_map:
action = self._actions_map.pop(item_id)
self._actions.remove(action)

def get_title(self):
"""
Expand Down
31 changes: 31 additions & 0 deletions spyder/plugins/application/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
from spyder.plugins.application.container import (
ApplicationActions, ApplicationContainer, ApplicationPluginMenus,
WinUserEnvDialog)
from spyder.plugins.console.api import ConsoleActions
from spyder.plugins.mainmenu.api import (
ApplicationMenus, FileMenuSections, HelpMenuSections, ToolsMenuSections)
from spyder.utils.qthelpers import add_actions
Expand Down Expand Up @@ -120,6 +121,13 @@ def on_shortcuts_teardown(self):
if self.is_plugin_available(Plugins.MainMenu):
self._depopulate_help_menu()

@on_plugin_teardown(plugin=Plugins.MainMenu)
def on_main_menu_teardown(self):
self._depopulate_file_menu()
self._depopulate_tools_menu()
self._depopulate_help_menu()
self.report_action.setVisible(False)

def on_close(self, _unused=True):
self.get_container().on_close()

Expand Down Expand Up @@ -228,6 +236,7 @@ def _depopulate_help_menu_support_section(self):
mainmenu = self.get_plugin(Plugins.MainMenu)
for support_action in [
ApplicationActions.SpyderTroubleshootingAction,
ConsoleActions.SpyderReportAction,
ApplicationActions.SpyderDependenciesAction,
ApplicationActions.SpyderCheckUpdatesAction,
ApplicationActions.SpyderSupportAction]:
Expand All @@ -241,6 +250,28 @@ def _depopulate_help_menu_about_section(self):
ApplicationActions.SpyderAbout,
menu_id=ApplicationMenus.Help)

def _depopulate_file_menu(self):
mainmenu = self.get_plugin(Plugins.MainMenu)
mainmenu.remove_item_from_application_menu(
ApplicationActions.SpyderRestart,
menu_id=ApplicationMenus.File)
mainmenu.remove_item_from_application_menu(
ApplicationActions.SpyderRestartDebug,
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 WinUserEnvDialog is not None:
mainmenu.remove_item_from_application_menu(
ApplicationActions.SpyderWindowsEnvVariables,
menu_id=ApplicationMenus.Tools)

if get_debug_level() >= 2:
mainmenu.remove_item_from_application_menu(
ApplicationPluginMenus.DebugLogsMenu,
menu_id=ApplicationMenus.Tools)

# ---- Public API
# ------------------------------------------------------------------------
def get_application_context_menu(self, parent=None):
Expand Down

0 comments on commit fbd9699

Please sign in to comment.