]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/phononwidget.h
Fix all 'explicit constructor' krazy warnings
[dolphin.git] / src / panels / information / phononwidget.h
index 1e1ea37e9b4c892879756e41b40a1a1ea6e7be37..eff613bd96d51580109b76294d8e72d970a03e07 100644 (file)
@@ -21,8 +21,7 @@
 #ifndef PHONONWIDGET_H
 #define PHONONWIDGET_H
 
-#include <KUrl>
-
+#include <QUrl>
 #include <QSize>
 #include <QWidget>
 
@@ -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;
 };