Beispiel #1
0
	def __init__(self, tag, typ, fromStore, toStore, item, trayIcon):
		super(ProgressWidget, self).__init__()
		self.tag = tag
		self.__type = typ
		self.__state = Connector().PROGRESS_RUNNING
		self.__fromStore = fromStore
		self.__toStore = toStore
		self.__trayIcon = trayIcon

		self.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Sunken)

		self.__progressInd = QtGui.QLabel()
		self.__progressInd.setMargin(4)
		if typ == Connector().PROGRESS_SYNC:
			self.fromBtn = DocButton(fromStore, fromStore, True)
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-sync.png"))
		elif typ == Connector().PROGRESS_REP_DOC:
			self.fromBtn = DocButton(fromStore, item, True)
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
		elif typ == Connector().PROGRESS_REP_REV:
			self.fromBtn = RevButton(fromStore, item, True)
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
		self.toBtn = DocButton(toStore, toStore, True)
		self.progressBar = QtGui.QProgressBar()
		self.progressBar.setMinimum(0)
		self.progressBar.setMaximum(0)
		self.__pauseBtn = QtGui.QToolButton()
		self.__pauseBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
		self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-pause.png"))
		self.__pauseBtn.setToolTip("Pause")
		self.__pauseBtn.clicked.connect(self.__pause)
		self.__stopBtn = QtGui.QToolButton()
		self.__stopBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
		self.__stopBtn.setIcon(QtGui.QIcon("icons/progress-stop.png"))
		self.__stopBtn.setToolTip("Abort")
		self.__stopBtn.clicked.connect(self.__stop)
		self.__skipBtn = QtGui.QToolButton()
		self.__skipBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
		self.__skipBtn.setIcon(QtGui.QIcon("icons/progress-skip.png"))
		self.__skipBtn.setToolTip("Skip")
		self.__skipBtn.clicked.connect(self.__skip)
		self.__skipBtn.hide()
		self.__errorMsg = QtGui.QLabel()
		self.__errorMsg.setWordWrap(True)
		self.__errorMsg.hide()

		layout = QtGui.QHBoxLayout()
		layout.setMargin(0)
		layout.addWidget(self.__progressInd)
		layout.addWidget(self.fromBtn)
		layout.addWidget(self.progressBar)
		layout.addWidget(self.__errorMsg)
		layout.addWidget(self.toBtn)
		layout.addWidget(self.__pauseBtn)
		layout.addWidget(self.__skipBtn)
		if typ != Connector().PROGRESS_SYNC:
			layout.addWidget(self.__stopBtn)
		self.setLayout(layout)

		Connector().regProgressHandler(progress=self.progress)
Beispiel #2
0
class ReplicationProgressWidget(QtGui.QFrame):
	def __init__(self, tag, typ, uuid, store, parent=None):
		super(ReplicationProgressWidget, self).__init__(parent)
		self.tag = tag
		self.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Sunken)

		if typ == PROGRESS_REP_DOC:
			self.docBtn = DocButton(store, uuid, True)
		else:
			self.docBtn = RevButton(store, uuid, True)
		self.progressBar = QtGui.QProgressBar()
		self.progressBar.setMaximum(255)

		self.storeButtons = []
		layout = QtGui.QHBoxLayout()
		layout.setMargin(0)
		layout.addWidget(self.docBtn)
		layout.addWidget(self.progressBar)
		button = DocButton(store, store)
		self.storeButtons.append(button)
		layout.addWidget(button)
		self.setLayout(layout)

		Connector().regProgressHandler(progress=self.progress)

	def remove(self):
		Connector().unregProgressHandler(progress=self.progress)
		self.docBtn.cleanup()
		for button in self.storeButtons:
			button.cleanup()
		self.deleteLater()

	def progress(self, tag, value):
		if self.tag == tag:
			self.progressBar.setValue(value)
    def __init__(self, tag, typ, fromStore, toStore, item, trayIcon):
        super(ProgressWidget, self).__init__()
        self.tag = tag
        self.__type = typ
        self.__state = Connector().PROGRESS_RUNNING
        self.__fromStore = fromStore
        self.__toStore = toStore
        self.__trayIcon = trayIcon

        self.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Sunken)

        self.__progressInd = QtGui.QLabel()
        self.__progressInd.setMargin(4)
        if typ == Connector().PROGRESS_SYNC:
            self.fromBtn = DocButton(fromStore, fromStore, True)
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-sync.png"))
        elif typ == Connector().PROGRESS_REP_DOC:
            self.fromBtn = DocButton(fromStore, item, True)
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
        elif typ == Connector().PROGRESS_REP_REV:
            self.fromBtn = RevButton(fromStore, item, True)
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
        self.toBtn = DocButton(toStore, toStore, True)
        self.progressBar = QtGui.QProgressBar()
        self.progressBar.setMinimum(0)
        self.progressBar.setMaximum(0)
        self.__pauseBtn = QtGui.QToolButton()
        self.__pauseBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
        self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-pause.png"))
        self.__pauseBtn.setToolTip("Pause")
        self.__pauseBtn.clicked.connect(self.__pause)
        self.__stopBtn = QtGui.QToolButton()
        self.__stopBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
        self.__stopBtn.setIcon(QtGui.QIcon("icons/progress-stop.png"))
        self.__stopBtn.setToolTip("Abort")
        self.__stopBtn.clicked.connect(self.__stop)
        self.__skipBtn = QtGui.QToolButton()
        self.__skipBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
        self.__skipBtn.setIcon(QtGui.QIcon("icons/progress-skip.png"))
        self.__skipBtn.setToolTip("Skip")
        self.__skipBtn.clicked.connect(self.__skip)
        self.__skipBtn.hide()
        self.__errorMsg = QtGui.QLabel()
        self.__errorMsg.setWordWrap(True)
        self.__errorMsg.hide()

        layout = QtGui.QHBoxLayout()
        layout.setMargin(0)
        layout.addWidget(self.__progressInd)
        layout.addWidget(self.fromBtn)
        layout.addWidget(self.progressBar)
        layout.addWidget(self.__errorMsg)
        layout.addWidget(self.toBtn)
        layout.addWidget(self.__pauseBtn)
        layout.addWidget(self.__skipBtn)
        if typ != Connector().PROGRESS_SYNC:
            layout.addWidget(self.__stopBtn)
        self.setLayout(layout)

        Connector().regProgressHandler(progress=self.progress)
Beispiel #4
0
	def __init__(self, tag, typ, uuid, store, parent=None):
		super(ReplicationProgressWidget, self).__init__(parent)
		self.tag = tag
		self.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Sunken)

		if typ == PROGRESS_REP_DOC:
			self.docBtn = DocButton(store, uuid, True)
		else:
			self.docBtn = RevButton(store, uuid, True)
		self.progressBar = QtGui.QProgressBar()
		self.progressBar.setMaximum(255)

		self.storeButtons = []
		layout = QtGui.QHBoxLayout()
		layout.setMargin(0)
		layout.addWidget(self.docBtn)
		layout.addWidget(self.progressBar)
		button = DocButton(store, store)
		self.storeButtons.append(button)
		layout.addWidget(button)
		self.setLayout(layout)

		Connector().regProgressHandler(progress=self.progress)
Beispiel #5
0
class ProgressWidget(QtGui.QFrame):
	def __init__(self, tag, typ, fromStore, toStore, item, trayIcon):
		super(ProgressWidget, self).__init__()
		self.tag = tag
		self.__type = typ
		self.__state = Connector().PROGRESS_RUNNING
		self.__fromStore = fromStore
		self.__toStore = toStore
		self.__trayIcon = trayIcon

		self.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Sunken)

		self.__progressInd = QtGui.QLabel()
		self.__progressInd.setMargin(4)
		if typ == Connector().PROGRESS_SYNC:
			self.fromBtn = DocButton(fromStore, fromStore, True)
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-sync.png"))
		elif typ == Connector().PROGRESS_REP_DOC:
			self.fromBtn = DocButton(fromStore, item, True)
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
		elif typ == Connector().PROGRESS_REP_REV:
			self.fromBtn = RevButton(fromStore, item, True)
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
		self.toBtn = DocButton(toStore, toStore, True)
		self.progressBar = QtGui.QProgressBar()
		self.progressBar.setMinimum(0)
		self.progressBar.setMaximum(0)
		self.__pauseBtn = QtGui.QToolButton()
		self.__pauseBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
		self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-pause.png"))
		self.__pauseBtn.setToolTip("Pause")
		self.__pauseBtn.clicked.connect(self.__pause)
		self.__stopBtn = QtGui.QToolButton()
		self.__stopBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
		self.__stopBtn.setIcon(QtGui.QIcon("icons/progress-stop.png"))
		self.__stopBtn.setToolTip("Abort")
		self.__stopBtn.clicked.connect(self.__stop)
		self.__skipBtn = QtGui.QToolButton()
		self.__skipBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
		self.__skipBtn.setIcon(QtGui.QIcon("icons/progress-skip.png"))
		self.__skipBtn.setToolTip("Skip")
		self.__skipBtn.clicked.connect(self.__skip)
		self.__skipBtn.hide()
		self.__errorMsg = QtGui.QLabel()
		self.__errorMsg.setWordWrap(True)
		self.__errorMsg.hide()

		layout = QtGui.QHBoxLayout()
		layout.setMargin(0)
		layout.addWidget(self.__progressInd)
		layout.addWidget(self.fromBtn)
		layout.addWidget(self.progressBar)
		layout.addWidget(self.__errorMsg)
		layout.addWidget(self.toBtn)
		layout.addWidget(self.__pauseBtn)
		layout.addWidget(self.__skipBtn)
		if typ != Connector().PROGRESS_SYNC:
			layout.addWidget(self.__stopBtn)
		self.setLayout(layout)

		Connector().regProgressHandler(progress=self.progress)

	def remove(self):
		Connector().unregProgressHandler(progress=self.progress)
		self.fromBtn.cleanup()
		self.toBtn.cleanup()
		self.deleteLater()

	def progress(self, tag, state, value, err_code=None, err_doc=None, err_rev=None):
		if self.tag != tag:
			return

		if value > 0:
			self.progressBar.setMaximum(255)
		self.progressBar.setValue(value)
		if self.__state == state:
			return

		self.__state = state
		self.progressBar.setVisible(state != Connector().PROGRESS_ERROR)
		self.__errorMsg.setVisible(state == Connector().PROGRESS_ERROR)
		self.__skipBtn.setVisible(state == Connector().PROGRESS_ERROR)
		if state == Connector().PROGRESS_RUNNING:
			self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-pause.png"))
			self.__pauseBtn.setToolTip("Pause")
			if self.__type == Connector().PROGRESS_SYNC:
				self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-sync.png"))
			else:
				self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
		elif state == Connector().PROGRESS_PAUSED:
			self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-start.png"))
			self.__pauseBtn.setToolTip("Resume")
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-pause.png"))
		elif state == Connector().PROGRESS_ERROR:
			self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-retry.png"))
			self.__pauseBtn.setToolTip("Retry")
			self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-error.png"))
			doc = struct.readTitle(RevLink(self.__fromStore, err_rev),
				'unknown document')
			self.__errorMsg.setText("Error '" + err_code[1] + "' while processing '"
				+ doc + "'!")
			if self.__type == Connector().PROGRESS_SYNC:
				title = "Synchronization error"
				message = "synchronizing"
			else:
				title = "Replication error"
				message = "replicating"
			message = "Error '" + err_code[1] + "' while " + message + " '" + doc + \
				"' \nfrom '" + struct.readTitle(DocLink(self.__fromStore, self.__fromStore), "unknown store") + \
				"' to '" + struct.readTitle(DocLink(self.__toStore, self.__toStore), "unknown store") + \
				"'!"
			self.__trayIcon.showMessage(title, message, QtGui.QSystemTrayIcon.Warning)

	def __pause(self):
		if self.__state == Connector().PROGRESS_RUNNING:
			Connector().progressPause(self.tag)
		else:
			Connector().progressResume(self.tag)

	def __stop(self):
		Connector().progressStop(self.tag)

	def __skip(self):
		Connector().progressResume(self.tag, True)
class ProgressWidget(QtGui.QFrame):
    def __init__(self, tag, typ, fromStore, toStore, item, trayIcon):
        super(ProgressWidget, self).__init__()
        self.tag = tag
        self.__type = typ
        self.__state = Connector().PROGRESS_RUNNING
        self.__fromStore = fromStore
        self.__toStore = toStore
        self.__trayIcon = trayIcon

        self.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Sunken)

        self.__progressInd = QtGui.QLabel()
        self.__progressInd.setMargin(4)
        if typ == Connector().PROGRESS_SYNC:
            self.fromBtn = DocButton(fromStore, fromStore, True)
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-sync.png"))
        elif typ == Connector().PROGRESS_REP_DOC:
            self.fromBtn = DocButton(fromStore, item, True)
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
        elif typ == Connector().PROGRESS_REP_REV:
            self.fromBtn = RevButton(fromStore, item, True)
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
        self.toBtn = DocButton(toStore, toStore, True)
        self.progressBar = QtGui.QProgressBar()
        self.progressBar.setMinimum(0)
        self.progressBar.setMaximum(0)
        self.__pauseBtn = QtGui.QToolButton()
        self.__pauseBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
        self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-pause.png"))
        self.__pauseBtn.setToolTip("Pause")
        self.__pauseBtn.clicked.connect(self.__pause)
        self.__stopBtn = QtGui.QToolButton()
        self.__stopBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
        self.__stopBtn.setIcon(QtGui.QIcon("icons/progress-stop.png"))
        self.__stopBtn.setToolTip("Abort")
        self.__stopBtn.clicked.connect(self.__stop)
        self.__skipBtn = QtGui.QToolButton()
        self.__skipBtn.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
        self.__skipBtn.setIcon(QtGui.QIcon("icons/progress-skip.png"))
        self.__skipBtn.setToolTip("Skip")
        self.__skipBtn.clicked.connect(self.__skip)
        self.__skipBtn.hide()
        self.__errorMsg = QtGui.QLabel()
        self.__errorMsg.setWordWrap(True)
        self.__errorMsg.hide()

        layout = QtGui.QHBoxLayout()
        layout.setMargin(0)
        layout.addWidget(self.__progressInd)
        layout.addWidget(self.fromBtn)
        layout.addWidget(self.progressBar)
        layout.addWidget(self.__errorMsg)
        layout.addWidget(self.toBtn)
        layout.addWidget(self.__pauseBtn)
        layout.addWidget(self.__skipBtn)
        if typ != Connector().PROGRESS_SYNC:
            layout.addWidget(self.__stopBtn)
        self.setLayout(layout)

        Connector().regProgressHandler(progress=self.progress)

    def remove(self):
        Connector().unregProgressHandler(progress=self.progress)
        self.fromBtn.cleanup()
        self.toBtn.cleanup()
        self.deleteLater()

    def progress(self, tag, state, value, err_code=None, err_doc=None, err_rev=None):
        if self.tag != tag:
            return

        if value > 0:
            self.progressBar.setMaximum(255)
        self.progressBar.setValue(value)
        if self.__state == state:
            return

        self.__state = state
        self.progressBar.setVisible(state != Connector().PROGRESS_ERROR)
        self.__errorMsg.setVisible(state == Connector().PROGRESS_ERROR)
        self.__skipBtn.setVisible(state == Connector().PROGRESS_ERROR)
        if state == Connector().PROGRESS_RUNNING:
            self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-pause.png"))
            self.__pauseBtn.setToolTip("Pause")
            if self.__type == Connector().PROGRESS_SYNC:
                self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-sync.png"))
            else:
                self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-replicate.png"))
        elif state == Connector().PROGRESS_PAUSED:
            self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-start.png"))
            self.__pauseBtn.setToolTip("Resume")
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-pause.png"))
        elif state == Connector().PROGRESS_ERROR:
            self.__pauseBtn.setIcon(QtGui.QIcon("icons/progress-retry.png"))
            self.__pauseBtn.setToolTip("Retry")
            self.__progressInd.setPixmap(QtGui.QPixmap("icons/progress-error.png"))
            doc = struct.readTitle(RevLink(self.__fromStore, err_rev), "unknown document")
            self.__errorMsg.setText("Error '" + err_code[1] + "' while processing '" + doc + "'!")
            if self.__type == Connector().PROGRESS_SYNC:
                title = "Synchronization error"
                message = "synchronizing"
            else:
                title = "Replication error"
                message = "replicating"
            message = (
                "Error '"
                + err_code[1]
                + "' while "
                + message
                + " '"
                + doc
                + "' \nfrom '"
                + struct.readTitle(DocLink(self.__fromStore, self.__fromStore), "unknown store")
                + "' to '"
                + struct.readTitle(DocLink(self.__toStore, self.__toStore), "unknown store")
                + "'!"
            )
            self.__trayIcon.showMessage(title, message, QtGui.QSystemTrayIcon.Warning)

    def __pause(self):
        if self.__state == Connector().PROGRESS_RUNNING:
            Connector().progressPause(self.tag)
        else:
            Connector().progressResume(self.tag)

    def __stop(self):
        Connector().progressStop(self.tag)

    def __skip(self):
        Connector().progressResume(self.tag, True)