Sanitize the handling of ColumnHandleItems
[quassel.git] / src / qtui / chatscene.h
index 1fee5c2..f97787e 100644 (file)
 #include <QGraphicsScene>
 #include <QSet>
 
-#include "types.h"
+#include "columnhandleitem.h"
+
 
 class AbstractUiMsg;
 class ChatItem;
 class ChatLine;
-class ColumnHandleItem;
 
 class QGraphicsSceneMouseEvent;
 
@@ -49,6 +49,9 @@ class ChatScene : public QGraphicsScene {
     inline bool isSingleBufferScene() const { return _singleBufferScene; }
     inline ChatLine *chatLine(int row) { return (row < _lines.count()) ? _lines[row] : 0; }
 
+    inline QRectF firstColumnHandleRect() const { return firstColHandle->boundingRect().translated(firstColHandle->x(), 0); }
+    inline QRectF secondColumnHandleRect() const { return secondColHandle->boundingRect().translated(secondColHandle->x(), 0); }
+
   public slots:
     void setWidth(qreal);
 
@@ -70,13 +73,14 @@ class ChatScene : public QGraphicsScene {
 
   protected slots:
     void rowsInserted(const QModelIndex &, int, int);
-    void modelReset();
+    void rowsAboutToBeRemoved(const QModelIndex &, int, int);
 
   private slots:
     void rectChanged(const QRectF &);
     void handlePositionChanged(qreal xpos);
 
   private:
+    void setHandleXLimits();
     void updateSelection(const QPointF &pos);
     QString selectionToString() const;