From 205c6e8931c445c53421ef4f9aea41afcd5889cb Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 21 Nov 2022 23:18:37 +0100 Subject: [PATCH] Base: restore ConsoleSingleton::IsMsgTypeEnabled For more details see comments on #7457 --- src/Base/Console.cpp | 21 +++++++++++++++++++++ src/Base/Console.h | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/Base/Console.cpp b/src/Base/Console.cpp index 4c42b7f249..2185877e99 100644 --- a/src/Base/Console.cpp +++ b/src/Base/Console.cpp @@ -196,6 +196,27 @@ ConsoleMsgFlags ConsoleSingleton::SetEnabledMsgType(const char* sObs, ConsoleMsg } } +bool ConsoleSingleton::IsMsgTypeEnabled(const char* sObs, FreeCAD_ConsoleMsgType type) const +{ + ILogger* pObs = Get(sObs); + if (pObs) { + switch (type) { + case MsgType_Txt: + return pObs->bMsg; + case MsgType_Log: + return pObs->bLog; + case MsgType_Wrn: + return pObs->bWrn; + case MsgType_Err: + return pObs->bErr; + default: + return false; + } + } + + return false; +} + void ConsoleSingleton::SetConnectionMode(ConnectionMode mode) { connectionMode = mode; diff --git a/src/Base/Console.h b/src/Base/Console.h index 4360388aa3..f87083dd41 100644 --- a/src/Base/Console.h +++ b/src/Base/Console.h @@ -560,7 +560,8 @@ public: void UnsetConsoleMode(ConsoleMode m); /// Enables or disables message types of a certain console observer ConsoleMsgFlags SetEnabledMsgType(const char* sObs, ConsoleMsgFlags type, bool b); - /// Enables or disables message types of a certain console observer + /// Checks if message types of a certain console observer are enabled + bool IsMsgTypeEnabled(const char* sObs, FreeCAD_ConsoleMsgType type) const; void SetConnectionMode(ConnectionMode mode); int *GetLogLevel(const char *tag, bool create=true);