File indexing completed on 2024-05-12 04:51:52

0001 /*
0002     SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef _K3B_VIDEODVD_RIPPING_WIDGET_H_
0007 #define _K3B_VIDEODVD_RIPPING_WIDGET_H_
0008 
0009 #include "ui_base_k3bvideodvdrippingwidget.h"
0010 
0011 #include "k3bvideodvdtitletranscodingjob.h"
0012 
0013 #include <KIO/Global>
0014 
0015 class QTimer;
0016 
0017 namespace K3b {
0018     class VideoDVDRippingWidget : public QWidget, public Ui::base_K3bVideoDVDRippingWidget
0019     {
0020         Q_OBJECT
0021 
0022     public:
0023         explicit VideoDVDRippingWidget( QWidget* parent );
0024         ~VideoDVDRippingWidget() override;
0025 
0026         VideoDVDTitleTranscodingJob::VideoCodec selectedVideoCodec() const;
0027         VideoDVDTitleTranscodingJob::AudioCodec selectedAudioCodec() const;
0028         int selectedAudioBitrate() const;
0029         QSize selectedPictureSize() const;
0030 
0031         void setSelectedVideoCodec( VideoDVDTitleTranscodingJob::VideoCodec codec );
0032         void setSelectedAudioCodec( VideoDVDTitleTranscodingJob::AudioCodec codec );
0033         void setSelectedAudioBitrate( int bitrate );
0034         void setSelectedPictureSize( const QSize& );
0035 
0036         void setNeededSize( KIO::filesize_t );
0037 
0038     Q_SIGNALS:
0039         void changed();
0040 
0041     private Q_SLOTS:
0042         void slotUpdateFreeTempSpace();
0043         void slotSeeSpecialStrings();
0044         void slotAudioCodecChanged( int codec );
0045         void slotVideoSizeChanged( int sizeIndex );
0046         void slotCustomPictureSize();
0047 
0048     private:
0049         QTimer* m_freeSpaceUpdateTimer;
0050         qint64 m_neededSize;
0051 
0052         QSize m_customVideoSize;
0053     };
0054 }
0055 
0056 #endif