Sat, 04 Sep 2010 19:10:16 +0200
Added a wizard for the eric5 message box (E5MessageBox).
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de> |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing QMessageBox replacements and more convenience function. |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt4.QtCore import Qt |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | from PyQt4.QtGui import QMessageBox, QApplication |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
13 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
14 | ## Mappings to standard QMessageBox ## |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
15 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
16 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
17 | # QMessageBox.Icon |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
18 | Critical = QMessageBox.Critical |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
19 | Information = QMessageBox.Information |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
20 | Question = QMessageBox.Question |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
21 | Warning = QMessageBox.Warning |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
22 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
23 | StandardButtons = QMessageBox.StandardButtons |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
24 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
25 | # QMessageBox.StandardButton |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
26 | Abort = QMessageBox.Abort |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
27 | Apply = QMessageBox.Apply |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
28 | Cancel = QMessageBox.Cancel |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
29 | Close = QMessageBox.Close |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
30 | Discard = QMessageBox.Discard |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
31 | Help = QMessageBox.Help |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
32 | Ignore = QMessageBox.Ignore |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
33 | No = QMessageBox.No |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
34 | NoToAll = QMessageBox.NoToAll |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
35 | Ok = QMessageBox.Ok |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
36 | Open = QMessageBox.Open |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
37 | Reset = QMessageBox.Reset |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
38 | RestoreDefaults = QMessageBox.RestoreDefaults |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
39 | Retry = QMessageBox.Retry |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
40 | Save = QMessageBox.Save |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
41 | SaveAll = QMessageBox.SaveAll |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
42 | Yes = QMessageBox.Yes |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
43 | YesToAll = QMessageBox.YesToAll |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
44 | NoButton = QMessageBox.NoButton |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
45 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
46 | # QMessageBox.ButtonRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
47 | AcceptRole = QMessageBox.AcceptRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
48 | ActionRole = QMessageBox.ActionRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
49 | ApplyRole = QMessageBox.ApplyRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
50 | DestructiveRole = QMessageBox.DestructiveRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
51 | InvalidRole = QMessageBox.InvalidRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
52 | HelpRole = QMessageBox.HelpRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
53 | NoRole = QMessageBox.NoRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
54 | RejectRole = QMessageBox.RejectRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
55 | ResetRole = QMessageBox.ResetRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
56 | YesRole = QMessageBox.YesRole |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
57 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
58 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
59 | ## Replacement for the QMessageBox class ## |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
60 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
61 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
62 | class E5MessageBox(QMessageBox): |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
63 | """ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
64 | Class implementing a replacement for QMessageBox. |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
65 | """ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
66 | def __init__(self, icon, title, text, modal = False, |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
67 | buttons = QMessageBox.StandardButtons(QMessageBox.NoButton), |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
68 | parent = None): |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
69 | """ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
70 | Constructor |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
71 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
72 | @param icon type of icon to be shown (QMessageBox.Icon) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
73 | @param title caption of the message box (string) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
74 | @param text text to be shown by the message box (string) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
75 | @keyparam modal flag indicating a modal dialog (boolean) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
76 | @keyparam buttons set of standard buttons to generate (StandardButtons) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
77 | @keyparam parent parent widget of the message box (QWidget) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
78 | """ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
79 | QMessageBox.__init__(self, parent) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
80 | self.setIcon(icon) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
81 | if modal and parent is not None: |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
82 | self.setWindowModality(Qt.WindowModal) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
83 | self.setWindowTitle("{0} - {1}".format( |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
84 | QApplication.applicationName(), title)) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
85 | self.setText(text) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
86 | if buttons != QMessageBox.NoButton: |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
87 | self.setStandardButtons(buttons) |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
88 | |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
89 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
90 | ## Replacements for QMessageBox static methods ## |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
91 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
92 | |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
93 | def __messageBox(parent, title, text, icon, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
94 | buttons = QMessageBox.Ok, defaultButton = QMessageBox.NoButton): |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | """ |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
96 | Private module function to show a modal message box. |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
98 | @param parent parent widget of the message box (QWidget) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
99 | @param title caption of the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
100 | @param text text to be shown by the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
101 | @param icon type of icon to be shown (QMessageBox.Icon) |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | @param buttons flags indicating which buttons to show |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | (QMessageBox.StandardButtons) |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | @param defaultButton flag indicating the default button |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | (QMessageBox.StandardButton) |
562
8bf0dbc1ca6a
Added a wizard for the eric5 message box (E5MessageBox).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
106 | @return button pressed by the user (QMessageBox.StandardButton) |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | """ |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | messageBox = QMessageBox(parent) |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
109 | messageBox.setIcon(icon) |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | if parent is not None: |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | messageBox.setWindowModality(Qt.WindowModal) |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | messageBox.setWindowTitle("{0} - {1}".format( |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | QApplication.applicationName(), title)) |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | messageBox.setText(text) |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | messageBox.setStandardButtons(buttons) |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | messageBox.setDefaultButton(defaultButton) |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | messageBox.exec_() |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | clickedButton = messageBox.clickedButton() |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | if clickedButton is None: |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | return QMessageBox.NoButton |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | else: |
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | return messageBox.standardButton(clickedButton) |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
123 | |
545
1538031b5175
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
541
diff
changeset
|
124 | # the about functions are here for consistancy |
1538031b5175
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
541
diff
changeset
|
125 | about = QMessageBox.about |
1538031b5175
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
541
diff
changeset
|
126 | aboutQt = QMessageBox.aboutQt |
1538031b5175
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
541
diff
changeset
|
127 | |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
128 | def critical(parent, title, text, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
129 | buttons = QMessageBox.Ok, defaultButton = QMessageBox.NoButton): |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
130 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
131 | Function to show a modal critical message box. |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
132 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
133 | @param parent parent widget of the message box (QWidget) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
134 | @param title caption of the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
135 | @param text text to be shown by the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
136 | @param buttons flags indicating which buttons to show |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
137 | (QMessageBox.StandardButtons) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
138 | @param defaultButton flag indicating the default button |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
139 | (QMessageBox.StandardButton) |
562
8bf0dbc1ca6a
Added a wizard for the eric5 message box (E5MessageBox).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
140 | @return button pressed by the user (QMessageBox.StandardButton) |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
141 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
142 | return __messageBox(parent, title, text, QMessageBox.Critical, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
143 | buttons, defaultButton) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
144 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
145 | def information(parent, title, text, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
146 | buttons = QMessageBox.Ok, defaultButton = QMessageBox.NoButton): |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
147 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
148 | Function to show a modal information message box. |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
149 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
150 | @param parent parent widget of the message box (QWidget) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
151 | @param title caption of the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
152 | @param text text to be shown by the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
153 | @param buttons flags indicating which buttons to show |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
154 | (QMessageBox.StandardButtons) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
155 | @param defaultButton flag indicating the default button |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
156 | (QMessageBox.StandardButton) |
562
8bf0dbc1ca6a
Added a wizard for the eric5 message box (E5MessageBox).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
157 | @return button pressed by the user (QMessageBox.StandardButton) |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
158 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
159 | return __messageBox(parent, title, text, QMessageBox.Information, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
160 | buttons, defaultButton) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
161 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
162 | def question(parent, title, text, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
163 | buttons = QMessageBox.Ok, defaultButton = QMessageBox.NoButton): |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
164 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
165 | Function to show a modal question message box. |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
166 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
167 | @param parent parent widget of the message box (QWidget) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
168 | @param title caption of the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
169 | @param text text to be shown by the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
170 | @param buttons flags indicating which buttons to show |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
171 | (QMessageBox.StandardButtons) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
172 | @param defaultButton flag indicating the default button |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
173 | (QMessageBox.StandardButton) |
562
8bf0dbc1ca6a
Added a wizard for the eric5 message box (E5MessageBox).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
174 | @return button pressed by the user (QMessageBox.StandardButton) |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
175 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
176 | return __messageBox(parent, title, text, QMessageBox.Question, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
177 | buttons, defaultButton) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
178 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
179 | def warning(parent, title, text, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
180 | buttons = QMessageBox.Ok, defaultButton = QMessageBox.NoButton): |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
181 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
182 | Function to show a modal warning message box. |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
183 | |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
184 | @param parent parent widget of the message box (QWidget) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
185 | @param title caption of the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
186 | @param text text to be shown by the message box (string) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
187 | @param buttons flags indicating which buttons to show |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
188 | (QMessageBox.StandardButtons) |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
189 | @param defaultButton flag indicating the default button |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
190 | (QMessageBox.StandardButton) |
562
8bf0dbc1ca6a
Added a wizard for the eric5 message box (E5MessageBox).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
191 | @return button pressed by the user (QMessageBox.StandardButton) |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
192 | """ |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
193 | return __messageBox(parent, title, text, QMessageBox.Warning, |
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
194 | buttons, defaultButton) |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
195 | |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
196 | ################################################################################ |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
197 | ## Additional convenience functions ## |
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
198 | ################################################################################ |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
199 | |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
200 | def yesNo(parent, title, text, icon = Question, yesDefault = False): |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
201 | """ |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
202 | Function to show a model yes/no message box. |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
203 | |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
204 | @param parent parent widget of the message box (QWidget) |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
205 | @param title caption of the message box (string) |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
206 | @param text text to be shown by the message box (string) |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
207 | @keyparam icon icon for the dialog (Critical, Information, Question or Warning) |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
208 | @keyparam yesDefault flag indicating that the Yes button should be the default |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
209 | button (boolean) |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
210 | @return flag indicating the selection of the Yes button (boolean) |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
211 | """ |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
212 | assert icon in [Critical, Information, Question, Warning] |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
213 | |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
214 | res = __messageBox(parent, title, text, icon, |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
215 | QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No), |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
216 | yesDefault and QMessageBox.Yes or QMessageBox.No) |
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
217 | return res == QMessageBox.Yes |
549
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
218 | |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
219 | def retryAbort(parent, title, text, icon = Question): |
550
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
220 | """ |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
221 | Function to show a model abort/retry message box. |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
222 | |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
223 | @param parent parent widget of the message box (QWidget) |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
224 | @param title caption of the message box (string) |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
225 | @param text text to be shown by the message box (string) |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
226 | @keyparam icon icon for the dialog (Critical, Information, Question or Warning) |
550
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
227 | @return flag indicating the selection of the Retry button (boolean) |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
228 | """ |
553
5af61623ae3c
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
550
diff
changeset
|
229 | assert icon in [Critical, Information, Question, Warning] |
550
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
230 | |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
231 | res = __messageBox(parent, title, text, icon, |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
232 | QMessageBox.StandardButtons(QMessageBox.Retry | QMessageBox.Abort), |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
233 | QMessageBox.Retry) |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
234 | return res == QMessageBox.Retry |
22b951013193
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
549
diff
changeset
|
235 | |
549
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
236 | def okToClearData(parent, title, text, saveFunc): |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
237 | """ |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
238 | Function to show a model message box to ask for clearing the data. |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
239 | |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
240 | @param parent parent widget of the message box (QWidget) |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
241 | @param title caption of the message box (string) |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
242 | @param text text to be shown by the message box (string) |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
243 | @param saveFunc reference to a function performing the save action. It |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
244 | must be a parameterless function returning a flag indicating success. |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
245 | @return flag indicating that it is ok to clear the data (boolean) |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
246 | """ |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
247 | res = __messageBox(parent, title, text, QMessageBox.Warning, |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
248 | QMessageBox.StandardButtons( |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
249 | QMessageBox.Abort | QMessageBox.Discard | QMessageBox.Save), |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
250 | QMessageBox.Save) |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
251 | if res == QMessageBox.Abort: |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
252 | return False |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
253 | if res == QMessageBox.Save: |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
254 | return saveFunc() |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
545
diff
changeset
|
255 | return True |