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 __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)
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)
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)