Exemple #1
0
    def __deleteSession(self):
        """
        Private slot to delete the selected session.
        """
        itm = self.sessionsList.currentItem()
        if itm is None:
            return

        filePath = itm.data(0, SessionManagerDialog.SessionFileRole)
        if filePath:
            WebBrowserWindow.sessionManager().deleteSession(filePath)
Exemple #2
0
    def __refresh(self):
        """
        Private slot to refresh the list of sessions.
        """
        self.sessionsList.clear()

        sessions = WebBrowserWindow.sessionManager().sessionMetaData(
            includeBackups=True)
        for session in sessions:
            itm = QTreeWidgetItem()
            itm.setText(0, session.name)
            itm.setText(
                1,
                QFileInfo(session.filePath).lastModified().toString(
                    "yyyy-MM-dd hh:mm"))
            itm.setData(0, SessionManagerDialog.SessionFileRole,
                        session.filePath)
            itm.setData(0, SessionManagerDialog.BackupSessionRole,
                        session.isBackup)
            itm.setData(0, SessionManagerDialog.ActiveSessionRole,
                        session.isActive)
            itm.setData(0, SessionManagerDialog.DefaultSessionRole,
                        session.isDefault)
            self.__updateSessionItem(itm)
            self.sessionsList.addTopLevelItem(itm)

        self.__updateButtons()
Exemple #3
0
    def __switchToSession(self):
        """
        Private slot to switch to the selected session.
        """
        itm = self.sessionsList.currentItem()
        if itm is None:
            return

        filePath = itm.data(0, SessionManagerDialog.SessionFileRole)
        if filePath:
            if itm.data(0, SessionManagerDialog.BackupSessionRole):
                res = (
                    WebBrowserWindow.sessionManager().replaceSession(filePath))
            else:
                res = (WebBrowserWindow.sessionManager().switchToSession(
                    filePath))

            if res:
                self.close()
Exemple #4
0
    def __init__(self, parent=None):
        """
        Constructor
        
        @param parent reference to the parent widget
        @type QWidget
        """
        super(SessionManagerDialog, self).__init__(parent)
        self.setupUi(self)
        self.setAttribute(Qt.WA_DeleteOnClose)

        self.newButton.clicked.connect(self.__newSession)
        self.renameButton.clicked.connect(self.__renameSession)
        self.cloneButton.clicked.connect(self.__cloneSession)
        self.deleteButton.clicked.connect(self.__deleteSession)
        self.switchButton.clicked.connect(self.__switchToSession)
        self.sessionsList.currentItemChanged.connect(self.__updateButtons)

        self.__refresh()
        WebBrowserWindow.sessionManager().sessionsMetaDataChanged.connect(
            self.__refresh)
Exemple #5
0
 def __newSession(self):
     """
     Private slot to create a new session.
     """
     WebBrowserWindow.sessionManager().newSession()