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 """
|
Loading...