X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b9f1ebca009cb3da36ebc3d4537aedcc69770077..39f89141b06c:/src/panels/information/phononwidget.h diff --git a/src/panels/information/phononwidget.h b/src/panels/information/phononwidget.h index 00c6574bf..196b87f87 100644 --- a/src/panels/information/phononwidget.h +++ b/src/panels/information/phononwidget.h @@ -23,6 +23,7 @@ #include +#include #include #include @@ -31,16 +32,41 @@ namespace Phonon { class MediaObject; class SeekSlider; + class VideoPlayer; } // namespace Phonon +class EmbeddedVideoPlayer; class QToolButton; +class QVBoxLayout; class PhononWidget : public QWidget { Q_OBJECT public: + enum Mode + { + Audio, + Video + }; + PhononWidget(QWidget *parent = 0); + void setUrl(const KUrl &url); + KUrl url() const; + + void setMode(Mode mode); + Mode mode() const; + + void setVideoSize(const QSize& size); + QSize videoSize() const; + + signals: + void playingStarted(); + void playingStopped(); + + protected: + virtual void showEvent(QShowEvent *event); + virtual void hideEvent(QHideEvent *event); private slots: void stateChanged(Phonon::State); @@ -48,14 +74,21 @@ class PhononWidget : public QWidget void stop(); private: - void requestMedia(); + void applyVideoSize(); private: + Mode m_mode; KUrl m_url; + QSize m_videoSize; + QToolButton *m_playButton; QToolButton *m_stopButton; + + QVBoxLayout *m_topLayout; + Phonon::MediaObject *m_audioMedia; Phonon::MediaObject *m_media; Phonon::SeekSlider *m_seekSlider; + EmbeddedVideoPlayer *m_videoPlayer; }; #endif // PHONONWIDGET_H