/***************************************************************************
- * Copyright (C) 2005-2012 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 *
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;
virtual UiStyle::FormatList formatList() const;
void paintBackground(QPainter *);
- QVector<QTextLayout::FormatRange> selectionFormats() const;
virtual QVector<QTextLayout::FormatRange> 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; }
inline void setSelectionMode(SelectionMode mode) { _selectionMode = mode; }
void setSelection(SelectionMode mode, qint16 selectionStart, qint16 selectionEnd);
+ virtual bool hasActiveClickable() const;
+ virtual std::pair<quint16, quint16> activeClickableRange() const;
+
qint16 posToCursor(const QPointF &pos) const;
inline void setGeometry(qreal width, qreal height) { clearCache(); _boundingRect.setSize(QSizeF(width, height)); }
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;
};
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
virtual void handleClick(const QPointF &pos, ChatScene::ClickMode clickMode);
+ virtual bool hasActiveClickable() const;
+ virtual std::pair<quint16, quint16> activeClickableRange() const;
+
virtual void addActionsToMenu(QMenu *menu, const QPointF &itemPos);
virtual void copyLinkToClipboard();
- virtual QVector<QTextLayout::FormatRange> additionalFormats() const;
-
virtual void initLayout(QTextLayout *layout) const;
virtual void doLayout(QTextLayout *layout) const;
virtual UiStyle::FormatList formatList() const;