#ifndef PLAYERWIDGET_H #define PLAYERWIDGET_H #include class QTreeView; class QStandardItemModel; class QStandardItem; class QLineEdit; class QLabel; class QSlider; class QTextEdit; class QMediaPlayer; class BeetPlayerProxy; class PlayerWidget : public QWidget { Q_OBJECT public: enum ItemType { Artist, Album, Song, Genre }; 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(); void populateByArtist(QStandardItem *parent, const QString &filter); void populateBySong(QStandardItem *parent, const QString &filter); void populateByGenre(QStandardItem *parent, const QString &filter); QLineEdit *mFilter; QMediaPlayer *mPlayer; QTreeView *mView; QStandardItemModel *mViewModel; QStandardItemModel *mSearchModel; QLabel *mNowPlayingL; QSlider *mSlider; QTextEdit *mCurrentTE; QTreeView *mPlayListView; QStandardItemModel *mPlayListModel; }; #endif // PLAYERWIDGET_H