No longer disable the input widget for inactive buffers
[quassel.git] / src / qtui / chatline.h
index 24947d0..9498156 100644 (file)
@@ -35,13 +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 int row() { return _row; }
+  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() ? chatScene()->chatView() : 0; }
 
   inline qreal width() const { return _width; }
   inline qreal height() const { return _height; }
@@ -66,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);
 
@@ -101,6 +110,7 @@ private:
   quint8 _selection;  // save space, so we put both the col and the flags into one byte
 
   ChatItem *_mouseGrabberItem;
+  ChatItem *_hoverItem;
 };
 
 #endif