From: Manuel Nickschas Date: Thu, 5 Mar 2009 15:57:38 +0000 (+0100) Subject: Add MessageModel::insertErrorMessage() X-Git-Tag: 0.5-rc1~299 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=6094c0f6c518be54335adf4ec3e909493a06ebd3 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. --- 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;