- ChatLineModelItem(const Message &);
- ~ChatLineModelItem();
- virtual QVariant data(int column, int role) const;
- virtual inline bool setData(int column, const QVariant &value, int role) { Q_UNUSED(column); Q_UNUSED(value); Q_UNUSED(role); return false; }
+ ChatLineModelItem(const Message&);
+
+ QVariant data(int column, int role) const override;
+ bool setData(int column, const QVariant& value, int role) override;
+
+ inline const Message& message() const override { return _styledMsg; }
+ inline const QDateTime& timestamp() const override { return _styledMsg.timestamp(); }
+ inline const MsgId& msgId() const override { return _styledMsg.msgId(); }
+ inline const BufferId& bufferId() const override { return _styledMsg.bufferId(); }
+ inline void setBufferId(BufferId bufferId) override { _styledMsg.setBufferId(bufferId); }
+ inline Message::Type msgType() const override { return _styledMsg.type(); }
+ inline Message::Flags msgFlags() const override { return _styledMsg.flags(); }
+
+ virtual inline void invalidateWrapList() { _wrapList.clear(); }
+
+ /// Used to store information about words to be used for wrapping
+ struct Word
+ {
+ quint16 start;
+ qreal endX;
+ qreal width;
+ qreal trailing;
+ };
+ using WrapList = QVector<Word>;