]> git.sur5r.net Git - minitube/blob - src/downloadmodel.h
26a43dedbae58b55973f98d4323bbf14299daf23
[minitube] / src / downloadmodel.h
1 #ifndef DOWNLOADMODEL_H
2 #define DOWNLOADMODEL_H
3
4 #include <QAbstractListModel>
5
6 class DownloadManager;
7
8 class DownloadModel : public QAbstractListModel {
9
10     Q_OBJECT
11
12 public:
13     DownloadModel(DownloadManager *downloadManager, QObject *parent);
14     int rowCount(const QModelIndex &parent = QModelIndex()) const;
15     QVariant data(const QModelIndex &index, int role) const;
16     friend class DownloadManager;
17     void setHoveredRow(int row);
18
19 public slots:
20     void clearHover();
21     void enterPlayIconHover();
22     void exitPlayIconHover();
23     void enterPlayIconPressed();
24     void exitPlayIconPressed();
25     void sendReset();
26     void updatePlayIcon();
27
28 private:
29     int columnCount() { return 1; }
30
31     DownloadManager *downloadManager;
32     int hoveredRow;
33     bool playIconHovered;
34     bool playIconPressed;
35
36 };
37
38 #endif // DOWNLOADMODEL_H