X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatitem.h;h=996cb4323a9d1c13c37feaf46c7b58bd76f65800;hp=3ed2cee358777649bad97a3083d954132b7d73c6;hb=114f8a14b8bc82669ffda0599ce30fc299be9396;hpb=c902a2a58671e7d145f5e879d87100844bd20df4 diff --git a/src/qtui/chatitem.h b/src/qtui/chatitem.h index 3ed2cee3..996cb432 100644 --- a/src/qtui/chatitem.h +++ b/src/qtui/chatitem.h @@ -69,7 +69,9 @@ protected: inline QTextLayout *layout() const; + virtual QTextLayout::FormatRange selectionFormat() const; virtual inline QVector additionalFormats() const { return QVector(); } + qint16 posToCursor(const QPointF &pos); inline bool hasPrivateData() const { return (bool)_data; } @@ -137,7 +139,8 @@ public: virtual inline ChatLineModel::ColumnType column() const { return ChatLineModel::SenderColumn; } protected: - virtual inline ChatItemPrivate *newPrivateData() { return new ChatItemPrivate(createLayout(QTextOption::WrapAnywhere, Qt::AlignRight)); } + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + virtual inline ChatItemPrivate *newPrivateData() { return new ChatItemPrivate(createLayout(QTextOption::ManualWrap, Qt::AlignRight)); } }; // ************************************************************ @@ -159,6 +162,9 @@ protected: virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event); + virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); + + virtual QVector additionalFormats() const; @@ -207,7 +213,8 @@ struct ContentsChatItemPrivate : ChatItemPrivate { ContentsChatItem::Clickable currentClickable; bool hasDragged; - ContentsChatItemPrivate(QTextLayout *l, const QList &c, ContentsChatItem *parent) : ChatItemPrivate(l), contentsItem(parent), clickables(c), hasDragged(false) {} + ContentsChatItemPrivate(QTextLayout *l, const QList &c, ContentsChatItem *parent) + : ChatItemPrivate(l), contentsItem(parent), clickables(c), hasDragged(false) {} }; //inlines regarding ContentsChatItemPrivate