From eacb532f13295a30fa4366a6ff29d1168db84280 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Fri, 14 Nov 2008 12:24:13 +0100 Subject: [PATCH] Revamping ChatView/ChatScene's mouse handling * Introduce proper single/double/triple click detection. This will make it possible to add some standard selection modes, allows partial selection of links and some more stuff * ChatItem->handleClick() is now called appropriately, in addition to the standard mouse events * Enable drag/drop for selections in ChatView, i.e. you can now drag text somewhere else * Some cleanups --- src/qtui/chatitem.h | 2 -- src/qtui/chatscene.cpp | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/qtui/chatitem.h b/src/qtui/chatitem.h index 98056eff..3cb9c3d7 100644 --- a/src/qtui/chatitem.h +++ b/src/qtui/chatitem.h @@ -80,8 +80,6 @@ protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); - //virtual bool handleClick(ClickMode mode); - inline QTextLayout *layout() const; virtual QTextLayout::FormatRange selectionFormat() const; diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index 393058b8..dc388543 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -107,6 +107,10 @@ ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w _clickTimer.setSingleShot(true); connect(&_clickTimer, SIGNAL(timeout()), SLOT(clickTimeout())); + _clickTimer.setInterval(QApplication::doubleClickInterval()); + _clickTimer.setSingleShot(true); + connect(&_clickTimer, SIGNAL(timeout()), SLOT(clickTimeout())); + setItemIndexMethod(QGraphicsScene::NoIndex); } -- 2.20.1