Rethink buffer preselection
[quassel.git] / src / qtui / chatline.h
index a7c68e8..9498156 100644 (file)
@@ -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<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; }
@@ -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);