From: Manuel Nickschas Date: Fri, 14 Nov 2008 11:24:13 +0000 (+0100) Subject: Revamping ChatView/ChatScene's mouse handling X-Git-Tag: 0.4.0~427 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=eacb532f13295a30fa4366a6ff29d1168db84280 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 --- 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); }