MessageModel(QObject *parent);
- inline QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
- inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); }
- inline int rowCount(const QModelIndex &parent = QModelIndex()) const { return parent.isValid() ? 0 : messageCount(); }
- inline int columnCount(const QModelIndex & /*parent*/ = QModelIndex()) const { 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; }
- virtual QVariant data(const QModelIndex &index, int role) const;
- virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
+ 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 void removeAllMessages() = 0;
virtual Message takeMessageAt(int i) = 0;
- virtual void customEvent(QEvent *event);
+ void customEvent(QEvent *event) override;
private slots:
void changeOfDay();
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
// **************************************************
+//! Creates a MessageModelItem from a Message object.
+/** This baseclass implementation takes care of all Message data *except* the stylable strings.
+ * Subclasses need to provide Qt::DisplayRole at least, which should describe the plaintext
+ * strings without formattings (e.g. for searching purposes).
+ */
class CLIENT_EXPORT MessageModelItem
{
public:
- //! Creates a MessageModelItem from a Message object.
- /** This baseclass implementation takes care of all Message data *except* the stylable strings.
- * Subclasses need to provide Qt::DisplayRole at least, which should describe the plaintext
- * strings without formattings (e.g. for searching purposes).
- */
- MessageModelItem() {}
- inline virtual ~MessageModelItem() {}
+ inline virtual ~MessageModelItem() = default;
virtual QVariant data(int column, int role) const;
virtual bool setData(int column, const QVariant &value, int role);