1 #ifndef HISTORYENTRYMODEL_H 2 #define HISTORYENTRYMODEL_H 3 4 #include <QObject> 5 #include <QAbstractTableModel> 6 7 #include "Utils/Pimpl.h" 8 #include "Utils/Session/SessionUtils.h" 9 10 namespace Session 11 { 12 class Manager; 13 } 14 15 class HistoryEntryModel : 16 public QAbstractTableModel 17 { 18 Q_OBJECT 19 PIMPL(HistoryEntryModel) 20 21 signals: 22 void sigRowsAdded(); 23 24 private: 25 const Session::Entry& entry(int row) const; 26 27 public: 28 HistoryEntryModel(Session::Manager* sessionManager, Session::Timecode timecode, QObject* parent=nullptr); 29 ~HistoryEntryModel() override; 30 31 // QAbstractItemModel interface 32 public: 33 QVariant headerData(int section, Qt::Orientation orientation, int role) const override; 34 int rowCount(const QModelIndex& parent) const override; 35 int columnCount(const QModelIndex& parent) const override; 36 QVariant data(const QModelIndex& index, int role) const override; 37 38 Qt::ItemFlags flags(const QModelIndex& index) const override; 39 QMimeData* mimeData(const QModelIndexList& indexes) const override; 40 41 private slots: 42 void historyChanged(Session::Id id); 43 44 protected: 45 void languageChanged(); 46 }; 47 48 #endif // HISTORYENTRYMODEL_H 49