diff --git a/spyder/plugins/layout/plugin.py b/spyder/plugins/layout/plugin.py index 798cbacd091..c8045adae0b 100644 --- a/spyder/plugins/layout/plugin.py +++ b/spyder/plugins/layout/plugin.py @@ -23,7 +23,8 @@ from spyder.api.translations import get_translation from spyder.api.utils import get_class_values from spyder.plugins.mainmenu.api import ApplicationMenus, ViewMenuSections -from spyder.plugins.layout.container import LayoutContainer +from spyder.plugins.layout.container import ( + LayoutContainer, LayoutContainerActions) from spyder.plugins.layout.layouts import (DefaultLayouts, HorizontalSplitLayout, MatlabLayout, RLayout, @@ -150,43 +151,37 @@ def on_toolbar_available(self): @on_plugin_teardown(plugin=Plugins.MainMenu) def on_main_menu_teardown(self): mainmenu = self.get_plugin(Plugins.MainMenu) - container = self.get_container() # Remove Panes related actions from the View application menu panes_items = [ - container._plugins_menu, - container._lock_interface_action, - container._close_dockwidget_action, - container._maximize_dockwidget_action] + "plugins_menu", + LayoutContainerActions.LockDockwidgetsAndToolbars, + LayoutContainerActions.CloseCurrentDockwidget, + LayoutContainerActions.MaximizeCurrentDockwidget] for panes_item in panes_items: mainmenu.remove_item_from_application_menu( panes_item, menu_id=ApplicationMenus.View) # Remove layouts menu from the View application menu layout_items = [ - container._layouts_menu, - container._toggle_next_layout_action, - container._toggle_previous_layout_action] + 'layouts_menu', + LayoutContainerActions.NextLayout, + LayoutContainerActions.PreviousLayout] for layout_item in layout_items: mainmenu.remove_item_from_application_menu( layout_item, menu_id=ApplicationMenus.View) # Remove fullscreen action from the View application menu mainmenu.remove_item_from_application_menu( - container._fullscreen_action, + LayoutContainerActions.Fullscreen, menu_id=ApplicationMenus.View) @on_plugin_teardown(plugin=Plugins.Toolbar) def on_toolbar_teardown(self): - container = self.get_container() toolbars = self.get_plugin(Plugins.Toolbar) - # Remove actions from the Main application toolbar - before_action = self.get_action( - PreferencesActions.Show, - plugin=Plugins.Preferences - ) + # Remove actions from the Main application toolbar toolbars.remove_item_from_application_toolbar( - container._maximize_dockwidget_action, + LayoutContainerActions.MaximizeCurrentDockwidget, toolbar_id=ApplicationToolbars.Main ) diff --git a/spyder/plugins/toolbar/plugin.py b/spyder/plugins/toolbar/plugin.py index 4dbb98390d7..39b54f5f600 100644 --- a/spyder/plugins/toolbar/plugin.py +++ b/spyder/plugins/toolbar/plugin.py @@ -184,27 +184,20 @@ def add_item_to_application_toolbar(self, omit_id=omit_id ) - def remove_item_from_application_toolbar(self, item, toolbar=None, - toolbar_id=None): + def remove_item_from_application_toolbar(self, item_id: str, + toolbar_id: Optional[str] = None): """ - Remove action or widget `item` from given application menu. + Remove action or widget `item` from given application menu by id. Parameters ---------- - item: SpyderAction or QWidget - The item to add to the `toolbar`. - toolbar: ApplicationToolbar or None - Instance of a Spyder application toolbar. + item_id: str + The item to remove from the toolbar. toolbar_id: str or None The application toolbar unique string identifier. - - Notes - ----- - Must provide a `toolbar` or a `toolbar_id`. """ self.get_container().remove_item_from_application_toolbar( - item, - toolbar=toolbar, + item_id, toolbar_id=toolbar_id )