bool K3bVideoDvdDoc::newDocument() { if( K3bDataDoc::newDocument() ) { // K3bDataDoc::newDocument already deleted m_videoTsDir (again: bad design!) m_videoTsDir = new K3bDirItem( "VIDEO_TS", this, root() ); m_videoTsDir->setRemoveable(false); m_videoTsDir->setRenameable(false); m_videoTsDir->setMoveable(false); m_videoTsDir->setHideable(false); K3bDirItem* audioTsDir = new K3bDirItem( "AUDIO_TS", this, root() ); audioTsDir->setRemoveable(false); audioTsDir->setRenameable(false); audioTsDir->setMoveable(false); audioTsDir->setHideable(false); setMultiSessionMode( NONE ); setModified( false ); return true; } else return false; }
bool K3b::DataDoc::loadDocumentDataOptions( QDomElement elem ) { QDomNodeList headerList = elem.childNodes(); for( int i = 0; i < headerList.count(); i++ ) { QDomElement e = headerList.item(i).toElement(); if( e.isNull() ) return false; if( e.nodeName() == "rock_ridge") d->isoOptions.setCreateRockRidge( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "joliet") d->isoOptions.setCreateJoliet( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "udf") d->isoOptions.setCreateUdf( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "joliet_allow_103_characters") d->isoOptions.setJolietLong( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_allow_lowercase") d->isoOptions.setISOallowLowercase( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_allow_period_at_begin") d->isoOptions.setISOallowPeriodAtBegin( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_allow_31_char") d->isoOptions.setISOallow31charFilenames( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_omit_version_numbers") d->isoOptions.setISOomitVersionNumbers( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_omit_trailing_period") d->isoOptions.setISOomitTrailingPeriod( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_max_filename_length") d->isoOptions.setISOmaxFilenameLength( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_relaxed_filenames") d->isoOptions.setISOrelaxedFilenames( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_no_iso_translate") d->isoOptions.setISOnoIsoTranslate( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_allow_multidot") d->isoOptions.setISOallowMultiDot( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_untranslated_filenames") d->isoOptions.setISOuntranslatedFilenames( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "follow_symbolic_links") d->isoOptions.setFollowSymbolicLinks( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "create_trans_tbl") d->isoOptions.setCreateTRANS_TBL( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "hide_trans_tbl") d->isoOptions.setHideTRANS_TBL( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "iso_level") d->isoOptions.setISOLevel( e.text().toInt() ); else if( e.nodeName() == "discard_symlinks") d->isoOptions.setDiscardSymlinks( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "discard_broken_symlinks") d->isoOptions.setDiscardBrokenSymlinks( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "preserve_file_permissions") d->isoOptions.setPreserveFilePermissions( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "do_not_cache_inodes" ) d->isoOptions.setDoNotCacheInodes( e.attributeNode( "activated" ).value() == "yes" ); else if( e.nodeName() == "whitespace_treatment" ) { if( e.text() == "strip" ) d->isoOptions.setWhiteSpaceTreatment( K3b::IsoOptions::strip ); else if( e.text() == "extended" ) d->isoOptions.setWhiteSpaceTreatment( K3b::IsoOptions::extended ); else if( e.text() == "extended" ) d->isoOptions.setWhiteSpaceTreatment( K3b::IsoOptions::replace ); else d->isoOptions.setWhiteSpaceTreatment( K3b::IsoOptions::noChange ); } else if( e.nodeName() == "whitespace_replace_string") d->isoOptions.setWhiteSpaceTreatmentReplaceString( e.text() ); else if( e.nodeName() == "data_track_mode" ) { if( e.text() == "mode1" ) d->dataMode = K3b::DataMode1; else if( e.text() == "mode2" ) d->dataMode = K3b::DataMode2; else d->dataMode = K3b::DataModeAuto; } else if( e.nodeName() == "multisession" ) { QString mode = e.text(); if( mode == "start" ) setMultiSessionMode( START ); else if( mode == "continue" ) setMultiSessionMode( CONTINUE ); else if( mode == "finish" ) setMultiSessionMode( FINISH ); else if( mode == "none" ) setMultiSessionMode( NONE ); else setMultiSessionMode( AUTO ); } else if( e.nodeName() == "verify_data" ) setVerifyData( e.attributeNode( "activated" ).value() == "yes" ); else qDebug() << "(K3b::DataDoc) unknown option entry: " << e.nodeName(); } return true; }