inline bool containsBuffer(const BufferId &id) const;
inline ChatLine *chatLine(int row) { return (row < _lines.count()) ? _lines[row] : 0; }
- inline ColumnHandleItem *firstColumnHandle() const { return firstColHandle; }
- inline ColumnHandleItem *secondColumnHandle() const { return secondColHandle; }
+ inline ColumnHandleItem *firstColumnHandle() const { return _firstColHandle; }
+ inline ColumnHandleItem *secondColumnHandle() const { return _secondColHandle; }
public slots:
void updateForViewport(qreal width, qreal height);
void clearWebPreview(ChatItem *parentItem = 0);
signals:
- void lastLineChanged(QGraphicsItem *);
+ void lastLineChanged(QGraphicsItem *item, qreal offset);
protected:
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent);
virtual void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent);
+ virtual void customEvent(QEvent *event);
protected slots:
void rowsInserted(const QModelIndex &, int, int);
private slots:
void handlePositionChanged(qreal xpos);
+ void showWebPreviewEvent();
+ void deleteWebPreviewEvent();
private:
void setHandleXLimits();
void updateSceneRect(const QRectF &rect);
qreal _viewportHeight;
- ColumnHandleItem *firstColHandle, *secondColHandle;
- qreal firstColHandlePos, secondColHandlePos;
+ ColumnHandleItem *_firstColHandle, *_secondColHandle;
+ qreal _firstColHandlePos, _secondColHandlePos;
ChatItem *_selectingItem;
int _selectionStartCol, _selectionMinCol;
struct WebPreview {
ChatItem *parentItem;
- WebPreviewItem *previewItem;
+ QGraphicsItem *previewItem;
QString url;
QRectF urlRect;
+ QTimer delayTimer;
+ QTimer deleteTimer;
WebPreview() : parentItem(0), previewItem(0) {}
};
WebPreview webPreview;