From 6094c0f6c518be54335adf4ec3e909493a06ebd3 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Thu, 5 Mar 2009 16:57:38 +0100 Subject: [PATCH] Add MessageModel::insertErrorMessage() This allows displaying transient client-side error messages (e.g. for script execution). These error messages are not sent to the core and hence not stored in the database. --- src/client/messagemodel.cpp | 12 ++++++++++++ src/client/messagemodel.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/client/messagemodel.cpp b/src/client/messagemodel.cpp index 07af7aca..122156a5 100644 --- a/src/client/messagemodel.cpp +++ b/src/client/messagemodel.cpp @@ -348,6 +348,18 @@ void MessageModel::changeOfDay() { _nextDayChange = _nextDayChange.addSecs(86400); } +void MessageModel::insertErrorMessage(BufferInfo bufferInfo, const QString &errorString) { + int idx = messageCount(); + beginInsertRows(QModelIndex(), idx, idx); + Message msg(bufferInfo, Message::Error, errorString); + if(!messagesIsEmpty()) + msg.setMsgId(messageItemAt(idx-1)->msgId()); + else + msg.setMsgId(0); + insertMessage__(idx, msg); + endInsertRows(); +} + void MessageModel::requestBacklog(BufferId bufferId) { if(_messagesWaiting.contains(bufferId)) return; diff --git a/src/client/messagemodel.h b/src/client/messagemodel.h index 0d540cd5..b6b783fb 100644 --- a/src/client/messagemodel.h +++ b/src/client/messagemodel.h @@ -73,6 +73,7 @@ public slots: void requestBacklog(BufferId bufferId); void messagesReceived(BufferId bufferId, int count); void buffersPermanentlyMerged(BufferId bufferId1, BufferId bufferId2); + void insertErrorMessage(BufferInfo bufferInfo, const QString &errorString); protected: // virtual MessageModelItem *createMessageModelItem(const Message &) = 0; -- 2.20.1