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

0001 /*
0002     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef _K3B_AUDIO_RIPPING_DIALOG_H_
0007 #define _K3B_AUDIO_RIPPING_DIALOG_H_
0008 
0009 #include "k3binteractiondialog.h"
0010 #include "k3btoc.h"
0011 #include "k3bmedium.h"
0012 
0013 #include <KCDDB/CDInfo>
0014 
0015 #include <QList>
0016 #include <QStringList>
0017 
0018 class QCheckBox;
0019 class QSpinBox;
0020 class QComboBox;
0021 
0022 namespace K3b {
0023 
0024     namespace Device {
0025         class Device;
0026     }
0027 
0028     class CddbPatternWidget;
0029     class AudioConvertingOptionWidget;
0030 
0031     class AudioRippingDialog : public InteractionDialog
0032     {
0033         Q_OBJECT
0034 
0035     public:
0036         AudioRippingDialog( const Medium&,
0037                             const KCDDB::CDInfo&,
0038                             const QList<int>&,
0039                             QWidget *parent = 0 );
0040         ~AudioRippingDialog() override;
0041 
0042         void setStaticDir( const QString& path );
0043 
0044     public Q_SLOTS:
0045         void refresh();
0046         void init() override;
0047 
0048     private Q_SLOTS:
0049         void slotStartClicked() override;
0050 
0051     private:
0052         Medium m_medium;
0053         KCDDB::CDInfo m_cddbEntry;
0054         QList<int> m_trackNumbers;
0055 
0056         QComboBox* m_comboParanoiaMode;
0057         QSpinBox* m_spinRetries;
0058         QCheckBox* m_checkIgnoreReadErrors;
0059         QCheckBox* m_checkUseIndex0;
0060 
0061         CddbPatternWidget* m_patternWidget;
0062         AudioConvertingOptionWidget* m_optionWidget;
0063 
0064         void setupGui();
0065         void setupContextHelp();
0066 
0067         void loadSettings( const KConfigGroup& ) override;
0068         void saveSettings( KConfigGroup ) override;
0069 
0070         class Private;
0071         Private* d;
0072     };
0073 }
0074 
0075 #endif