summaryrefslogtreecommitdiff
path: root/src/logbuffer.cpp
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2019-03-07 08:37:38 -0600
committerLostDragonist <lost.dragonist@gmail.com>2019-03-07 11:21:47 -0600
commit6c0f5202ce06fd22143b34f3a9d06a83f661e6c8 (patch)
tree015a42c48114e74e1719e52c49bc577b8fcd0972 /src/logbuffer.cpp
parentd5332c5080ea5e1d0812cc900bb5ed6e20ff8f0e (diff)
Support log messages with newlines
Diffstat (limited to 'src/logbuffer.cpp')
-rw-r--r--src/logbuffer.cpp33
1 files changed, 18 insertions, 15 deletions
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<int>(m_NumMessages),
- static_cast<int>(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<int>(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<int>(m_NumMessages),
+ static_cast<int>(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<int>(m_Messages.size()), 0));
+ }
+ ++m_NumMessages;
+ if (type >= QtCriticalMsg) {
+ write();
+ }
}
}
}