2011-05-22 Hui Huang <hui.2.huang@nokia.com>, Yi Shen <yi.4.shen@nokia.com>
[webkit:qtwebkit.git] / Source / WebKit / qt / symbian / platformplugin / OverlayWidget.h
1 /*
2  * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this library; see the file COPYING.LIB.  If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  *
19  */
20
21 #ifndef OverlayWidget_h
22 #define OverlayWidget_h
23
24 #include "PlayerButton.h"
25 #include "PlayerLabel.h"
26
27 #include <QSlider>
28
29 class OverlayWidget : public QWidget {
30     Q_OBJECT
31 public:
32     OverlayWidget(QWidget* parent = 0);
33     ~OverlayWidget();
34     void setDuration(int);
35     void setPosition(int);
36     void setVolume(int);
37     void mousePressEvent(QMouseEvent*);
38     void onPlayerStopped();
39     void onPlayerError();
40     void onEndOfMedia();
41     void onBufferingMedia();
42     void onBufferedMedia();
43
44 private:
45     QString timeToString(int);
46     void applyStyleSheet();
47
48 private slots:
49     void onControlClicked();
50     void onSliderMoved(int);
51     void onSoundClicked();
52     void onCloseClicked();
53     void onVolumeSliderReleased();
54     void onVolumeSliderMoved(int);
55     void onTimerTimeout();
56
57 public slots:
58     void showFullScreen();
59
60 signals:
61     void controlClicked(bool);
62     void sliderMoved(int);
63     void closeClicked();
64     void muted(bool);
65     void volumeChanged(int);
66
67 private:
68     PlayerButton* m_controlButton;
69     bool m_isPaused;
70     QSlider* m_progressSlider;
71     QLabel* m_positionLabel;
72     QLabel* m_durationLabel;
73     PlayerButton* m_soundButton;
74     PlayerButton* m_closeButton;
75     QSlider* m_volumeSlider;
76     bool m_isMuted;
77     QIcon m_playIcon;
78     QIcon m_pauseIcon;
79     QIcon m_soundOnIcon;
80     QIcon m_soundOffIcon;
81     QTimer* m_hideWidgetTimer;
82     PlayerLabel* m_playerLabel;
83 };
84
85 #endif /* OverlayWidget_h */