eric6/E5Gui/E5ErrorMessage.py

branch
without_py2_and_pyqt4
changeset 7198
684261ef2165
parent 6942
2602857055c5
child 7229
53054eb5b15a
equal deleted inserted replaced
7197:331569d44b19 7198:684261ef2165
96 if dlg.exec_() == QDialog.Accepted: 96 if dlg.exec_() == QDialog.Accepted:
97 filters = dlg.getFilters() 97 filters = dlg.getFilters()
98 _filterSettings.setValue("MessageFilters", filters) 98 _filterSettings.setValue("MessageFilters", filters)
99 99
100 100
101 def messageHandler(msgType, *args): 101 def messageHandler(msgType, context, message):
102 """ 102 """
103 Module function handling messages. 103 Module function handling messages.
104 104
105 @param msgType type of the message 105 @param msgType type of the message
106 @type int, QtMsgType 106 @type int, QtMsgType
107 @param args message handler arguments, for PyQt4 message to be shown, for 107 @param context context information
108 PyQt5 context information and message to be shown 108 @type QMessageLogContext
109 @type PyQt4: bytes; PyQt5: tuple of (QMessageLogContext, bytes) 109 @param message message to be shown
110 """ 110 @type bytes
111 if len(args) == 2: 111 """
112 context = args[0]
113 message = args[1]
114 else:
115 message = args[0]
116 if _msgHandlerDialog: 112 if _msgHandlerDialog:
117 try: 113 try:
118 if msgType == QtDebugMsg: 114 if msgType == QtDebugMsg:
119 messageType = "Debug Message:" 115 messageType = "Debug Message:"
120 elif msgType == QtWarningMsg: 116 elif msgType == QtWarningMsg:
128 if filterMessage(message): 124 if filterMessage(message):
129 return 125 return
130 message = message.replace("\r\n", "<br/>")\ 126 message = message.replace("\r\n", "<br/>")\
131 .replace("\n", "<br/>")\ 127 .replace("\n", "<br/>")\
132 .replace("\r", "<br/>") 128 .replace("\r", "<br/>")
133 if len(args) == 2 and context.file is not None: 129 if context.file is not None:
134 msg = "<p><b>{0}</b></p><p>{1}</p><p>File: {2}</p>" \ 130 msg = "<p><b>{0}</b></p><p>{1}</p><p>File: {2}</p>" \
135 "<p>Line: {3}</p><p>Function: {4}</p>".format( 131 "<p>Line: {3}</p><p>Function: {4}</p>".format(
136 messageType, Utilities.html_uencode(message), 132 messageType, Utilities.html_uencode(message),
137 context.file, context.line, context.function) 133 context.file, context.line, context.function)
138 else: 134 else:
161 messageType = "Critical" 157 messageType = "Critical"
162 elif msgType == QtFatalMsg: 158 elif msgType == QtFatalMsg:
163 messageType = "Fatal Error" 159 messageType = "Fatal Error"
164 if isinstance(message, bytes): 160 if isinstance(message, bytes):
165 message = message.decode() 161 message = message.decode()
166 if len(args) == 2: 162 print("{0}: {1} in {2} at line {3} ({4})".format(
167 print("{0}: {1} in {2} at line {3} ({4})".format( 163 messageType, message, context.file, context.line,
168 messageType, message, context.file, context.line, 164 context.function))
169 context.function))
170 else:
171 print("{0}: {1}".format(messageType, message))
172 165
173 166
174 def qtHandler(): 167 def qtHandler():
175 """ 168 """
176 Module function to install an E5ErrorMessage dialog as the global 169 Module function to install an E5ErrorMessage dialog as the global

eric ide

mercurial