#ifndef PLAYERWIDGET_H #define PLAYERWIDGET_H #include class QTreeView; class QStandardItemModel; class QSortFilterProxyModel; class QLineEdit; class QLabel; class QSlider; class QTextEdit; class QMediaPlayer; class BeetPlayerProxy; class PlayerWidget : public QWidget { Q_OBJECT public: enum ItemType { Artist, Album, Song }; enum CustomRoles { TypeRole = Qt::UserRole + 1, IdRole = Qt::UserRole + 2, FullPathRole = Qt::UserRole + 3, GenreRole = Qt::UserRole + 4 }; explicit PlayerWidget(QWidget *parent = 0); public slots: void populate(); void doFilter(); void clearFilter(); private: void setupGui(); QLineEdit *mFilter; QMediaPlayer *mPlayer; QTreeView *mView; QStandardItemModel *mViewModel; BeetPlayerProxy *mViewProxy; QLabel *mNowPlayingL; QSlider *mSlider; QTextEdit *mCurrentTE; QTreeView *mPlayListView; QStandardItemModel *mPlayListModel; }; #endif // PLAYERWIDGET_H