File indexing completed on 2024-04-28 04:50:20

0001 /*
0002     SPDX-FileCopyrightText: 2004-2009 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef _K3B_AUDIO_CONVERTING_OPTION_WIDGET_H_
0009 #define _K3B_AUDIO_CONVERTING_OPTION_WIDGET_H_
0010 
0011 #include "ui_base_k3baudiorippingoptionwidget.h"
0012 
0013 #include <KIO/Global>
0014 #include <QCheckBox>
0015 
0016 class KConfigGroup;
0017 
0018 namespace K3b {
0019     class AudioEncoder;
0020 
0021 
0022     /**
0023      * Internally used by AudioConvertingDialog
0024      */
0025     class AudioConvertingOptionWidget : public QWidget, public Ui::base_K3bAudioRippingOptionWidget
0026     {
0027         Q_OBJECT
0028 
0029     public:
0030         explicit AudioConvertingOptionWidget( QWidget* parent );
0031         ~AudioConvertingOptionWidget() override;
0032 
0033         void setBaseDir( const QString& path );
0034 
0035         void setNeededSize( KIO::filesize_t );
0036 
0037         /**
0038          * @returns 0 if wave is selected
0039          */
0040         AudioEncoder* encoder() const;
0041         QString extension() const;
0042 
0043         QString baseDir() const;
0044 
0045         bool createPlaylist() const { return m_checkCreatePlaylist->isChecked(); }
0046         bool playlistRelativePath() const { return m_checkPlaylistRelative->isChecked(); }
0047         bool createSingleFile() const { return m_checkSingleFile->isChecked(); }
0048         bool createCueFile() const { return m_checkWriteCueFile->isChecked(); }
0049 
0050     public Q_SLOTS:
0051         void loadConfig( const KConfigGroup& );
0052         void saveConfig( KConfigGroup );
0053 
0054     Q_SIGNALS:
0055         void changed();
0056 
0057     private Q_SLOTS:
0058         void slotConfigurePlugin();
0059         void slotUpdateFreeTempSpace();
0060         void slotEncoderChanged();
0061 
0062     private:
0063         class Private;
0064         Private* d;
0065     };
0066 }
0067 
0068 #endif