File indexing completed on 2024-04-21 04:57:32

0001 /* This file is part of the KDE libraries
0002    SPDX-FileCopyrightText: 2003 Carsten Pfeiffer <pfeiffer@kde.org>
0003    SPDX-FileCopyrightText: 2006 Matthias Kretz <kretz@kde.org>
0004 
0005    SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #ifndef KFILEAUDIOPREVIEW_H
0009 #define KFILEAUDIOPREVIEW_H
0010 
0011 #include <KPreviewWidgetBase>
0012 #include <QVariantList>
0013 #include <phonon/phononnamespace.h>
0014 
0015 class QCheckBox;
0016 class QUrl;
0017 
0018 /**
0019  * Audio "preview" widget for the file dialog.
0020  */
0021 class KFileAudioPreview : public KPreviewWidgetBase
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit KFileAudioPreview(QWidget *parent = nullptr, const QVariantList &args = QVariantList());
0027     ~KFileAudioPreview() override;
0028 
0029 public Q_SLOTS:
0030     void showPreview(const QUrl &url) override;
0031     void clearPreview() override;
0032 
0033 private Q_SLOTS:
0034     void toggleAuto(bool on);
0035     void stateChanged(Phonon::State newState, Phonon::State oldState);
0036 
0037 private:
0038     QCheckBox *m_autoPlay;
0039 
0040 private:
0041     class Private;
0042     Private *d;
0043 };
0044 
0045 #endif // KFILEAUDIOPREVIEW_H