20 #ifndef PLASMA_VIDEOWIDGET_H
21 #define PLASMA_VIDEOWIDGET_H
23 #include <QtGui/QGraphicsProxyWidget>
38 class VideoWidgetPrivate;
52 Q_PROPERTY(QString url READ url WRITE setUrl)
53 Q_PROPERTY(qint64 currentTime READ currentTime)
54 Q_PROPERTY(qint64 totalTime READ totalTime)
55 Q_PROPERTY(qint64 remainingTime READ remainingTime)
56 Q_PROPERTY(Controls usedControls READ usedControls WRITE setUsedControls)
57 Q_PROPERTY(
bool controlsVisible READ controlsVisible WRITE setControlsVisible)
58 Q_PROPERTY(qint32 tickInterval READ tickInterval WRITE setTickInterval)
59 Q_PROPERTY(QString styleSheet READ styleSheet WRITE setStyleSheet)
74 DefaultControls = PlayPause|Progress|Volume|OpenFile
76 Q_DECLARE_FLAGS(Controls, Control)
85 void setUrl(const QString &url);
96 Q_INVOKABLE
Phonon::MediaObject *mediaObject() const;
102 Q_INVOKABLE
Phonon::AudioOutput *audioOutput() const;
107 qint64 currentTime() const;
112 qint64 totalTime() const;
117 qint64 remainingTime() const;
125 void setUsedControls(const Controls controls);
131 Controls usedControls() const;
139 void setControlsVisible(
bool visible);
144 bool controlsVisible() const;
150 void setTickInterval(qint64 interval);
157 qint64 tickInterval() const;
164 void setStyleSheet(const QString &stylesheet);
169 QString styleSheet();
197 void seek(qint64 time);
204 void tick(qint64 time);
209 void aboutToFinish();
215 void nextRequested();
221 void previousRequested();
224 void resizeEvent(QGraphicsSceneResizeEvent *event);
225 void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
226 void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
227 void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
230 VideoWidgetPrivate * const d;
232 Q_PRIVATE_SLOT(d,
void playPause())
233 Q_PRIVATE_SLOT(d,
void ticked(qint64 progress))
234 Q_PRIVATE_SLOT(d,
void totalTimeChanged(qint64 time))
235 Q_PRIVATE_SLOT(d,
void setPosition(
int progress))
236 Q_PRIVATE_SLOT(d,
void setVolume(
int value))
237 Q_PRIVATE_SLOT(d,
void volumeChanged(qreal value))
238 Q_PRIVATE_SLOT(d,
void showOpenFileDialog())
239 Q_PRIVATE_SLOT(d,
void stateChanged(
Phonon::State newState,
Phonon::State oldState))
240 Q_PRIVATE_SLOT(d,
void hideControlWidget())
241 Q_PRIVATE_SLOT(d,
void slidingCompleted())
246 #endif // multiple inclusion guard
Namespace for everything in libplasma.