File indexing completed on 2024-05-05 04:51:48

0001 /*
0002     SPDX-FileCopyrightText: 2003-2004 Christian Kvasny <chris@k3b.org>
0003     SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef K3BVCDBURNDIALOG_H
0009 #define K3BVCDBURNDIALOG_H
0010 
0011 #include "k3bprojectburndialog.h"
0012 #include "k3bvcdoptions.h"
0013 
0014 class QCheckBox;
0015 class QGroupBox;
0016 class QSpinBox;
0017 class QRadioButton;
0018 class QLabel;
0019 class QLineEdit;
0020 class QTextEdit;
0021 namespace K3b {
0022     class VcdDoc;
0023 }
0024 class QButtonGroup;
0025 
0026 namespace K3b {
0027     class VcdBurnDialog : public ProjectBurnDialog
0028     {
0029         Q_OBJECT
0030 
0031     public:
0032         explicit VcdBurnDialog( VcdDoc* doc, QWidget *parent = 0 );
0033         ~VcdBurnDialog() override;
0034 
0035         VcdDoc* vcdDoc() const
0036         {
0037             return m_vcdDoc;
0038         }
0039 
0040     protected:
0041         void setupAdvancedTab();
0042         void setupVideoCdTab();
0043         void setupLabelTab();
0044         void saveSettingsToProject() override;
0045         void readSettingsFromProject() override;
0046 
0047         void loadSettings( const KConfigGroup& ) override;
0048         void saveSettings( KConfigGroup ) override;
0049 
0050         // -----------------------------------------------------------
0051         // the video-cd-tab
0052         // -----------------------------------------------------------
0053 
0054         QButtonGroup* m_buttonGroupVcdFormat;
0055         QGroupBox *m_groupVcdFormat;
0056         QRadioButton* m_radioVcd11;
0057         QRadioButton* m_radioVcd20;
0058         QRadioButton* m_radioSvcd10;
0059         QRadioButton* m_radioHqVcd10;
0060 
0061         QGroupBox* m_groupOptions;
0062         QCheckBox* m_checkAutoDetect;
0063         QCheckBox* m_checkNonCompliant;
0064         QCheckBox* m_checkVCD30interpretation;
0065         QCheckBox* m_check2336;
0066 
0067         // CD-i
0068         QGroupBox* m_groupCdi;
0069         QCheckBox* m_checkCdiSupport;
0070         QTextEdit* m_editCdiCfg;
0071 
0072 
0073         // -----------------------------------------------------------
0074         // the video-label-tab
0075         // -----------------------------------------------------------
0076 
0077         QLineEdit* m_editVolumeId;
0078         QLineEdit* m_editPublisher;
0079         QLineEdit* m_editAlbumId;
0080 
0081         QSpinBox* m_spinVolumeCount;
0082         QSpinBox* m_spinVolumeNumber;
0083 
0084         // -----------------------------------------------------------
0085         // the advanced-tab
0086         // -----------------------------------------------------------
0087 
0088         QGroupBox* m_groupGeneric;
0089         QGroupBox* m_groupGaps;
0090         QGroupBox* m_groupMisc;
0091 
0092         QCheckBox* m_checkPbc;
0093         QCheckBox* m_checkSegmentFolder;
0094         QCheckBox* m_checkRelaxedAps;
0095         QCheckBox* m_checkUpdateScanOffsets;
0096         QCheckBox* m_checkGaps;
0097 
0098         QSpinBox* m_spinRestriction;
0099         QSpinBox* m_spinPreGapLeadout;
0100         QSpinBox* m_spinPreGapTrack;
0101         QSpinBox* m_spinFrontMarginTrack;
0102         QSpinBox* m_spinRearMarginTrack;
0103         QSpinBox* m_spinFrontMarginTrackSVCD;
0104         QSpinBox* m_spinRearMarginTrackSVCD;
0105 
0106         QLabel* m_labelRestriction;
0107         QLabel* m_labelPreGapLeadout;
0108         QLabel* m_labelPreGapTrack;
0109         QLabel* m_labelFrontMarginTrack;
0110         QLabel* m_labelRearMarginTrack;
0111 
0112         // -----------------------------------------------------------
0113 
0114     private:
0115         VcdDoc* m_vcdDoc;
0116         void setVolumeID( );
0117         void MarginChecked( bool );
0118         void saveCdiConfig();
0119         void loadCdiConfig();
0120         void loadDefaultCdiConfig();
0121         void toggleAll() override;
0122 
0123     protected Q_SLOTS:
0124         void slotStartClicked() override;
0125 
0126         void slotGapsChecked( bool );
0127         void slotSpinVolumeCount();
0128         void slotVcdTypeClicked( K3b::VcdOptions::MPEGVersion );
0129         void slotCdiSupportChecked( bool );
0130         void slotAutoDetect( bool );
0131     };
0132 }
0133 
0134 #endif