From: Manuel Nickschas Date: Sat, 19 Nov 2011 17:07:57 +0000 (+0100) Subject: Fix serialization of QmlChatLine::RenderData X-Git-Url: https://git.quassel-irc.org/?a=commitdiff_plain;h=d385c543b7a10d54c4f40e83c457089752001f8e;p=quassel.git Fix serialization of QmlChatLine::RenderData ... also add an isValid member. --- diff --git a/src/qmlui/qmlchatline.cpp b/src/qmlui/qmlchatline.cpp index 3d3c4b40..6b1665cf 100644 --- a/src/qmlui/qmlchatline.cpp +++ b/src/qmlui/qmlchatline.cpp @@ -28,17 +28,19 @@ void QmlChatLine::registerTypes() { } QDataStream &operator<<(QDataStream &out, const QmlChatLine::RenderData &data) { + out << data.isValid << data.messageLabel; for(int i = 0; i < (int)QmlChatLine::NumColumns; ++i) { const QmlChatLine::RenderData::Column &col = data[static_cast(i)]; - out << col.text << col.formats; + out << col.text << col.formats << col.background << col.selectedBackground; } return out; } QDataStream &operator>>(QDataStream &in, QmlChatLine::RenderData &data) { + in >> data.isValid >> data.messageLabel; for(int i = 0; i < (int)QmlChatLine::NumColumns; ++i) { QmlChatLine::RenderData::Column &col = data[static_cast(i)]; - in >> col.text >> col.formats; + in >> col.text >> col.formats >> col.background >> col.selectedBackground; } return in; } diff --git a/src/qmlui/qmlchatline.h b/src/qmlui/qmlchatline.h index db8d5d0f..0dd090d5 100644 --- a/src/qmlui/qmlchatline.h +++ b/src/qmlui/qmlchatline.h @@ -58,6 +58,7 @@ public: }; qint32 messageLabel; + bool isValid; Column &operator[](ColumnType col) { return _data[col]; @@ -67,7 +68,7 @@ public: return _data[col]; } - RenderData() { messageLabel = 0; } + RenderData() { messageLabel = 0; isValid = false; } private: Column _data[NumColumns]; diff --git a/src/qmlui/qmlmessagemodelitem.cpp b/src/qmlui/qmlmessagemodelitem.cpp index ec11ec4e..5e30792f 100644 --- a/src/qmlui/qmlmessagemodelitem.cpp +++ b/src/qmlui/qmlmessagemodelitem.cpp @@ -65,6 +65,7 @@ QVariant QmlMessageModelItem::data(int column, int role) const { data[QmlChatLine::ContentsColumn].background = backgroundBrush(UiStyle::Contents).value(); data[QmlChatLine::ContentsColumn].selectedBackground = backgroundBrush(UiStyle::Contents, true).value(); + data.isValid = true; return QVariant::fromValue(data); }