home *** CD-ROM | disk | FTP | other *** search
- /*
- *
- * $Id: k3bisooptions.h 619556 2007-01-03 17:38:12Z trueg $
- * Copyright (C) 2003 Sebastian Trueg <trueg@k3b.org>
- *
- * This file is part of the K3b project.
- * Copyright (C) 1998-2007 Sebastian Trueg <trueg@k3b.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- * See the file "COPYING" for the exact licensing terms.
- */
-
- #ifndef K3B_ISO_OPTIONS_H
- #define K3B_ISO_OPTIONS_H
-
- #include <qstring.h>
- #include "k3b_export.h"
-
- class KConfigBase;
-
-
- class LIBK3B_EXPORT K3bIsoOptions
- {
- public:
- K3bIsoOptions();
-
- bool forceInputCharset() const { return m_bForceInputCharset; }
- const QString& inputCharset() const { return m_inputCharset; }
-
- void setForceInputCharset( bool b ) { m_bForceInputCharset = b; }
- void setInputCharset( const QString& cs ) { m_inputCharset = cs; }
-
-
- // -- mkisofs-options ----------------------------------------------------------------------
- bool createRockRidge() const { return m_createRockRidge; }
- bool createJoliet() const { return m_createJoliet; }
- bool createUdf() const { return m_createUdf; }
- bool ISOallowLowercase() const { return m_ISOallowLowercase || ISOuntranslatedFilenames(); }
- bool ISOallowPeriodAtBegin() const { return m_ISOallowPeriodAtBegin || ISOuntranslatedFilenames(); }
- bool ISOallow31charFilenames() const { return m_ISOallow31charFilenames || ISOmaxFilenameLength() || ISOuntranslatedFilenames(); }
- bool ISOomitVersionNumbers() const { return m_ISOomitVersionNumbers || ISOmaxFilenameLength(); }
- bool ISOomitTrailingPeriod() const { return m_ISOomitTrailingPeriod || ISOuntranslatedFilenames(); }
- bool ISOmaxFilenameLength() const { return m_ISOmaxFilenameLength || ISOuntranslatedFilenames(); }
- bool ISOrelaxedFilenames() const { return m_ISOrelaxedFilenames || ISOuntranslatedFilenames(); }
- bool ISOnoIsoTranslate() const { return m_ISOnoIsoTranslate; }
- bool ISOallowMultiDot() const { return m_ISOallowMultiDot || ISOuntranslatedFilenames(); }
- bool ISOuntranslatedFilenames() const { return m_ISOuntranslatedFilenames; }
- bool followSymbolicLinks() const { return m_followSymbolicLinks; }
- bool createTRANS_TBL() const { return m_createTRANS_TBL; }
- bool hideTRANS_TBL() const { return m_hideTRANS_TBL; }
- bool jolietLong() const { return m_jolietLong; }
-
- bool preserveFilePermissions() const { return m_preserveFilePermissions; }
-
- int ISOLevel() const { return m_isoLevel; }
- const QString& systemId() const { return m_systemId; }
- const QString& applicationID() const { return m_applicationID; }
- const QString& volumeID() const { return m_volumeID; }
- const QString& volumeSetId() const { return m_volumeSetId; }
- int volumeSetSize() const { return m_volumeSetSize; }
- int volumeSetNumber() const { return m_volumeSetNumber; }
- const QString& publisher() const { return m_publisher; }
- const QString& preparer() const { return m_preparer; }
- const QString& abstractFile() const { return m_abstractFile; }
- const QString& copyrightFile() const { return m_copyrightFile; }
- const QString& bibliographFile() const { return m_bibliographFile; }
-
- void setCreateRockRidge( bool b ) { m_createRockRidge = b; }
- void setCreateJoliet( bool b ) { m_createJoliet = b; }
- void setCreateUdf( bool b ) { m_createUdf = b; }
- void setISOallowLowercase( bool b ) { m_ISOallowLowercase = b; }
- void setISOallowPeriodAtBegin( bool b ) { m_ISOallowPeriodAtBegin = b; }
- void setISOallow31charFilenames( bool b ) { m_ISOallow31charFilenames = b; }
- void setISOomitVersionNumbers( bool b ) { m_ISOomitVersionNumbers = b; }
- void setISOomitTrailingPeriod( bool b ) { m_ISOomitTrailingPeriod = b; }
- void setISOmaxFilenameLength( bool b ) { m_ISOmaxFilenameLength = b; }
- void setISOrelaxedFilenames( bool b ) { m_ISOrelaxedFilenames = b; }
- void setISOnoIsoTranslate( bool b ) { m_ISOnoIsoTranslate = b; }
- void setISOallowMultiDot( bool b ) { m_ISOallowMultiDot = b; }
- void setISOuntranslatedFilenames( bool b ) { m_ISOuntranslatedFilenames = b; }
- void setFollowSymbolicLinks( bool b ) { m_followSymbolicLinks = b; }
- void setCreateTRANS_TBL( bool b ) { m_createTRANS_TBL = b; }
- void setHideTRANS_TBL( bool b ) { m_hideTRANS_TBL = b; }
- void setJolietLong( bool b ) { m_jolietLong = b; }
-
- void setISOLevel( int i ) { m_isoLevel = i; }
- void setSystemId( const QString& s ) { m_systemId = s; }
- void setApplicationID( const QString& s ) { m_applicationID = s; }
-
- /**
- * Set the filesystems volume id.
- *
- * max length for this field is 32 chars.
- */
- void setVolumeID( const QString& s ) { m_volumeID = s; }
- void setVolumeSetId( const QString& s ) { m_volumeSetId = s; }
- void setVolumeSetSize( int size ) { m_volumeSetSize = size; }
- void setVolumeSetNumber( int n ) { m_volumeSetNumber = n; }
- void setPublisher( const QString& s ) { m_publisher = s; }
- void setPreparer( const QString& s ) { m_preparer = s; }
- void setAbstractFile( const QString& s ) { m_abstractFile = s; }
- void setCoprightFile( const QString& s ) { m_copyrightFile = s; }
- void setBibliographFile( const QString& s ) { m_bibliographFile = s; }
-
- void setPreserveFilePermissions( bool b ) { m_preserveFilePermissions = b; }
- // ----------------------------------------------------------------- mkisofs-options -----------
-
- enum whiteSpaceTreatments { noChange = 0, replace = 1, strip = 2, extended = 3 };
-
- void setWhiteSpaceTreatment( int i ) { m_whiteSpaceTreatment = i; }
- int whiteSpaceTreatment() const { return m_whiteSpaceTreatment; }
- const QString& whiteSpaceTreatmentReplaceString() const { return m_whiteSpaceTreatmentReplaceString; }
- void setWhiteSpaceTreatmentReplaceString( const QString& s ) { m_whiteSpaceTreatmentReplaceString = s; }
-
- bool discardSymlinks() const { return m_discardSymlinks; }
- void setDiscardSymlinks( bool b ) { m_discardSymlinks = b; }
-
- bool discardBrokenSymlinks() const { return m_discardBrokenSymlinks; }
- void setDiscardBrokenSymlinks( bool b ) { m_discardBrokenSymlinks = b; }
-
- bool doNotCacheInodes() const { return m_doNotCacheInodes; }
- void setDoNotCacheInodes( bool b ) { m_doNotCacheInodes = b; }
-
- void save( KConfigBase* c, bool saveVolumeDesc = true );
-
- static K3bIsoOptions load( KConfigBase* c, bool loadVolumeDesc = true );
- static K3bIsoOptions defaults();
-
- private:
- // volume descriptor
- QString m_volumeID;
- QString m_applicationID;
- QString m_preparer;
- QString m_publisher;
- QString m_systemId;
- QString m_volumeSetId;
- QString m_abstractFile;
- QString m_copyrightFile;
- QString m_bibliographFile;
-
- int m_volumeSetSize;
- int m_volumeSetNumber;
-
- bool m_bForceInputCharset;
- QString m_inputCharset;
-
- // mkisofs options -------------------------------------
- bool m_createRockRidge; // -r or -R
- bool m_createJoliet; // -J
- bool m_createUdf; // -udf
- bool m_ISOallowLowercase; // -allow-lowercase
- bool m_ISOallowPeriodAtBegin; // -L
- bool m_ISOallow31charFilenames; // -I
- bool m_ISOomitVersionNumbers; // -N
- bool m_ISOomitTrailingPeriod; // -d
- bool m_ISOmaxFilenameLength; // -max-iso9660-filenames (forces -N)
- bool m_ISOrelaxedFilenames; // -relaxed-filenames
- bool m_ISOnoIsoTranslate; // -no-iso-translate
- bool m_ISOallowMultiDot; // -allow-multidot
- bool m_ISOuntranslatedFilenames; // -U (forces -d, -I, -L, -N, -relaxed-filenames, -allow-lowercase, -allow-multidot, -no-iso-translate)
- bool m_followSymbolicLinks; // -f
- bool m_createTRANS_TBL; // -T
- bool m_hideTRANS_TBL; // -hide-joliet-trans-tbl
-
- bool m_preserveFilePermissions; // if true -R instead of -r is used
- bool m_jolietLong;
-
- bool m_doNotCacheInodes;
-
- int m_isoLevel;
-
-
- int m_whiteSpaceTreatment;
- QString m_whiteSpaceTreatmentReplaceString;
-
- bool m_discardSymlinks;
- bool m_discardBrokenSymlinks;
- };
-
- #endif
-