From 6c0f5202ce06fd22143b34f3a9d06a83f661e6c8 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Thu, 7 Mar 2019 08:37:38 -0600 Subject: Support log messages with newlines --- src/logbuffer.cpp | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'src/logbuffer.cpp') diff --git a/src/logbuffer.cpp b/src/logbuffer.cpp index 485e27db..b7fd7eae 100644 --- a/src/logbuffer.cpp +++ b/src/logbuffer.cpp @@ -51,21 +51,24 @@ LogBuffer::~LogBuffer() void LogBuffer::logMessage(QtMsgType type, const QString &message) { if (type >= m_MinMsgType) { - Message msg = {type, QTime::currentTime(), message}; - if (m_NumMessages < m_Messages.size()) { - beginInsertRows(QModelIndex(), static_cast(m_NumMessages), - static_cast(m_NumMessages) + 1); - } - m_Messages.at(m_NumMessages % m_Messages.size()) = msg; - if (m_NumMessages < m_Messages.size()) { - endInsertRows(); - } else { - emit dataChanged(createIndex(0, 0), - createIndex(static_cast(m_Messages.size()), 0)); - } - ++m_NumMessages; - if (type >= QtCriticalMsg) { - write(); + QStringList messagelist = message.split("\n"); + for (auto split_message : messagelist) { + Message msg = {type, QTime::currentTime(), split_message}; + if (m_NumMessages < m_Messages.size()) { + beginInsertRows(QModelIndex(), static_cast(m_NumMessages), + static_cast(m_NumMessages) + 1); + } + m_Messages.at(m_NumMessages % m_Messages.size()) = msg; + if (m_NumMessages < m_Messages.size()) { + endInsertRows(); + } else { + emit dataChanged(createIndex(0, 0), + createIndex(static_cast(m_Messages.size()), 0)); + } + ++m_NumMessages; + if (type >= QtCriticalMsg) { + write(); + } } } } -- cgit v1.3.1