Sayonara Player
HistoryEntryModel.h
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 
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
HistoryEntryModel
Definition: HistoryEntryModel.h:17
Session::Entry
Definition: SessionUtils.h:16
Session::Manager
Definition: Session.h:37