X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fmessagemodel.h;h=e916879b6874a3a1d3a023e517c89a2a125cca20;hb=cc6e7c08709c4e761e2fd9c2e322751015497003;hp=f27379c180a7fed5b2e5c8abddb484a63b873f09;hpb=c194ed5fb3d15e14b9364f9796d3521910dc72fe;p=quassel.git diff --git a/src/client/messagemodel.h b/src/client/messagemodel.h index f27379c1..e916879b 100644 --- a/src/client/messagemodel.h +++ b/src/client/messagemodel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -37,7 +37,8 @@ class CLIENT_EXPORT MessageModel : public QAbstractItemModel Q_OBJECT public: - enum MessageModelRole { + enum MessageModelRole + { DisplayRole = Qt::DisplayRole, EditRole = Qt::EditRole, BackgroundRole = Qt::BackgroundRole, @@ -53,24 +54,28 @@ public: UserRole }; - enum ColumnType { - TimestampColumn, SenderColumn, ContentsColumn, UserColumnType + enum ColumnType + { + TimestampColumn, + SenderColumn, + ContentsColumn, + UserColumnType }; - MessageModel(QObject *parent); + MessageModel(QObject* parent); - inline QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; - inline QModelIndex parent(const QModelIndex &) const override { return QModelIndex(); } - inline int rowCount(const QModelIndex &parent = QModelIndex()) const override { return parent.isValid() ? 0 : messageCount(); } - inline int columnCount(const QModelIndex & /*parent*/ = QModelIndex()) const override { return 3; } + inline QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; + inline QModelIndex parent(const QModelIndex&) const override { return {}; } + inline int rowCount(const QModelIndex& parent = QModelIndex()) const override { return parent.isValid() ? 0 : messageCount(); } + inline int columnCount(const QModelIndex& /*parent*/ = QModelIndex()) const override { return 3; } - QVariant data(const QModelIndex &index, int role) const override; - bool setData(const QModelIndex &index, const QVariant &value, int role) override; + QVariant data(const QModelIndex& index, int role) const override; + bool setData(const QModelIndex& index, const QVariant& value, int role) override; - //virtual Qt::ItemFlags flags(const QModelIndex &index) const; + // virtual Qt::ItemFlags flags(const QModelIndex &index) const; - bool insertMessage(const Message &, bool fakeMsg = false); - void insertMessages(const QList &); + bool insertMessage(const Message&, bool fakeMsg = false); + void insertMessages(const QList&); void clear(); @@ -81,33 +86,33 @@ public slots: void requestBacklog(BufferId bufferId); void messagesReceived(BufferId bufferId, int count); void buffersPermanentlyMerged(BufferId bufferId1, BufferId bufferId2); - void insertErrorMessage(BufferInfo bufferInfo, const QString &errorString); + void insertErrorMessage(BufferInfo bufferInfo, const QString& errorString); protected: -// virtual MessageModelItem *createMessageModelItem(const Message &) = 0; + // virtual MessageModelItem *createMessageModelItem(const Message &) = 0; virtual int messageCount() const = 0; virtual bool messagesIsEmpty() const = 0; - virtual const MessageModelItem *messageItemAt(int i) const = 0; - virtual MessageModelItem *messageItemAt(int i) = 0; - virtual const MessageModelItem *firstMessageItem() const = 0; - virtual MessageModelItem *firstMessageItem() = 0; - virtual const MessageModelItem *lastMessageItem() const = 0; - virtual MessageModelItem *lastMessageItem() = 0; - virtual void insertMessage__(int pos, const Message &) = 0; - virtual void insertMessages__(int pos, const QList &) = 0; + virtual const MessageModelItem* messageItemAt(int i) const = 0; + virtual MessageModelItem* messageItemAt(int i) = 0; + virtual const MessageModelItem* firstMessageItem() const = 0; + virtual MessageModelItem* firstMessageItem() = 0; + virtual const MessageModelItem* lastMessageItem() const = 0; + virtual MessageModelItem* lastMessageItem() = 0; + virtual void insertMessage__(int pos, const Message&) = 0; + virtual void insertMessages__(int pos, const QList&) = 0; virtual void removeMessageAt(int i) = 0; virtual void removeAllMessages() = 0; virtual Message takeMessageAt(int i) = 0; - void customEvent(QEvent *event) override; + void customEvent(QEvent* event) override; private slots: void changeOfDay(); private: - void insertMessageGroup(const QList &); - int insertMessagesGracefully(const QList &); // inserts as many contiguous msgs as possible. returns numer of inserted msgs. + void insertMessageGroup(const QList&); + int insertMessagesGracefully(const QList&); // inserts as many contiguous msgs as possible. returns numer of inserted msgs. int indexForId(MsgId); // QList _messageList; @@ -121,17 +126,15 @@ private: const qint64 DAY_IN_MSECS = 24 * 60 * 60 * 1000; }; - // inlines -QModelIndex MessageModel::index(int row, int column, const QModelIndex &parent) const +QModelIndex MessageModel::index(int row, int column, const QModelIndex& parent) const { if (row < 0 || row >= rowCount(parent) || column < 0 || column >= columnCount(parent)) - return QModelIndex(); + return {}; return createIndex(row, column); } - // ************************************************** // MessageModelItem // ************************************************** @@ -146,25 +149,24 @@ public: inline virtual ~MessageModelItem() = default; virtual QVariant data(int column, int role) const; - virtual bool setData(int column, const QVariant &value, int role); + virtual bool setData(int column, const QVariant& value, int role); - virtual const Message &message() const = 0; - virtual const QDateTime ×tamp() const = 0; - virtual const MsgId &msgId() const = 0; - virtual const BufferId &bufferId() const = 0; + virtual const Message& message() const = 0; + virtual const QDateTime& timestamp() const = 0; + virtual const MsgId& msgId() const = 0; + virtual const BufferId& bufferId() const = 0; virtual void setBufferId(BufferId bufferId) = 0; virtual Message::Type msgType() const = 0; virtual Message::Flags msgFlags() const = 0; // For sorting - bool operator<(const MessageModelItem &) const; - bool operator==(const MessageModelItem &) const; - bool operator>(const MessageModelItem &) const; - static bool lessThan(const MessageModelItem *m1, const MessageModelItem *m2); + bool operator<(const MessageModelItem&) const; + bool operator==(const MessageModelItem&) const; + bool operator>(const MessageModelItem&) const; + static bool lessThan(const MessageModelItem* m1, const MessageModelItem* m2); private: BufferId _redirectedTo; }; - -QDebug operator<<(QDebug dbg, const MessageModelItem &msgItem); +QDebug operator<<(QDebug dbg, const MessageModelItem& msgItem);