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