Implemented dynamic playlists
[someplayer] / src / playerform.h
1 #ifndef PLAYERFORM_H
2 #define PLAYERFORM_H
3
4 #include <QWidget>
5 #include "someplayer.h"
6 #include "playlist.h"
7 #include <QStandardItemModel>
8 #include "player/player.h"
9 #include <QSlider>
10 #include <QMenu>
11 #include "trackrenderer.h"
12
13 namespace Ui {
14     class PlayerForm;
15 }
16
17 using SomePlayer::DataObjects::Library;
18 using SomePlayer::DataObjects::Playlist;
19 using SomePlayer::DataObjects::Track;
20 using SomePlayer::Playback::Player;
21
22 class PlayerForm : public QWidget
23 {
24     Q_OBJECT
25
26 public:
27         explicit PlayerForm(Library *lib, QWidget *parent = 0);
28     ~PlayerForm();
29 signals:
30         void library();
31
32 public slots:
33         void reload();
34
35 private slots:
36         void _library();
37         void _toggle_view();
38         void _process_click(QModelIndex);
39         void _track_changed(Track);
40         void _tick(int, int);
41         void _slider_released();
42         void _custom_context_venu_requested ( const QPoint & pos );
43         void _delete_track();
44         void _enqueue_track();
45         void _add_to_favorites();
46
47 private:
48     Ui::PlayerForm *ui;
49         Library *_lib;
50         Playlist _current_playlist;
51         QStandardItemModel *_model;
52         Player *_player;
53         QSlider *_seek_slider;
54         QMenu *_context_menu;
55
56         TrackRenderer *_track_renderer;
57         void _display_track(Track);
58 };
59
60 #endif // PLAYERFORM_H