Krita Source Code Documentation
Loading...
Searching...
No Matches
MessageHandler Class Reference
+ Inheritance diagram for MessageHandler:

Signals

void sigDeliverMessage (QtMsgType type, const QString &message)
 

Public Member Functions

bool isLoggingEnabled () const
 
void setLoggingEnabled (bool value)
 
 ~MessageHandler ()
 

Public Attributes

std::unique_ptr< MessageForwarderThreadm_forwarderThread
 
QtMessageHandler m_originalMessageHandler {nullptr}
 

Detailed Description

MessageHandler is the main object that handles management of the debug message delivery. It creates a backgroud thread and set up all the connections when requested.

MessageHandler is a singleton, i.e. it will be reused by all the logging dockers we have in any of Krita's windows.

Definition at line 112 of file LogDockerDock.cpp.

Constructor & Destructor Documentation

◆ ~MessageHandler()

MessageHandler::~MessageHandler ( )
inline

Definition at line 116 of file LogDockerDock.cpp.

116 {
117 setLoggingEnabled(false);
118 }
void setLoggingEnabled(bool value)

References setLoggingEnabled().

Member Function Documentation

◆ isLoggingEnabled()

bool MessageHandler::isLoggingEnabled ( ) const
inline

Definition at line 138 of file LogDockerDock.cpp.

138 {
140 }
QtMessageHandler m_originalMessageHandler

References m_originalMessageHandler.

◆ setLoggingEnabled()

void MessageHandler::setLoggingEnabled ( bool value)
inline

Definition at line 120 of file LogDockerDock.cpp.

120 {
121 if (value == isLoggingEnabled()) return;
122
123 if (value) {
124 const QtMessageHandler oldHandler = qInstallMessageHandler(kritaLoggerMessageHandler);
125 m_originalMessageHandler = oldHandler;
128 m_forwarderThread->start();
129 } else {
130 qInstallMessageHandler(nullptr);
131 m_originalMessageHandler = nullptr;
132 m_forwarderThread->pushExitFlag();
133 m_forwarderThread->wait();
134 m_forwarderThread.reset();
135 }
136 }
float value(const T *src, size_t ch)
void kritaLoggerMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
void sigDeliverMessage(QtMsgType type, const QString &message)
bool isLoggingEnabled() const
std::unique_ptr< MessageForwarderThread > m_forwarderThread
void sigDeliverMessage(QtMsgType type, const QString &message)

References isLoggingEnabled(), kritaLoggerMessageHandler(), m_forwarderThread, m_originalMessageHandler, MessageForwarderThread::sigDeliverMessage(), sigDeliverMessage(), and value().

◆ sigDeliverMessage

void MessageHandler::sigDeliverMessage ( QtMsgType type,
const QString & message )
signal

Member Data Documentation

◆ m_forwarderThread

std::unique_ptr<MessageForwarderThread> MessageHandler::m_forwarderThread

Definition at line 147 of file LogDockerDock.cpp.

◆ m_originalMessageHandler

QtMessageHandler MessageHandler::m_originalMessageHandler {nullptr}

Definition at line 146 of file LogDockerDock.cpp.

146{nullptr};

The documentation for this class was generated from the following file: