diff -r 82de5109035a -r 95a15b70f7bb src/eric7/EricWidgets/EricErrorMessage.py --- a/src/eric7/EricWidgets/EricErrorMessage.py Fri Sep 27 11:00:27 2024 +0200 +++ b/src/eric7/EricWidgets/EricErrorMessage.py Fri Sep 27 17:27:11 2024 +0200 @@ -20,16 +20,18 @@ ) from PyQt6.QtWidgets import QDialog, QErrorMessage -from eric7 import EricUtilities, Globals, Preferences, Utilities +from eric7 import EricUtilities +from eric7.EricCore import EricPreferences from eric7.EricWidgets.EricApplication import ericApp _msgHandlerDialog = None +_msgHandlerMinSeverity = None _origMsgHandler = None _filterSettings = QSettings( QSettings.Format.IniFormat, QSettings.Scope.UserScope, - Globals.settingsNameOrganization, + EricPreferences.settingsNameOrganization, "eric7messagefilters", ) _defaultFilters = [ @@ -121,7 +123,7 @@ @type bytes """ if _msgHandlerDialog: - if msgType.value < Preferences.getUI("MinimumMessageTypeSeverity"): + if msgType.value < _msgHandlerMinSeverity: # severity is lower than configured # just ignore the message return @@ -138,7 +140,7 @@ elif msgType == QtMsgType.QtFatalMsg: messageType = "Fatal Error:" if isinstance(message, bytes): - message = Utilities.decodeBytes(message) + message = EricUtilities.decodeBytes(message) if filterMessage(message): return message = ( @@ -195,21 +197,25 @@ ) -def qtHandler(): +def qtHandler(minSeverity): """ Module function to install an EricErrorMessage dialog as the global message handler. + @param minSeverity minimum severity of messages to be shown + @type int @return reference to the message handler dialog @rtype EricErrorMessage """ - global _msgHandlerDialog, _origMsgHandler + global _msgHandlerDialog, _msgHandlerMinSeverity, _origMsgHandler if _msgHandlerDialog is None: # Install an EricErrorMessage dialog as the global message handler. _msgHandlerDialog = EricErrorMessage() _origMsgHandler = qInstallMessageHandler(messageHandler) + _msgHandlerMinSeverity = minSeverity + return _msgHandlerDialog