1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 from python_qt_binding import QtGui
34
36 ''' '''
37
38 - def __init__(self, title, text, detailed_text=""):
39 self.title = title
40 self.value = text
41 self.detailed_text = detailed_text
42
44 return repr(self.text) + ":::" + self.detailed_text
45
46
48
49 - def __init__(self, icon, title, text, detailed_text="", buttons=QtGui.QMessageBox.Ok):
50 QtGui.QMessageBox.__init__(self, icon, title, text, buttons)
51 if detailed_text:
52 self.setDetailedText(detailed_text)
53
54
55 horizontalSpacer = QtGui.QSpacerItem(480, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
56 layout = self.layout()
57 layout.addItem(horizontalSpacer, layout.rowCount(), 0, 1, layout.columnCount())
58
59 if QtGui.QMessageBox.Abort & buttons:
60 self.setEscapeButton(QtGui.QMessageBox.Abort)
61 elif QtGui.QMessageBox.Ignore & buttons:
62 self.setEscapeButton(QtGui.QMessageBox.Ignore)
63 else:
64 self.setEscapeButton(buttons)
65
66 self.textEdit = textEdit = self.findChild(QtGui.QTextEdit)
67 if textEdit != None :
68 textEdit.setMinimumHeight(0)
69 textEdit.setMaximumHeight(600)
70 textEdit.setMinimumWidth(0)
71 textEdit.setMaximumWidth(600)
72 textEdit.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
73
74 self.ignore_all_btn = QtGui.QPushButton('Don\'t display again')
75 self.addButton(self.ignore_all_btn, QtGui.QMessageBox.HelpRole)
76
78 QtGui.QMessageBox.paintEvent(self, event)
79 self.ignore_all_btn.setVisible(self.textEdit.isVisible() if self.textEdit else False)
80