--- a/WebBrowser/WebBrowserWindow.py Wed Feb 07 18:57:46 2018 +0100 +++ b/WebBrowser/WebBrowserWindow.py Wed Feb 07 20:14:09 2018 +0100 @@ -1914,7 +1914,8 @@ """<p>Shows the tab manager window.</p>""" )) if not self.__initShortcutsOnly: - self.showTabManagerAct.triggered.connect(self.__showTabManager) + self.showTabManagerAct.triggered.connect( + lambda: self.__showTabManager(self.showTabManagerAct)) self.__actions.append(self.showTabManagerAct) self.showSessionsManagerAct = E5Action( @@ -2002,7 +2003,8 @@ if not self.isPrivate(): sessionsMenu = menu.addMenu(self.tr("Sessions")) sessionsMenu.aboutToShow.connect( - self.sessionManager().aboutToShowSessionsMenu) + lambda: self.sessionManager().aboutToShowSessionsMenu( + sessionsMenu)) menu.addAction(self.showSessionsManagerAct) menu.addSeparator() if self.saveAsAct is not None: @@ -2189,7 +2191,8 @@ if not self.isPrivate(): sessionsMenu = self.__superMenu.addMenu(self.tr("Sessions")) sessionsMenu.aboutToShow.connect( - self.sessionManager().aboutToShowSessionsMenu) + lambda: self.sessionManager().aboutToShowSessionsMenu( + sessionsMenu)) self.__superMenu.addAction(self.showSessionsManagerAct) self.__superMenu.addSeparator() @@ -3222,7 +3225,8 @@ self, 'Configuration', True, fromEric=self.__fromEric, displayMode=ConfigurationDialog.WebBrowserMode) dlg.preferencesChanged.connect(self.preferencesChanged) - dlg.masterPasswordChanged.connect(self.masterPasswordChanged) + dlg.masterPasswordChanged.connect( + lambda old, new: self.masterPasswordChanged(old, new, local=True)) dlg.show() if self.__lastConfigurationPageName: dlg.showConfigurationPageByName(self.__lastConfigurationPageName) @@ -3290,16 +3294,20 @@ self.sessionManager().preferencesChanged() - def masterPasswordChanged(self, oldPassword, newPassword): + def masterPasswordChanged(self, oldPassword, newPassword, local=False): """ Public slot to handle the change of the master password. - @param oldPassword current master password (string) - @param newPassword new master password (string) - """ - from Preferences.ConfigurationDialog import ConfigurationDialog + @param oldPassword current master password + @type str + @param newPassword new master password + @type str + @param local flag indicating being called from the local configuration + dialog + @type bool + """ self.passwordManager().masterPasswordChanged(oldPassword, newPassword) - if self.__fromEric and isinstance(self.sender(), ConfigurationDialog): + if self.__fromEric and local: # we were called from our local configuration dialog Preferences.convertPasswords(oldPassword, newPassword) Utilities.crypto.changeRememberedMaster(newPassword) @@ -4071,11 +4079,14 @@ return cls._tabManager - def __showTabManager(self): + def __showTabManager(self, act): """ Private method to show the tab manager window. - """ - self.tabManager().raiseTabManager() + + @param act reference to the act that triggered + @type QAction + """ + self.tabManager().raiseTabManager(act) @classmethod def mainWindow(cls): @@ -4448,20 +4459,23 @@ feedsManager.newBackgroundTab.connect(self.openUrlNewBackgroundTab) feedsManager.newWindow.connect(self.openUrlNewWindow) feedsManager.newPrivateWindow.connect(self.openUrlNewPrivateWindow) - feedsManager.rejected.connect(self.__feedsManagerClosed) + feedsManager.rejected.connect( + lambda fm: self.__feedsManagerClosed(fm)) feedsManager.show() - def __feedsManagerClosed(self): + def __feedsManagerClosed(self, feedsManager): """ Private slot to handle closing the feeds manager dialog. - """ - feedsManager = self.sender() + + @param feedsManager reference to the feeds manager object + @type FeedsManager + """ feedsManager.openUrl.disconnect(self.openUrl) feedsManager.newTab.disconnect(self.openUrlNewTab) feedsManager.newBackgroundTab.disconnect(self.openUrlNewBackgroundTab) feedsManager.newWindow.disconnect(self.openUrlNewWindow) feedsManager.newPrivateWindow.disconnect(self.openUrlNewPrivateWindow) - feedsManager.rejected.disconnect(self.__feedsManagerClosed) + feedsManager.rejected.disconnect() def __showSiteinfoDialog(self): """