Implemented search
[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 <QTime>
12 #include "trackrenderer.h"
13
14 namespace Ui {
15     class PlayerForm;
16 }
17
18 using SomePlayer::DataObjects::Library;
19 using SomePlayer::DataObjects::Playlist;
20 using SomePlayer::DataObjects::Track;
21 using SomePlayer::Playback::Player;
22 using SomePlayer::Playback::PlayerState;
23
24 class PlayerForm : public QWidget
25 {
26     Q_OBJECT
27
28 public:
29         explicit PlayerForm(Library *lib, QWidget *parent = 0);
30     ~PlayerForm();
31 signals:
32         void library();
33         void showSearchPanel();
34         void hideSearchPanel();
35
36 public slots:
37         void reload();
38         void search(QString &);
39         void nextItem();
40         void prevItem();
41         void cancelSearch();
42
43 private slots:
44         void _library();
45         void _toggle_view();
46         void _process_click(QModelIndex);
47         void _track_changed(Track);
48         void _tick(int, int);
49         void _slider_released();
50         void _custom_context_venu_requested ( const QPoint & pos );
51         void _delete_track();
52         void _enqueue_track();
53         void _add_to_favorites();
54         void _state_changed(PlayerState);
55         void _toggle_repeat();
56         void _toggle_random();
57
58 private:
59     Ui::PlayerForm *ui;
60         Library *_lib;
61         Playlist _current_playlist;
62         QTime *_time;
63         QStandardItemModel *_model;
64         Player *_player;
65         QSlider *_seek_slider;
66         QMenu *_context_menu;
67         QString _search_pattern;
68
69         TrackRenderer *_track_renderer;
70         void _display_track(Track);
71         int _search_current_id;
72 };
73
74 #endif // PLAYERFORM_H