X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.h;h=12fc8c0f92974eb49c77125e3ebb7ddae1104b3a;hp=3349d2f4fbcf525934bc2cbf27ff109e3a1282bf;hb=e7494078ad676d9fd14fab0396f51608a3ad46dc;hpb=9ee36f12340682fb2420c3444efb23b5040c4823 diff --git a/src/qtui/chatscene.h b/src/qtui/chatscene.h index 3349d2f4..12fc8c0f 100644 --- a/src/qtui/chatscene.h +++ b/src/qtui/chatscene.h @@ -22,6 +22,7 @@ #define CHATSCENE_H_ #include +#include #include #include #include @@ -73,10 +74,10 @@ public: inline QAbstractItemModel *model() const { return _model; } inline QString idString() const { return _idString; } - int rowByScenePos(qreal y); - inline int rowByScenePos(const QPointF &pos) { return rowByScenePos(pos.y()); } - ChatLineModel::ColumnType columnByScenePos(qreal x); - inline ChatLineModel::ColumnType columnByScenePos(const QPointF &pos) { return columnByScenePos(pos.x()); } + int rowByScenePos(qreal y) const; + inline int rowByScenePos(const QPointF &pos) const { return rowByScenePos(pos.y()); } + ChatLineModel::ColumnType columnByScenePos(qreal x) const ; + inline ChatLineModel::ColumnType columnByScenePos(const QPointF &pos) const { return columnByScenePos(pos.x()); } ChatView *chatView() const; ChatItem *chatItemAt(const QPointF &pos) const; @@ -92,9 +93,10 @@ public: inline void setSenderCutoffMode(CutoffMode mode) { _cutoffMode = mode; } QString selection() const; - inline bool hasGlobalSelection() const { return _selectionStart >= 0; } - inline bool isGloballySelecting() const { return _isSelecting; } + bool hasSelection() const; + bool hasGlobalSelection() const; bool isPosOverSelection(const QPointF &) const; + bool isGloballySelecting() const; void initiateDrag(QWidget *source); bool isScrollingAllowed() const; @@ -111,8 +113,7 @@ public: void startGlobalSelection(ChatItem *item, const QPointF &itemPos); void clearGlobalSelection(); void clearSelection(); - - void putToClipboard(const QString &); + void selectionToClipboard(QClipboard::Mode = QClipboard::Clipboard); void requestBacklog(); @@ -125,6 +126,7 @@ signals: void mouseMoveWhileSelecting(const QPointF &scenePos); protected: + virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *contextMenuEvent); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent); virtual void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent);