/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
.arg(requestCount)
.arg(Client::networkModel()->networkName(bufferId))
.arg(Client::networkModel()->bufferName(bufferId)));
- Client::backlogManager()->requestBacklog(bufferId, requestCount, _messageList.at(i)->msgId().toInt());
+ Client::backlogManager()->requestBacklog(bufferId, -1, _messageList.at(i)->msgId(), requestCount);
return;
}
}
_messagesWaiting.remove(bufferId);
}
+void MessageModel::buffersPermanentlyMerged(BufferId bufferId1, BufferId bufferId2) {
+ for(int i = 0; i < _messageList.count(); i++) {
+ if(_messageList[i]->bufferId() == bufferId2) {
+ _messageList[i]->setBufferId(bufferId1);
+ QModelIndex idx = index(i, 0);
+ emit dataChanged(idx, idx);
+ }
+ }
+}
+
// ========================================
// MessageModelItem
// ========================================
_type(msg.type()),
_flags(msg.flags())
{
+ if(!msg.sender().contains('!'))
+ _flags |= Message::ServerMsg;
}
QVariant MessageModelItem::data(int column, int role) const {
case MessageModel::TypeRole: return _type;
case MessageModel::FlagsRole: return (int)_flags;
case MessageModel::TimestampRole: return _timestamp;
+ case MessageModel::RedirectedToRole: return qVariantFromValue<BufferId>(_redirectedTo);
default: return QVariant();
}
}
+bool MessageModelItem::setData(int column, const QVariant &value, int role) {
+ Q_UNUSED(column);
+
+ switch(role) {
+ case MessageModel::RedirectedToRole:
+ _redirectedTo = value.value<BufferId>();
+ return true;
+ default:
+ return false;
+ }
+}
// Stuff for later
bool MessageModelItem::lessThan(const MessageModelItem *m1, const MessageModelItem *m2){