/***************************************************************************
- * Copyright (C) 2005-2010 by the Quassel Project *
+ * Copyright (C) 2005-2012 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
const QPointF &senderPos, const QPointF &contentsPos,
QGraphicsItem *parent = 0);
+ virtual ~ChatLine();
+
virtual inline QRectF boundingRect () const { return QRectF(0, 0, _width, _height); }
inline QModelIndex index() const { return model()->index(row(), 0); }
inline MsgId msgId() const { return index().data(MessageModel::MsgIdRole).value<MsgId>(); }
+ inline Message::Type msgType() const { return (Message::Type)index().data(MessageModel::TypeRole).toInt(); }
+
inline int row() const { return _row; }
inline void setRow(int row) { _row = row; }
inline const QAbstractItemModel *model() const { return _model; }
inline ChatScene *chatScene() const { return qobject_cast<ChatScene *>(scene()); }
- inline ChatView *chatView() const { return chatScene()->chatView(); }
+ inline ChatView *chatView() const { return chatScene() ? chatScene()->chatView() : 0; }
inline qreal width() const { return _width; }
inline qreal height() const { return _height; }
void setSelected(bool selected, ChatLineModel::ColumnType minColumn = ChatLineModel::ContentsColumn);
void setHighlighted(bool highlighted);
+ void clearCache();
+
protected:
virtual bool sceneEvent(QEvent *event);