Q_OBJECT
public:
+ enum MyEventTypes {
+ ClearWebPreviewEventType = QEvent::User
+ };
+ class ClearWebPreviewEvent;
+
ChatScene(QAbstractItemModel *model, const QString &idString, qreal width, QObject *parent);
virtual ~ChatScene();
void clearWebPreview(ChatItem *parentItem = 0);
signals:
- void lastLineChanged(QGraphicsItem *);
+ void lastLineChanged(QGraphicsItem *item, qreal offset);
protected:
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent);
private slots:
void handlePositionChanged(qreal xpos);
void showWebPreview();
- void clearWebPreviewEvent();
+ void clearWebPreviewEvent(ClearWebPreviewEvent *event);
+ void deleteWebPreview();
private:
void setHandleXLimits();
struct WebPreview {
ChatItem *parentItem;
- WebPreviewItem *previewItem;
+ QGraphicsItem *previewItem;
QString url;
QRectF urlRect;
QTimer delayTimer;
+ QTimer deleteTimer;
WebPreview() : parentItem(0), previewItem(0) {}
};
WebPreview webPreview;