From 8b5c7b2f2fb43b4f1884e683d60dd2553b9aa994 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 30 Aug 2019 23:20:53 +0200 Subject: Add placeholder timeline model --- src/timeline2/TimelineModel.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/timeline2/TimelineModel.h (limited to 'src/timeline2/TimelineModel.h') diff --git a/src/timeline2/TimelineModel.h b/src/timeline2/TimelineModel.h new file mode 100644 index 00000000..c281056d --- /dev/null +++ b/src/timeline2/TimelineModel.h @@ -0,0 +1,42 @@ +#pragma once + +#include +#include + +#include +#include + +#include + +class TimelineModel : public QAbstractListModel +{ + Q_OBJECT + +public: + explicit TimelineModel(QObject *parent = 0) + : QAbstractListModel(parent) + {} + + enum Roles + { + Type, + Body, + FormattedBody, + UserId, + UserName, + Timestamp, + }; + + QHash roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + + Q_INVOKABLE QColor userColor(QString id, QColor background); + +private: + std::map events; + std::vector eventOrder; + + std::map userColors; +}; + -- cgit 1.5.1