diff -r 4c60a21ce6dd -r d3d64f3128b3 WebBrowser/Session/SessionManager.py --- a/WebBrowser/Session/SessionManager.py Wed Feb 07 18:57:46 2018 +0100 +++ b/WebBrowser/Session/SessionManager.py Wed Feb 07 20:14:09 2018 +0100 @@ -14,7 +14,7 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QTimer, QDir, \ QFile, QFileInfo, QFileSystemWatcher, QByteArray, QDateTime -from PyQt5.QtWidgets import QMenu, QAction, QActionGroup, QApplication, \ +from PyQt5.QtWidgets import QActionGroup, QApplication, \ QInputDialog, QLineEdit, QDialog, QDialogButtonBox, QLabel, QComboBox, \ QVBoxLayout @@ -352,33 +352,35 @@ self.sessionsMetaDataChanged.emit() @pyqtSlot() - def aboutToShowSessionsMenu(self): + def aboutToShowSessionsMenu(self, menu): """ Public slot to populate the sessions selection menu. + + @param menu reference to the menu about to be shown + @type QMenu """ - menu = self.sender() - if isinstance(menu, QMenu): - menu.clear() - - actionGroup = QActionGroup(menu) - sessions = self.sessionMetaData(includeBackups=False) - for session in sessions: - act = menu.addAction(session.name) - act.setCheckable(True) - act.setChecked(session.isActive) - act.setData(session.filePath) - actionGroup.addAction(act) - act.triggered.connect(self.__sessionActTriggered) + menu.clear() + + actionGroup = QActionGroup(menu) + sessions = self.sessionMetaData(includeBackups=False) + for session in sessions: + act = menu.addAction(session.name) + act.setCheckable(True) + act.setChecked(session.isActive) + act.setData(session.filePath) + actionGroup.addAction(act) + act.triggered.connect(lambda: self.__sessionActTriggered(act)) @pyqtSlot() - def __sessionActTriggered(self): + def __sessionActTriggered(self, act): """ Private slot to handle the menu selection of a session. + + @param act reference to the action that triggered + @type QAction """ - act = self.sender() - if isinstance(act, QAction): - path = act.data() - self.switchToSession(path) + path = act.data() + self.switchToSession(path) def openSession(self, sessionFilePath, flags=0): """