blob: 86135bbd2eef5337ada871b2f7ca90db6888615c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#ifndef COLLECTIONWIDGET_H
#define COLLECTIONWIDGET_H
#include <QWidget>
class QTreeView;
class QStandardItemModel;
class QSortFilterProxyModel;
class CollectionWidget : public QWidget {
Q_OBJECT
public:
enum CustomRoles { TypeRole = Qt::UserRole + 1, IdRole = Qt::UserRole + 2, FullPathRole = Qt::UserRole + 3, GenreRole = Qt::UserRole + 4, ArtistRole = Qt::UserRole + 5, TitleRole = Qt::UserRole + 6, AlbumRole = Qt::UserRole + 7, LengthRole = Qt::UserRole + 8, UrlRole = Qt::UserRole + 9, RemoteRole = Qt::UserRole + 10 };
enum ItemType { Artist, Album, Song, Genre, WebRadio };
explicit CollectionWidget(QWidget *parent = nullptr);
QTreeView *view() { return mView; }
QStandardItemModel *model() { return mModel; }
QSortFilterProxyModel *proxy() { return mProxy; }
void setHeaders(const QStringList headers) { mHeaders = headers; }
const QStringList headers() const { return mHeaders; }
signals:
public slots:
virtual void populate() { return; }
private:
QTreeView *mView;
QStandardItemModel *mModel;
QSortFilterProxyModel *mProxy;
QStringList mHeaders;
};
#endif // COLLECTIONWIDGET_H
|