]> git.sur5r.net Git - minitube/blob - src/sidebarwidget.h
Imported Upstream version 2.0
[minitube] / src / sidebarwidget.h
1 #ifndef SIDEBARWIDGET_H
2 #define SIDEBARWIDGET_H
3
4 #include <QtGui>
5
6 class RefineSearchButton;
7 class RefineSearchWidget;
8 class SidebarHeader;
9
10 class SidebarWidget : public QWidget {
11
12     Q_OBJECT
13
14 public:
15     SidebarWidget(QWidget *parent = 0);
16     void setPlaylist(QListView *playlist);
17     void showPlaylist();
18     RefineSearchWidget* getRefineSearchWidget() { return refineSearchWidget; }
19     SidebarHeader* getHeader() { return sidebarHeader; }
20     void hideSuggestions();
21
22 public slots:
23     void showRefineSearchWidget();
24     void hideRefineSearchWidget();
25     void toggleRefineSearch(bool show = false);
26     void showSuggestions(const QStringList &suggestions);
27
28 signals:
29     void suggestionAccepted(QString);
30
31 protected:
32     void resizeEvent(QResizeEvent *);
33     void enterEvent(QEvent *);
34     void leaveEvent(QEvent *);
35     void mouseMoveEvent(QMouseEvent *event);
36     bool eventFilter(QObject *, QEvent *);
37
38 private:
39     void showRefineSearchButton();
40     void setup();
41     void handleMouseMove();
42
43     QStackedWidget *stackedWidget;
44     RefineSearchButton *refineSearchButton;
45     QListView *playlist;
46     RefineSearchWidget *refineSearchWidget;
47     QTimer *mouseTimer;
48     QLabel *messageLabel;
49     SidebarHeader *sidebarHeader;
50 };
51
52 #endif // SIDEBARWIDGET_H