X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatitem.h;h=52f5c36283d5a335871e5a3eb2a624efea2a8655;hp=0bf8ee2752f5cd0c132e2cea276818cb6d3e9fba;hb=39328183a6a87c6eb10a9dbbffcd5d65bf154a1f;hpb=76db8cdfbeffaaba359c8e80cf2146da9e9e7f8a diff --git a/src/qtui/chatitem.h b/src/qtui/chatitem.h index 0bf8ee27..52f5c362 100644 --- a/src/qtui/chatitem.h +++ b/src/qtui/chatitem.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -66,7 +66,7 @@ public: QPointF mapToScene(const QPointF &) const; QPointF mapFromScene(const QPointF &) const; - virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr); virtual inline int type() const { return ChatScene::ChatItemType; } QVariant data(int role) const; @@ -112,9 +112,8 @@ protected: virtual UiStyle::FormatList formatList() const; void paintBackground(QPainter *); - QVector selectionFormats() const; virtual QVector additionalFormats() const; - void overlayFormat(UiStyle::FormatList &fmtList, int start, int end, quint32 overlayFmt) const; + void overlayFormat(UiStyle::FormatList &fmtList, quint16 start, quint16 end, UiStyle::FormatType overlayFmt) const; inline qint16 selectionStart() const { return _selectionStart; } inline void setSelectionStart(qint16 start) { _selectionStart = start; } @@ -124,6 +123,9 @@ protected: inline void setSelectionMode(SelectionMode mode) { _selectionMode = mode; } void setSelection(SelectionMode mode, qint16 selectionStart, qint16 selectionEnd); + virtual bool hasActiveClickable() const; + virtual std::pair activeClickableRange() const; + qint16 posToCursor(const QPointF &pos) const; inline void setGeometry(qreal width, qreal height) { clearCache(); _boundingRect.setSize(QSizeF(width, height)); } @@ -173,7 +175,7 @@ public: virtual void handleClick(const QPointF &pos, ChatScene::ClickMode clickMode); protected: - virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr); virtual inline int type() const { return ChatScene::SenderChatItemType; } virtual void initLayout(QTextLayout *layout) const; }; @@ -206,11 +208,12 @@ protected: virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event); virtual void handleClick(const QPointF &pos, ChatScene::ClickMode clickMode); + virtual bool hasActiveClickable() const; + virtual std::pair activeClickableRange() const; + virtual void addActionsToMenu(QMenu *menu, const QPointF &itemPos); virtual void copyLinkToClipboard(); - virtual QVector additionalFormats() const; - virtual void initLayout(QTextLayout *layout) const; virtual void doLayout(QTextLayout *layout) const; virtual UiStyle::FormatList formatList() const;