* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include "qmlchatline.h"
#include "qmlmessagemodel.h"
#include "qmlmessagemodelitem.h"
+#include "uistyle.h"
QmlMessageModelItem::QmlMessageModelItem(const Message &msg)
: MessageModelItem(),
_styledMsg.setFlags(msg.flags() |= Message::ServerMsg);
}
-bool QmlMessageModelItem::setData(int column, const QVariant &value, int role) {
- switch(role) {
- case MessageModel::FlagsRole:
- _styledMsg.setFlags((Message::Flags)value.toUInt());
- return true;
- default:
- return MessageModelItem::setData(column, value, role);
- }
-}
-
QVariant QmlMessageModelItem::data(int column, int role) const {
QVariant variant;
switch(role) {
- case QmlMessageModel::TimestampRole:
- variant = _styledMsg.timestamp();
- break;
- case QmlMessageModel::SenderRole:
- variant = _styledMsg.sender();
- break;
- case QmlMessageModel::ContentsRole:
- variant = _styledMsg.contents();
- break;
+ case QmlMessageModel::ChatLineDataRole: {
+ QmlChatLine::Data data;
+ data.timestamp.text = _styledMsg.decoratedTimestamp();
+ data.timestamp.formats = UiStyle::FormatList() << qMakePair((quint16)0, (quint32)UiStyle::formatType(_styledMsg.type()) | UiStyle::Timestamp);
+ data.sender.text = _styledMsg.decoratedSender();
+ data.sender.formats = UiStyle::FormatList() << qMakePair((quint16)0, (quint32)UiStyle::formatType(_styledMsg.type()) | UiStyle::Sender);
+ data.contents.text = _styledMsg.plainContents();
+ data.contents.formats = _styledMsg.contentsFormatList();
+ return QVariant::fromValue<QmlChatLine::Data>(data);
+ }
default:
break;
}
return MessageModelItem::data(column, role);
return variant;
}
-
-QVariant QmlMessageModelItem::timestampData(int role) const {
- switch(role) {
- case MessageModel::DisplayRole:
- return _styledMsg.timestamp();
- }
- return QVariant();
-}
-
-QVariant QmlMessageModelItem::senderData(int role) const {
- switch(role) {
- case MessageModel::DisplayRole:
- return _styledMsg.sender();
- }
- return QVariant();
-}
-
-QVariant QmlMessageModelItem::contentsData(int role) const {
- switch(role) {
- case MessageModel::DisplayRole:
- return _styledMsg.contents();
- }
- return QVariant();
-}
-