-void ChatLineModel::insertMessages__(int pos, const QList<Message> &messages) {
- for(int i = 0; i < messages.count(); i++) {
- _messageList.insert(pos, ChatLineModelItem(messages[i]));
- pos++;
- }
+void ChatLineModel::insertMessages__(int pos, const QList<Message> &messages)
+{
+ for (int i = 0; i < messages.count(); i++) {
+ _messageList.insert(pos, ChatLineModelItem(messages[i]));
+ pos++;
+ }
+}
+
+
+Message ChatLineModel::takeMessageAt(int i)
+{
+ Message msg = _messageList[i].message();
+ _messageList.removeAt(i);
+ return msg;
+}
+
+
+void ChatLineModel::styleChanged()
+{
+ foreach(ChatLineModelItem item, _messageList) {
+ item.invalidateWrapList();
+ }
+ emit dataChanged(index(0, 0), index(rowCount()-1, columnCount()-1));
+}
+
+
+QDataStream &operator<<(QDataStream &out, const ChatLineModel::WrapList wplist)
+{
+ out << wplist.count();
+ ChatLineModel::WrapList::const_iterator it = wplist.begin();
+ while (it != wplist.end()) {
+ out << (*it).start << (*it).width << (*it).trailing;
+ ++it;
+ }
+ return out;