File indexing completed on 2024-05-05 04:51:43
0001 /* 0002 SPDX-FileCopyrightText: 2003-2009 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-FileCopyrightText: 2010 Michal Malek <michalm@jabster.pl> 0004 SPDX-FileCopyrightText: 1998-2010 Sebastian Trueg <trueg@k3b.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "k3bdataadvancedimagesettingsdialog.h" 0010 #include "k3bisooptions.h" 0011 0012 #include <KLocalizedString> 0013 0014 #include <QDebug> 0015 #include <QCheckBox> 0016 #include <QDialogButtonBox> 0017 #include <QRadioButton> 0018 0019 0020 K3b::DataAdvancedImageSettingsDialog::DataAdvancedImageSettingsDialog( QWidget* parent ) 0021 : QDialog( parent ) 0022 { 0023 setupUi( this ); 0024 0025 setWindowTitle(i18n("Custom Data Project Filesystems")); 0026 setModal(true); 0027 0028 connect( m_checkRockRidge, SIGNAL(toggled(bool)), m_groupRockRidgeSettings, SLOT(setEnabled(bool)) ); 0029 connect( m_checkJoliet, SIGNAL(toggled(bool)), m_groupJolietSettings, SLOT(setEnabled(bool)) ); 0030 } 0031 0032 0033 K3b::DataAdvancedImageSettingsDialog::~DataAdvancedImageSettingsDialog() 0034 { 0035 } 0036 0037 0038 void K3b::DataAdvancedImageSettingsDialog::load( const K3b::IsoOptions& options ) 0039 { 0040 m_checkRockRidge->setChecked( options.createRockRidge() ); 0041 m_checkJoliet->setChecked( options.createJoliet() ); 0042 m_checkUdf->setChecked( options.createUdf() ); 0043 0044 switch( options.ISOLevel() ) { 0045 case 1: 0046 m_radioIsoLevel1->setChecked(true); 0047 break; 0048 case 2: 0049 m_radioIsoLevel2->setChecked(true); 0050 break; 0051 case 3: 0052 m_radioIsoLevel3->setChecked(true); 0053 break; 0054 } 0055 0056 m_checkPreservePermissions->setChecked( options.preserveFilePermissions() ); 0057 0058 // RR settings 0059 m_checkCreateTransTbl->setChecked( options.createTRANS_TBL() ); 0060 m_checkHideTransTbl->setChecked( options.hideTRANS_TBL() ); 0061 0062 // iso9660 settings 0063 m_checkAllowUntranslatedFilenames->setChecked( options.ISOuntranslatedFilenames() ); 0064 m_checkAllow31CharFilenames->setChecked( options.ISOallow31charFilenames() ); 0065 m_checkAllowMaxLengthFilenames->setChecked( options.ISOmaxFilenameLength() ); 0066 m_checkAllowBeginningPeriod->setChecked( options.ISOallowPeriodAtBegin() ); 0067 m_checkAllowFullAscii->setChecked( options.ISOrelaxedFilenames() ); 0068 m_checkOmitVersionNumbers->setChecked( options.ISOomitVersionNumbers() ); 0069 m_checkOmitTrailingPeriod->setChecked( options.ISOomitTrailingPeriod() ); 0070 m_checkAllowOther->setChecked( options.ISOnoIsoTranslate() ); 0071 m_checkAllowMultiDot->setChecked( options.ISOallowMultiDot() ); 0072 m_checkAllowLowercaseCharacters->setChecked( options.ISOallowLowercase() ); 0073 0074 // joliet settings 0075 m_checkJolietLong->setChecked( options.jolietLong() ); 0076 0077 // misc (FIXME: should not be here) 0078 m_checkDoNotCacheInodes->setChecked( options.doNotCacheInodes() ); 0079 m_checkDoNotImportSession->setChecked( options.doNotImportSession() ); 0080 } 0081 0082 0083 void K3b::DataAdvancedImageSettingsDialog::save( K3b::IsoOptions& options ) 0084 { 0085 options.setCreateRockRidge( m_checkRockRidge->isChecked() ); 0086 options.setCreateJoliet( m_checkJoliet->isChecked() ); 0087 options.setCreateUdf( m_checkUdf->isChecked() ); 0088 0089 // save iso-level 0090 if( m_radioIsoLevel3->isChecked() ) 0091 options.setISOLevel( 3 ); 0092 else if( m_radioIsoLevel2->isChecked() ) 0093 options.setISOLevel( 2 ); 0094 else 0095 options.setISOLevel( 1 ); 0096 0097 options.setPreserveFilePermissions( m_checkPreservePermissions->isChecked() ); 0098 0099 options.setCreateTRANS_TBL( m_checkCreateTransTbl->isChecked() ); 0100 options.setHideTRANS_TBL( m_checkHideTransTbl->isChecked() ); 0101 options.setISOuntranslatedFilenames( m_checkAllowUntranslatedFilenames->isChecked() ); 0102 options.setISOallow31charFilenames( m_checkAllow31CharFilenames->isChecked() ); 0103 options.setISOmaxFilenameLength( m_checkAllowMaxLengthFilenames->isChecked() ); 0104 options.setISOallowPeriodAtBegin( m_checkAllowBeginningPeriod->isChecked() ); 0105 options.setISOrelaxedFilenames( m_checkAllowFullAscii->isChecked() ); 0106 options.setISOomitVersionNumbers( m_checkOmitVersionNumbers->isChecked() ); 0107 options.setISOomitTrailingPeriod( m_checkOmitTrailingPeriod->isChecked() ); 0108 options.setISOnoIsoTranslate( m_checkAllowOther->isChecked() ); 0109 options.setISOallowMultiDot( m_checkAllowMultiDot->isChecked() ); 0110 options.setISOallowLowercase( m_checkAllowLowercaseCharacters->isChecked() ); 0111 // o.setFollowSymbolicLinks( m_checkFollowSymbolicLinks->isChecked() ); 0112 options.setJolietLong( m_checkJolietLong->isChecked() ); 0113 options.setDoNotCacheInodes( m_checkDoNotCacheInodes->isChecked() ); 0114 options.setDoNotImportSession( m_checkDoNotImportSession->isChecked() ); 0115 } 0116 0117 #include "moc_k3bdataadvancedimagesettingsdialog.cpp"