┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/information/phononwidget.h
diff options
context:
space:
mode:
authorMéven Car <[email protected]>2019-04-14 16:54:54 +0200
committerMéven Car <[email protected]>2019-06-23 16:38:09 +0200
commite6c1b97d67f6b6c6d4ad935db14241b041b3fca4 (patch)
treef0325a8b9ce9836b9e2149fcfd90ac23b0f044f5 /src/panels/information/phononwidget.h
parentcdad6a513e2cbd4376dd03bb4fa63681076eb18b (diff)
Allow dolphin to auto-play previewed media file, click on preview to play/pause videos or audio
Summary: It is based on D19844. I did my best to avoid glitches hence the amount of code touched. Retry after @pekkah D7539 Moved the setting to the information panel context menu, no more timer Settings screenshot : {F6700220} This would mach the same feature in the open/save dialog (although not equivalent) {F6696456} FEATURE: 378613 FIXED-IN: 19.08.0 GUI: New information panel context menu option Test Plan: Without auto play - in dolphin with the information panel opened, and the auto media play feature is disabled (right on the information panel) - hover over media files - the behavior is the same as before the patch With auto play - in dolphin with the information panel opened, and the auto media play feature is enabled - hover over media files - media is played automatically - hover over another media file, the new media is previewed Use audio or video file as media. Reviewers: #dolphin, elvisangelaccio, ngraham Reviewed By: #dolphin, elvisangelaccio, ngraham Subscribers: ngraham, broulik, kfm-devel, pekkah Tags: #dolphin Differential Revision: https://phabricator.kde.org/D19782
Diffstat (limited to 'src/panels/information/phononwidget.h')
-rw-r--r--src/panels/information/phononwidget.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/panels/information/phononwidget.h b/src/panels/information/phononwidget.h
index 971e8c731..b9e7d4f05 100644
--- a/src/panels/information/phononwidget.h
+++ b/src/panels/information/phononwidget.h
@@ -43,14 +43,22 @@ class PhononWidget : public QWidget
{
Q_OBJECT
public:
+
+ enum MediaKind {
+ Video,
+ Audio
+ };
+
explicit PhononWidget(QWidget *parent = nullptr);
- void setUrl(const QUrl &url);
+ void setUrl(const QUrl &url, MediaKind kind);
QUrl url() const;
void setVideoSize(const QSize& size);
QSize videoSize() const;
+ void setAutoPlay(bool autoPlay);
+
signals:
/**
* Is emitted whenever the video-state
@@ -62,15 +70,17 @@ class PhononWidget : public QWidget
*/
void hasVideoChanged(bool hasVideo);
+ public slots:
+ void play();
+
protected:
void showEvent(QShowEvent *event) override;
void hideEvent(QHideEvent *event) override;
private slots:
- void stateChanged(Phonon::State);
- void play();
+ void stateChanged(Phonon::State newstate);
void stop();
- void slotHasVideoChanged(bool);
+ void finished();
private:
void applyVideoSize();
@@ -87,6 +97,8 @@ class PhononWidget : public QWidget
Phonon::SeekSlider *m_seekSlider;
Phonon::AudioOutput *m_audioOutput;
EmbeddedVideoPlayer *m_videoPlayer;
+ bool m_autoPlay;
+ bool m_isVideo;
};
#endif // PHONONWIDGET_H