Changeset 649ef4a8a0b2…
Parent 2ecbd136e053…
by
Changes to 2 files · Browse files at 649ef4a8a0b2 Showing diff from parent 2ecbd136e053 Diff from another changeset...
@@ -750,12 +750,14 @@ # type of InfoBar (the number denotes its priority)
INFO = 1
ERROR = 2
+ CONFIRM = 3
infobartype = INFO
_colormap = {
INFO: '#e7f9e0',
ERROR: '#f9d8d8',
+ CONFIRM: '#fae9b3',
}
def __init__(self, parent=None):
@@ -806,6 +808,44 @@ self._loglabel.linkActivated.connect(self.linkActivated)
self.addRightWidget(self._loglabel)
+class ConfirmInfoBar(InfoBar):
+ """Show confirmation message with accept/reject buttons"""
+ accepted = pyqtSignal()
+ rejected = pyqtSignal()
+ infobartype = InfoBar.CONFIRM
+
+ def __init__(self, message, parent=None):
+ super(ConfirmInfoBar, self).__init__(parent)
+
+ self._msglabel = QLabel(message, self,
+ textInteractionFlags=Qt.TextSelectableByMouse)
+ self.addWidget(self._msglabel)
+
+ self._buttons = QDialogButtonBox(self)
+ self._buttons.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
+ self.acceptButton = self._buttons.addButton(QDialogButtonBox.Ok)
+ self.rejectButton = self._buttons.addButton(QDialogButtonBox.Cancel)
+ self._buttons.accepted.connect(self._accept)
+ self._buttons.rejected.connect(self._reject)
+ self.addWidget(self._buttons)
+
+ def closeEvent(self, event):
+ if self.isVisible():
+ self.rejected.emit()
+ super(ConfirmInfoBar, self).closeEvent(event)
+
+ @pyqtSlot()
+ def _accept(self):
+ self.accepted.emit()
+ self.hide()
+ self.close()
+
+ @pyqtSlot()
+ def _reject(self):
+ self.rejected.emit()
+ self.hide()
+ self.close()
+
class WidgetGroups(object):
""" Support for bulk-updating properties of Qt widgets """
|
@@ -105,24 +105,8 @@ self._infobarlayout = QVBoxLayout() # placeholder for InfoBar
self.layout().addLayout(self._infobarlayout)
- hbox = QHBoxLayout()
- hbox.setContentsMargins(0, 0, 0, 0)
- hbox.setSpacing(0)
- self.layout().addLayout(hbox)
-
- self.bundleAccept = b = QPushButton(_('Accept'))
- b.setShown(False)
- b.setToolTip(_('Pull incoming changesets into your repository'))
- b.clicked.connect(self.acceptBundle)
- hbox.addWidget(b)
- self.bundleReject = b = QPushButton(_('Reject'))
- b.setToolTip(_('Reject incoming changesets'))
- b.clicked.connect(self.rejectBundle)
- b.setShown(False)
- hbox.addWidget(b)
-
self.filterbar = RepoFilterBar(self.repo, self)
- hbox.addWidget(self.filterbar)
+ self.layout().addWidget(self.filterbar)
self.filterbar.branchChanged.connect(self.setBranch)
self.filterbar.progress.connect(self.progress)
@@ -357,12 +341,8 @@ self.repoview.setRepo(self.repo)
self.revDetailsWidget.setRepo(self.repo)
self.manifestDemand.forward('setRepo', self.repo)
- self.bundleAccept.setHidden(False)
- self.bundleReject.setHidden(False)
self.filterbar.revsetle.setText('incoming()')
self.filterbar.setEnableFilter(False)
- self.filterbar.show()
- self.toolbarVisibilityChanged.emit()
self.titleChanged.emit(self.title())
newlen = len(self.repo)
self.revset = range(oldlen, newlen)
@@ -371,9 +351,18 @@ self.repoview.resetBrowseHistory(self.revset)
self._reload_rev = self.revset[0]
+ w = self.setInfoBar(qtlib.ConfirmInfoBar,
+ _('Found incoming changesets'))
+ assert w
+ w.acceptButton.setText(_('Accept'))
+ w.acceptButton.setToolTip(_('Pull incoming changesets into '
+ 'your repository'))
+ w.rejectButton.setText(_('Reject'))
+ w.rejectButton.setToolTip(_('Reject incoming changesets'))
+ w.accepted.connect(self.acceptBundle)
+ w.rejected.connect(self.rejectBundle)
+
def clearBundle(self):
- self.bundleAccept.setHidden(True)
- self.bundleReject.setHidden(True)
self.filterbar.setEnableFilter(True)
self.filterbar.revsetle.setText('')
self.revset = []
|
Loading...