X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatitem.h;h=9abd761b2cb85001cb809ecdcf082da8926c762a;hb=294fd6215071dd0fc1c8634fe99e163934b1f94a;hp=5796f5e90fbf3c8eaab8a7a0ae501e2fbf4b4368;hpb=68cd9a2621c71005cda0ed4fb796bbf5fcbe007e;p=quassel.git diff --git a/src/qtui/chatitem.h b/src/qtui/chatitem.h index 5796f5e9..9abd761b 100644 --- a/src/qtui/chatitem.h +++ b/src/qtui/chatitem.h @@ -48,10 +48,11 @@ public: void initLayoutHelper(QTextLayout *layout, QTextOption::WrapMode, Qt::Alignment = Qt::AlignLeft) const; virtual inline void initLayout(QTextLayout *layout) const { - initLayoutHelper(layout, QTextOption::WrapAnywhere); + initLayoutHelper(layout, QTextOption::NoWrap); doLayout(layout); } virtual void doLayout(QTextLayout *) const; + virtual UiStyle::FormatList formatList() const; virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); enum { Type = ChatScene::ChatItemType }; @@ -83,8 +84,10 @@ protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); - virtual QTextLayout::FormatRange selectionFormat() const; - virtual inline QVector additionalFormats() const { return QVector(); } + void paintBackground(QPainter *); + QVector selectionFormats() const; + virtual QVector additionalFormats() const; + void overlayFormat(UiStyle::FormatList &fmtList, int start, int end, quint32 overlayFmt) const; inline qint16 selectionStart() const { return _selectionStart; } inline void setSelectionStart(qint16 start) { _selectionStart = start; } @@ -189,6 +192,7 @@ protected: doLayout(layout); } virtual void doLayout(QTextLayout *layout) const; + virtual UiStyle::FormatList formatList() const; private: struct Clickable; @@ -247,7 +251,7 @@ public: WrapColumnFinder(const ChatItem *parent); ~WrapColumnFinder(); - qint16 nextWrapColumn(); + qint16 nextWrapColumn(qreal width); private: const ChatItem *item;