X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8eb9b508ca87fb1d634d8b8ba62c054ed04466d2..87e8d0ba:/src/panels/information/phononwidget.h diff --git a/src/panels/information/phononwidget.h b/src/panels/information/phononwidget.h index 1e1ea37e9..eff613bd9 100644 --- a/src/panels/information/phononwidget.h +++ b/src/panels/information/phononwidget.h @@ -21,8 +21,7 @@ #ifndef PHONONWIDGET_H #define PHONONWIDGET_H -#include - +#include #include #include @@ -30,6 +29,7 @@ namespace Phonon { + class AudioOutput; class MediaObject; class SeekSlider; class VideoPlayer; @@ -43,51 +43,49 @@ class PhononWidget : public QWidget { Q_OBJECT public: - enum Mode - { - Audio, - Video - }; - - PhononWidget(QWidget *parent = 0); - - void setUrl(const KUrl &url); - KUrl url() const; + explicit PhononWidget(QWidget *parent = nullptr); - void setMode(Mode mode); - Mode mode() const; + void setUrl(const QUrl &url); + QUrl url() const; void setVideoSize(const QSize& size); QSize videoSize() const; signals: - void playingStarted(); - void playingStopped(); + /** + * Is emitted whenever the video-state + * has changed: If true is returned, a video + * including control-buttons will be shown. + * If false is returned, no video is shown + * and the control-buttons are available for + * audio only. + */ + void hasVideoChanged(bool hasVideo); protected: - virtual void showEvent(QShowEvent *event); - virtual void hideEvent(QHideEvent *event); + void showEvent(QShowEvent *event) override; + void hideEvent(QHideEvent *event) override; private slots: void stateChanged(Phonon::State); void play(); void stop(); + void slotHasVideoChanged(bool); private: void applyVideoSize(); private: - Mode m_mode; - KUrl m_url; + QUrl 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; + Phonon::AudioOutput *m_audioOutput; EmbeddedVideoPlayer *m_videoPlayer; };