1 /* This file is part of the KDE libraries
2    SPDX-FileCopyrightText: 2003 Carsten Pfeiffer <pfeiffer@kde.org>
3    SPDX-FileCopyrightText: 2006 Matthias Kretz <kretz@kde.org>
4 
5    SPDX-License-Identifier: LGPL-2.0-only
6 */
7 
8 #ifndef KFILEAUDIOPREVIEW_H
9 #define KFILEAUDIOPREVIEW_H
10 
11 #include <kpreviewwidgetbase.h>
12 #include <phonon/phononnamespace.h>
13 #include <QVariantList>
14 
15 class QCheckBox;
16 class QUrl;
17 
18 /**
19  * Audio "preview" widget for the file dialog.
20  */
21 class KFileAudioPreview : public KPreviewWidgetBase
22 {
23     Q_OBJECT
24 
25 public:
26     explicit KFileAudioPreview(QWidget *parent = nullptr,
27                                const QVariantList &args = QVariantList());
28     ~KFileAudioPreview() override;
29 
30 public Q_SLOTS:
31     void showPreview(const QUrl &url) override;
32     void clearPreview() override;
33 
34 private Q_SLOTS:
35     void toggleAuto(bool on);
36     void stateChanged(Phonon::State newState, Phonon::State oldState);
37 
38 private:
39     QCheckBox *m_autoPlay;
40 
41 private:
42     class Private;
43     Private *d;
44 };
45 
46 #endif // KFILEAUDIOPREVIEW_H
47