def __init__(self, window_factory_function): super(BrowserTabWidget, self).__init__() self.setTabsClosable(True) self._window_factory_function = window_factory_function self._webengineviews = [] self._history_windows = {} # map WebengineView to HistoryWindow self.currentChanged.connect(self._current_changed) self.tabCloseRequested.connect(self.handle_tab_close_request) self._actions_enabled = {} for web_action in WebEngineView.web_actions(): self._actions_enabled[web_action] = False tab_bar = self.tabBar() tab_bar.setSelectionBehaviorOnRemove(QTabBar.SelectPreviousTab) tab_bar.setContextMenuPolicy(Qt.CustomContextMenu) tab_bar.customContextMenuRequested.connect(self._handle_tab_context_menu)
def _update_actions(self, index): if index >= 0 and index < len(self._webengineviews): view = self._webengineviews[index] for web_action in WebEngineView.web_actions(): enabled = view.is_web_action_enabled(web_action) self._check_emit_enabled_changed(web_action, enabled)