X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatline.h;h=94981562624d71fcfcbddf837520f015772e8426;hp=a7c68e87d5aacbc7458e2d89fb8e62602ff41612;hb=1b9dc90e54c1c7c2012decfb87cce80dbae60be9;hpb=57982f5802c957e768ce842888591115694fcbef diff --git a/src/qtui/chatline.h b/src/qtui/chatline.h index a7c68e87..94981562 100644 --- a/src/qtui/chatline.h +++ b/src/qtui/chatline.h @@ -35,16 +35,20 @@ public: 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(); } + 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(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; } @@ -69,6 +73,8 @@ public: void setSelected(bool selected, ChatLineModel::ColumnType minColumn = ChatLineModel::ContentsColumn); void setHighlighted(bool highlighted); + void clearCache(); + protected: virtual bool sceneEvent(QEvent *event);