Exemplo n.º 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)
Exemplo n.º 2
0
	def __init__(self, store, peer, rules, parent):
		super(SyncRuleWidget, self).__init__(parent)

		self.__store = store
		self.__peer = peer
		self.__rules = rules

		self.__descrEdit = QtGui.QLineEdit()
		self.__storeBtn = DocButton(store, store, True)
		self.__peerBtn = DocButton(peer, peer, True)
		self.__modeSel = QtGui.QComboBox()
		self.__modeSel.addItems([SyncRuleWidget.MAP[m] for m in SyncRuleWidget.MODES])
		self.__reverseBtn = QtGui.QPushButton('Reverse')
		self.__reverseBtn.clicked.connect(self.__reverse)
		self.__removeBtn = QtGui.QPushButton('Remove')
		self.__removeBtn.clicked.connect(self.__remove)

		layout = QtGui.QHBoxLayout()
		layout.addWidget(self.__descrEdit)
		layout.addWidget(self.__storeBtn)
		layout.addWidget(self.__modeSel)
		layout.addWidget(self.__peerBtn)
		layout.addWidget(self.__reverseBtn)
		layout.addWidget(self.__removeBtn)
		self.setLayout(layout)

		mode = (rules.mode(store, peer), rules.mode(peer, store))
		self.__modeSel.setCurrentIndex(SyncRuleWidget.MODES.index(mode))
		self.__descrEdit.setText(rules.descr(store, peer))

		# connect signals as last step, otherwise loading the rule already triggers
		self.__descrEdit.textEdited.connect(self.__setRule)
		self.__modeSel.currentIndexChanged.connect(self.__setRule)
Exemplo n.º 3
0
    def __updateStoreButtons(self):
        view = self.__viewHandler.getView()
        curStore = view.store()
        if view.doc():
            allStores = Connector().lookupDoc(view.doc()).stores()
        else:
            allStores = Connector().lookupRev(view.rev())

        # update store buttons in status bar
        for store in set(self.__storeButtons) ^ set(allStores):
            if store in allStores:
                button = DocButton(store, store, checkable=True)
                button.clicked.connect(
                    lambda x, store=store: self.__switchStore(store))
                self.statusBar().addPermanentWidget(button)
                self.__storeButtons[store] = button
            else:
                self.statusBar().removeWidget(self.__storeButtons[store])
                del self.__storeButtons[store]

        for (store, button) in self.__storeButtons.items():
            button.setChecked(store == curStore)
Exemplo n.º 4
0
    def __init__(self, store, stores, descr, parent=None):
        super(DocumentTab, self).__init__(parent)

        if store in stores:
            self.__store = store
        else:
            self.__store = stores[0]
        self.__buttons = {}

        mainLayout = QtGui.QVBoxLayout()
        mainLayout.addWidget(
            QtGui.QLabel("The " + descr + " exists on the following stores:"))
        subLayout = QtGui.QHBoxLayout()
        for store in stores:
            button = DocButton(store, store, True, True)
            button.setCheckable(True)
            button.setChecked(store == self.__store)
            button.clicked.connect(
                lambda x, store=store: self.__switchStore(store))
            subLayout.addWidget(button)
            self.__buttons[store] = button
        subLayout.addStretch()
        mainLayout.addLayout(subLayout)
        self.setLayout(mainLayout)