/****************************************************************************
** Form implementation generated from reading ui file 'CdboIsoOptBase.ui'
**
** Created: Mon Apr 29 02:20:31 2002
**      by:  The User Interface Compiler (uic)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#include "CdboIsoOptBase.h"
#include "CdboIsoOptBase.moc"

#include <qvariant.h>
#include <qbuttongroup.h>
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qframe.h>
#include <qgroupbox.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qpushbutton.h>
#include <qradiobutton.h>
#include <qspinbox.h>
#include <qtabwidget.h>
#include <qwidget.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>

/* 
 *  Constructs a CdboIsoOptBase which is a child of 'parent', with the 
 *  name 'name'.' 
 */
CdboIsoOptBase::CdboIsoOptBase( QWidget* parent,  const char* name )
    : KCModule( parent, name )
{
    if ( !name )
	setName( "CdboIsoOptBase" );
    resize( 585, 491 ); 
    setMinimumSize( QSize( 585, 440 ) );
    setCaption( trUtf8( "New CD Settings" ) );
    CdboIsoOptBaseLayout = new QVBoxLayout( this, 0, 6, "CdboIsoOptBaseLayout"); 

    isoOptTbs = new QTabWidget( this, "isoOptTbs" );
    isoOptTbs->setTabShape( QTabWidget::Rounded );

    imageTab = new QWidget( isoOptTbs, "imageTab" );
    imageTabLayout = new QGridLayout( imageTab, 1, 1, 9, 6, "imageTabLayout"); 

    cdda2wavPnl = new QButtonGroup( imageTab, "cdda2wavPnl" );
    cdda2wavPnl->setTitle( trUtf8( "CD Type" ) );
    cdda2wavPnl->setColumnLayout(0, Qt::Vertical );
    cdda2wavPnl->layout()->setSpacing( 4 );
    cdda2wavPnl->layout()->setMargin( 10 );
    cdda2wavPnlLayout = new QVBoxLayout( cdda2wavPnl->layout() );
    cdda2wavPnlLayout->setAlignment( Qt::AlignTop );

    linuxRBtn = new QRadioButton( cdda2wavPnl, "linuxRBtn" );
    linuxRBtn->setText( trUtf8( "&Linux" ) );
    linuxRBtn->setChecked( TRUE );
    QToolTip::add( linuxRBtn, trUtf8( "Linux type (\"Relaxed\")." ) );
    cdda2wavPnlLayout->addWidget( linuxRBtn );

    linwinRBtn = new QRadioButton( cdda2wavPnl, "linwinRBtn" );
    linwinRBtn->setText( trUtf8( "Linux &&  Windows" ) );
    QToolTip::add( linwinRBtn, trUtf8( "Chose this type if you want your CD to work on most OS." ) );
    cdda2wavPnlLayout->addWidget( linwinRBtn );

    customRBtn = new QRadioButton( cdda2wavPnl, "customRBtn" );
    customRBtn->setText( trUtf8( "Custom" ) );
    QToolTip::add( customRBtn, trUtf8( "Custom CD type -- you create your own CD." ) );
    cdda2wavPnlLayout->addWidget( customRBtn );

    Line3 = new QFrame( cdda2wavPnl, "Line3" );
    Line3->setProperty( "frameShape", (int)QFrame::HLine );
    Line3->setFrameShadow( QFrame::Sunken );
    Line3->setFrameShape( QFrame::HLine );
    cdda2wavPnlLayout->addWidget( Line3 );

    hybridChk = new QCheckBox( cdda2wavPnl, "hybridChk" );
    hybridChk->setText( trUtf8( "ISO 9960/HFS hybrid" ) );
    QToolTip::add( hybridChk, trUtf8( "ISO 9960/HFS hybrid." ) );
    cdda2wavPnlLayout->addWidget( hybridChk );

    imageTabLayout->addWidget( cdda2wavPnl, 0, 0 );

    sessionPropertiesPnl = new QButtonGroup( imageTab, "sessionPropertiesPnl" );
    sessionPropertiesPnl->setEnabled( TRUE );
    sessionPropertiesPnl->setTitle( trUtf8( "Session Properties" ) );
    sessionPropertiesPnl->setColumnLayout(0, Qt::Vertical );
    sessionPropertiesPnl->layout()->setSpacing( 5 );
    sessionPropertiesPnl->layout()->setMargin( 10 );
    sessionPropertiesPnlLayout = new QGridLayout( sessionPropertiesPnl->layout() );
    sessionPropertiesPnlLayout->setAlignment( Qt::AlignTop );

    singleSesRBtn = new QRadioButton( sessionPropertiesPnl, "singleSesRBtn" );
    singleSesRBtn->setText( trUtf8( "Single-Session" ) );
    QToolTip::add( singleSesRBtn, trUtf8( "Create a stand alone ISO Image or CD." ) );

    sessionPropertiesPnlLayout->addWidget( singleSesRBtn, 0, 0 );

    multiSesRBtn = new QRadioButton( sessionPropertiesPnl, "multiSesRBtn" );
    multiSesRBtn->setText( trUtf8( "Multi-Session" ) );
    QToolTip::add( multiSesRBtn, trUtf8( "Create ISO Image that is a part of a <b></b>multi-session CD." ) );

    sessionPropertiesPnlLayout->addWidget( multiSesRBtn, 0, 1 );

    forceRRChk = new QCheckBox( sessionPropertiesPnl, "forceRRChk" );
    forceRRChk->setText( trUtf8( "Force Rock Ridge" ) );
    QToolTip::add( forceRRChk, trUtf8( "Do not use the automatic Rock Ridge attributes recognition for previous <b></b>sessions." ) );

    sessionPropertiesPnlLayout->addMultiCellWidget( forceRRChk, 4, 4, 0, 1 );

    checkOldNamesChk = new QCheckBox( sessionPropertiesPnl, "checkOldNamesChk" );
    checkOldNamesChk->setText( trUtf8( "Check old sessions names" ) );
    QToolTip::add( checkOldNamesChk, trUtf8( "Check all filenames imported from old session for compliance with actual mkisofs iso9660 file naming <b></b>rules." ) );

    sessionPropertiesPnlLayout->addMultiCellWidget( checkOldNamesChk, 3, 3, 0, 1 );

    chkOldSesChk = new QCheckBox( sessionPropertiesPnl, "chkOldSesChk" );
    chkOldSesChk->setText( trUtf8( "Check old sessions" ) );
    QToolTip::add( chkOldSesChk, trUtf8( "Check all old sessions for compliance with actual mkisofs iso9660 file naming rules." ) );

    sessionPropertiesPnlLayout->addMultiCellWidget( chkOldSesChk, 2, 2, 0, 1 );

    Line7 = new QFrame( sessionPropertiesPnl, "Line7" );
    Line7->setProperty( "frameShape", (int)QFrame::HLine );
    Line7->setFrameShadow( QFrame::Sunken );
    Line7->setFrameShape( QFrame::HLine );

    sessionPropertiesPnlLayout->addMultiCellWidget( Line7, 1, 1, 0, 1 );

    imageTabLayout->addWidget( sessionPropertiesPnl, 0, 1 );

    imagePnl = new QButtonGroup( imageTab, "imagePnl" );
    imagePnl->setTitle( trUtf8( "Image Settings" ) );
    imagePnl->setColumnLayout(0, Qt::Vertical );
    imagePnl->layout()->setSpacing( 6 );
    imagePnl->layout()->setMargin( 11 );
    imagePnlLayout = new QGridLayout( imagePnl->layout() );
    imagePnlLayout->setAlignment( Qt::AlignTop );

    noDeepChk = new QCheckBox( imagePnl, "noDeepChk" );
    noDeepChk->setText( trUtf8( "No deep directory relocation" ) );
    QToolTip::add( noDeepChk, trUtf8( "Do not use deep directory relocation,<br>and instead just pack directories in the way we see them." ) );

    imagePnlLayout->addWidget( noDeepChk, 0, 4 );

    isoOptLbl = new QLabel( imagePnl, "isoOptLbl" );
    isoOptLbl->setText( trUtf8( "Custom 'mkisofs' options:" ) );

    imagePnlLayout->addMultiCellWidget( isoOptLbl, 5, 5, 0, 1 );

    hfsChk = new QCheckBox( imagePnl, "hfsChk" );
    hfsChk->setText( trUtf8( "HFS" ) );
    QToolTip::add( hfsChk, trUtf8( "Create an ISO9660/HFS hybrid CD. This<b></b> option may be used only in conjunction with Probe option, located in Extras. It is recommended to use Apple option instead." ) );

    imagePnlLayout->addMultiCellWidget( hfsChk, 2, 2, 0, 2 );

    imageNameTxt = new QLineEdit( imagePnl, "imageNameTxt" );
    imageNameTxt->setText( trUtf8( "cdboImage_<DATE>.iso" ) );
    QToolTip::add( imageNameTxt, trUtf8( "This name will be given to the new image.<br>Note that empty spaces will be replaced with underscores and .iso extension will be added if not present already." ) );

    imagePnlLayout->addMultiCellWidget( imageNameTxt, 4, 4, 1, 5 );

    rockRidgeChk = new QCheckBox( imagePnl, "rockRidgeChk" );
    rockRidgeChk->setText( trUtf8( "&Rock Ridge" ) );
    QToolTip::add( rockRidgeChk, trUtf8( "Generate SUSP and RR records using the Rock Ridge protocol<br>to further describe the files on the iso9660 filesystem." ) );

    imagePnlLayout->addMultiCellWidget( rockRidgeChk, 0, 0, 0, 2 );

    generateTablsChk = new QCheckBox( imagePnl, "generateTablsChk" );
    generateTablsChk->setText( trUtf8( "Generate TRANS.TBL files" ) );
    QToolTip::add( generateTablsChk, trUtf8( "Generate a file TRANS.TBL in each directory<br>on the CDROM, which can be used on non-Rock Ridge capable systems to help establish the correct file names." ) );

    imagePnlLayout->addWidget( generateTablsChk, 2, 4 );

    TextLabel1 = new QLabel( imagePnl, "TextLabel1" );
    TextLabel1->setText( trUtf8( "Image name:" ) );

    imagePnlLayout->addWidget( TextLabel1, 4, 0 );

    extraOptTxt = new QLineEdit( imagePnl, "extraOptTxt" );
    QToolTip::add( extraOptTxt, trUtf8( "Add custom mkisofs options." ) );

    imagePnlLayout->addMultiCellWidget( extraOptTxt, 5, 5, 2, 5 );

    appleChk = new QCheckBox( imagePnl, "appleChk" );
    appleChk->setText( trUtf8( "Apple" ) );
    QToolTip::add( appleChk, trUtf8( "Create an ISO9660 CD with Apple's extensions.<br>Similar to the HFS option, except that the Apple Extensions are added to ISO9660 instead of creating an HFS hybrid volume." ) );

    imagePnlLayout->addWidget( appleChk, 3, 0 );

    followSymChk = new QCheckBox( imagePnl, "followSymChk" );
    followSymChk->setText( trUtf8( "Follow symbolic links" ) );
    QToolTip::add( followSymChk, trUtf8( "Follow symbolic links<br>when generating the filesystem." ) );

    imagePnlLayout->addWidget( followSymChk, 3, 4 );

    jolietChk = new QCheckBox( imagePnl, "jolietChk" );
    jolietChk->setText( trUtf8( "&Joliet extension" ) );
    QToolTip::add( jolietChk, trUtf8( "Generate Joliet directory records<br>in addition to regular iso9660 file names." ) );

    imagePnlLayout->addMultiCellWidget( jolietChk, 1, 1, 0, 2 );

    relaxedNamesChk = new QCheckBox( imagePnl, "relaxedNamesChk" );
    relaxedNamesChk->setText( trUtf8( "Relaxed filenames" ) );
    QToolTip::add( relaxedNamesChk, trUtf8( "This options allows long (31<nobr> character)<br>filenames to begin with a period, include<br>lower case characters, and more<br>than one dot." ) );

    imagePnlLayout->addWidget( relaxedNamesChk, 1, 4 );

    imageTabLayout->addMultiCellWidget( imagePnl, 1, 1, 0, 1 );
    QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
    imageTabLayout->addItem( spacer, 2, 1 );
    isoOptTbs->insertTab( imageTab, trUtf8( "Settings" ) );

    extrasTab = new QWidget( isoOptTbs, "extrasTab" );
    extrasTabLayout = new QGridLayout( extrasTab, 1, 1, 11, 6, "extrasTabLayout"); 

    filenamePnl = new QButtonGroup( extrasTab, "filenamePnl" );
    filenamePnl->setTitle( trUtf8( "Filename Options" ) );
    filenamePnl->setColumnLayout(0, Qt::Vertical );
    filenamePnl->layout()->setSpacing( 6 );
    filenamePnl->layout()->setMargin( 11 );
    filenamePnlLayout = new QGridLayout( filenamePnl->layout() );
    filenamePnlLayout->setAlignment( Qt::AlignTop );

    beginPeriodChk = new QCheckBox( filenamePnl, "beginPeriodChk" );
    beginPeriodChk->setText( trUtf8( "Allow filenames to begin with a period" ) );
    QToolTip::add( beginPeriodChk, trUtf8( "Allow ISO9660 filenames to begin with a period." ) );

    filenamePnlLayout->addWidget( beginPeriodChk, 1, 0 );

    untransFNmamesChk = new QCheckBox( filenamePnl, "untransFNmamesChk" );
    untransFNmamesChk->setText( trUtf8( "Allow untranslated filenames" ) );
    QToolTip::add( untransFNmamesChk, trUtf8( "Allows \"Untranslated\" filenames,<br>completely violating the iso9660 standards. Overrides all other filename options. Use with extreme care." ) );

    filenamePnlLayout->addWidget( untransFNmamesChk, 0, 0 );

    longFNamesChk = new QCheckBox( filenamePnl, "longFNamesChk" );
    longFNamesChk->setText( trUtf8( "Allow long filenames" ) );
    QToolTip::add( longFNamesChk, trUtf8( "Allow full 31 character filenames." ) );

    filenamePnlLayout->addWidget( longFNamesChk, 2, 0 );

    omitTrailChk = new QCheckBox( filenamePnl, "omitTrailChk" );
    omitTrailChk->setText( trUtf8( "Allow trailing period" ) );
    QToolTip::add( omitTrailChk, trUtf8( "Allow trailing period on<br>files that do not have a period." ) );

    filenamePnlLayout->addWidget( omitTrailChk, 0, 1 );

    lowercaseChk = new QCheckBox( filenamePnl, "lowercaseChk" );
    lowercaseChk->setText( trUtf8( "Allow lower case filenames" ) );
    QToolTip::add( lowercaseChk, trUtf8( "This options allows lower case characters<br>to appear in iso9660 filenames." ) );

    filenamePnlLayout->addWidget( lowercaseChk, 1, 1 );

    multiDotChk = new QCheckBox( filenamePnl, "multiDotChk" );
    multiDotChk->setText( trUtf8( "Allow multidot filenames" ) );
    QToolTip::add( multiDotChk, trUtf8( "This <b></b>options allows more than one dot to appear in iso9660 filenames. " ) );

    filenamePnlLayout->addWidget( multiDotChk, 2, 1 );

    extrasTabLayout->addWidget( filenamePnl, 1, 0 );

    bootPnl = new QGroupBox( extrasTab, "bootPnl" );
    bootPnl->setTitle( trUtf8( "'ElTorito'  - Bootable CD Options" ) );
    bootPnl->setColumnLayout(0, Qt::Vertical );
    bootPnl->layout()->setSpacing( 6 );
    bootPnl->layout()->setMargin( 11 );
    bootPnlLayout = new QGridLayout( bootPnl->layout() );
    bootPnlLayout->setAlignment( Qt::AlignTop );

    bootCatalogBrowseBtn = new QPushButton( bootPnl, "bootCatalogBrowseBtn" );
    bootCatalogBrowseBtn->setText( trUtf8( "..." ) );
    QToolTip::add( bootCatalogBrowseBtn, trUtf8( "Open file dialog." ) );

    bootPnlLayout->addWidget( bootCatalogBrowseBtn, 2, 5 );

    bootBrowseBtn = new QPushButton( bootPnl, "bootBrowseBtn" );
    bootBrowseBtn->setText( trUtf8( "..." ) );
    QToolTip::add( bootBrowseBtn, trUtf8( "Open file dialog." ) );

    bootPnlLayout->addWidget( bootBrowseBtn, 1, 5 );

    bootImgTypeCmb = new QComboBox( FALSE, bootPnl, "bootImgTypeCmb" );
    bootImgTypeCmb->insertItem( trUtf8( "Floppy Image" ) );
    bootImgTypeCmb->insertItem( trUtf8( "Hard Disk Image" ) );
    bootImgTypeCmb->insertItem( trUtf8( "'No emulation' Image" ) );
    QToolTip::add( bootImgTypeCmb, trUtf8( "Specifies type of the boot image used to create \"El Torito\" bootable CD<b></b>." ) );

    bootPnlLayout->addMultiCellWidget( bootImgTypeCmb, 0, 0, 4, 5 );

    bcLbl = new QLabel( bootPnl, "bcLbl" );
    bcLbl->setText( trUtf8( "Boot catalog:" ) );

    bootPnlLayout->addWidget( bcLbl, 2, 0 );
    QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
    bootPnlLayout->addItem( spacer_2, 0, 2 );

    bootableChk = new QCheckBox( bootPnl, "bootableChk" );
    bootableChk->setText( trUtf8( "Bootable CD" ) );
    QToolTip::add( bootableChk, trUtf8( "Create bootable CD. Please note that both<b></b> boot image and catalog must be present in order to make bootable CD." ) );

    bootPnlLayout->addMultiCellWidget( bootableChk, 0, 0, 0, 1 );

    bootImgTypeLbl = new QLabel( bootPnl, "bootImgTypeLbl" );
    bootImgTypeLbl->setText( trUtf8( "Boot image type:" ) );

    bootPnlLayout->addWidget( bootImgTypeLbl, 0, 3 );

    bootCatalogLbl = new QLabel( bootPnl, "bootCatalogLbl" );
    bootCatalogLbl->setFrameShape( QLabel::Box );
    bootCatalogLbl->setFrameShadow( QLabel::Raised );
    bootCatalogLbl->setText( trUtf8( "" ) );
    QToolTip::add( bootCatalogLbl, trUtf8( "Specify boot catalog to be used when creating bootable CD. This file is <b>required</b> to make a bootable CD." ) );

    bootPnlLayout->addMultiCellWidget( bootCatalogLbl, 2, 2, 1, 4 );

    biLbl = new QLabel( bootPnl, "biLbl" );
    biLbl->setText( trUtf8( "Boot image:" ) );

    bootPnlLayout->addWidget( biLbl, 1, 0 );

    bootLbl = new QLabel( bootPnl, "bootLbl" );
    bootLbl->setFrameShape( QLabel::Box );
    bootLbl->setFrameShadow( QLabel::Raised );
    bootLbl->setText( trUtf8( "" ) );
    QToolTip::add( bootLbl, trUtf8( "Specify boot image file. This file is <b>required</b> to make a bootable CD." ) );

    bootPnlLayout->addMultiCellWidget( bootLbl, 1, 1, 1, 4 );

    extrasTabLayout->addWidget( bootPnl, 2, 0 );
    QSpacerItem* spacer_3 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
    extrasTabLayout->addItem( spacer_3, 3, 0 );

    GroupBox6_2 = new QGroupBox( extrasTab, "GroupBox6_2" );
    GroupBox6_2->setTitle( trUtf8( "Specialized Options" ) );
    GroupBox6_2->setColumnLayout(0, Qt::Vertical );
    GroupBox6_2->layout()->setSpacing( 6 );
    GroupBox6_2->layout()->setMargin( 11 );
    GroupBox6_2Layout = new QGridLayout( GroupBox6_2->layout() );
    GroupBox6_2Layout->setAlignment( Qt::AlignTop );

    multivoluemedChk = new QCheckBox( GroupBox6_2, "multivoluemedChk" );
    multivoluemedChk->setText( trUtf8( "Multi-Volumed Set" ) );
    QToolTip::add( multivoluemedChk, trUtf8( "Use if this CD is a part of CD set." ) );

    GroupBox6_2Layout->addWidget( multivoluemedChk, 1, 0 );

    probeChk = new QCheckBox( GroupBox6_2, "probeChk" );
    probeChk->setText( trUtf8( "Probe" ) );
    QToolTip::add( probeChk, trUtf8( "Search the contents of files for all<br>known Apple/Unix file formats. May negatively reflect on performance. " ) );

    GroupBox6_2Layout->addWidget( probeChk, 0, 0 );

    omitVersionChk = new QCheckBox( GroupBox6_2, "omitVersionChk" );
    omitVersionChk->setText( trUtf8( "Omit version number" ) );
    QToolTip::add( omitVersionChk, trUtf8( "Omit version numbers from ISO9660 file names." ) );

    GroupBox6_2Layout->addMultiCellWidget( omitVersionChk, 0, 0, 2, 3 );

    volumeSetSequenceSpn = new QSpinBox( GroupBox6_2, "volumeSetSequenceSpn" );
    volumeSetSequenceSpn->setMinValue( 0 );
    QToolTip::add( volumeSetSequenceSpn, trUtf8( "Sets the volume set sequence number." ) );

    GroupBox6_2Layout->addWidget( volumeSetSequenceSpn, 1, 6 );

    volumeSetSequenceLbl = new QLabel( GroupBox6_2, "volumeSetSequenceLbl" );
    volumeSetSequenceLbl->setText( trUtf8( "Vol. set sequence #:" ) );
    volumeSetSequenceLbl->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );

    GroupBox6_2Layout->addWidget( volumeSetSequenceLbl, 1, 5 );

    volumeSetSizeSpn = new QSpinBox( GroupBox6_2, "volumeSetSizeSpn" );
    volumeSetSizeSpn->setMinValue( 0 );
    QToolTip::add( volumeSetSizeSpn, trUtf8( " Sets the volume set size." ) );

    GroupBox6_2Layout->addWidget( volumeSetSizeSpn, 1, 3 );

    volumeSetSizeLbl = new QLabel( GroupBox6_2, "volumeSetSizeLbl" );
    volumeSetSizeLbl->setText( trUtf8( "Vol. set size:" ) );
    volumeSetSizeLbl->setAlignment( int( QLabel::AlignVCenter ) );

    GroupBox6_2Layout->addWidget( volumeSetSizeLbl, 1, 2 );

    hideRRChk = new QCheckBox( GroupBox6_2, "hideRRChk" );
    hideRRChk->setText( trUtf8( "Hide RR_MOVED" ) );
    QToolTip::add( hideRRChk, trUtf8( "Rename  the  directory<br>RR_MOVED to .rr_moved in the Rock Ridge tree." ) );

    GroupBox6_2Layout->addWidget( hideRRChk, 0, 5 );
    QSpacerItem* spacer_4 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
    GroupBox6_2Layout->addItem( spacer_4, 0, 1 );
    QSpacerItem* spacer_5 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
    GroupBox6_2Layout->addItem( spacer_5, 0, 4 );

    extrasTabLayout->addWidget( GroupBox6_2, 0, 0 );
    isoOptTbs->insertTab( extrasTab, trUtf8( "Extras" ) );

    lablesTab = new QWidget( isoOptTbs, "lablesTab" );
    lablesTabLayout = new QVBoxLayout( lablesTab, 7, 4, "lablesTabLayout"); 

    GroupBox2_2 = new QGroupBox( lablesTab, "GroupBox2_2" );
    GroupBox2_2->setTitle( trUtf8( "Labels" ) );
    GroupBox2_2->setColumnLayout(0, Qt::Vertical );
    GroupBox2_2->layout()->setSpacing( 6 );
    GroupBox2_2->layout()->setMargin( 11 );
    GroupBox2_2Layout = new QGridLayout( GroupBox2_2->layout() );
    GroupBox2_2Layout->setAlignment( Qt::AlignTop );

    TextLabel1_2_2 = new QLabel( GroupBox2_2, "TextLabel1_2_2" );
    TextLabel1_2_2->setText( trUtf8( "Application id:" ) );

    GroupBox2_2Layout->addWidget( TextLabel1_2_2, 0, 0 );

    TextLabel1_3_2_2_2 = new QLabel( GroupBox2_2, "TextLabel1_3_2_2_2" );
    TextLabel1_3_2_2_2->setText( trUtf8( "Copyright info:" ) );

    GroupBox2_2Layout->addWidget( TextLabel1_3_2_2_2, 6, 0 );

    TextLabel1_3_2_2 = new QLabel( GroupBox2_2, "TextLabel1_3_2_2" );
    TextLabel1_3_2_2->setText( trUtf8( "Preparer id:" ) );

    GroupBox2_2Layout->addWidget( TextLabel1_3_2_2, 5, 0 );

    Line1 = new QFrame( GroupBox2_2, "Line1" );
    Line1->setProperty( "frameShape", (int)QFrame::HLine );
    Line1->setFrameShadow( QFrame::Sunken );
    Line1->setFrameShape( QFrame::HLine );

    GroupBox2_2Layout->addMultiCellWidget( Line1, 3, 3, 0, 1 );

    TextLabel1_3_2 = new QLabel( GroupBox2_2, "TextLabel1_3_2" );
    TextLabel1_3_2->setText( trUtf8( "Publisher id:" ) );

    GroupBox2_2Layout->addWidget( TextLabel1_3_2, 4, 0 );

    TextLabel1_4 = new QLabel( GroupBox2_2, "TextLabel1_4" );
    TextLabel1_4->setText( trUtf8( "Volume id:" ) );

    GroupBox2_2Layout->addWidget( TextLabel1_4, 1, 0 );

    TextLabel1_3_2_3 = new QLabel( GroupBox2_2, "TextLabel1_3_2_3" );
    TextLabel1_3_2_3->setText( trUtf8( "Volume set name:" ) );

    GroupBox2_2Layout->addWidget( TextLabel1_3_2_3, 2, 0 );

    volumeSetTxt = new QLineEdit( GroupBox2_2, "volumeSetTxt" );
    QToolTip::add( volumeSetTxt, trUtf8( "The Volume Set Name." ) );

    GroupBox2_2Layout->addWidget( volumeSetTxt, 2, 1 );

    volumeIdTxt = new QLineEdit( GroupBox2_2, "volumeIdTxt" );
    QToolTip::add( volumeIdTxt, trUtf8( "The Volume Identifier." ) );

    GroupBox2_2Layout->addWidget( volumeIdTxt, 1, 1 );

    applicationIdTxt = new QLineEdit( GroupBox2_2, "applicationIdTxt" );
    QToolTip::add( applicationIdTxt, trUtf8( "The application identifier should describe the application<br>that will be on the disc." ) );

    GroupBox2_2Layout->addWidget( applicationIdTxt, 0, 1 );

    publisherIdTxt = new QLineEdit( GroupBox2_2, "publisherIdTxt" );
    QToolTip::add( publisherIdTxt, trUtf8( "This should describe the publisher of the CDROM,<br>usually with a mailing address and phone number." ) );

    GroupBox2_2Layout->addWidget( publisherIdTxt, 4, 1 );

    preparerIdTxt = new QLineEdit( GroupBox2_2, "preparerIdTxt" );
    QToolTip::add( preparerIdTxt, trUtf8( "This should describe the preparer of the CDROM,<br>usually with a mailing address and phone number." ) );

    GroupBox2_2Layout->addWidget( preparerIdTxt, 5, 1 );

    copyrightTxt = new QLineEdit( GroupBox2_2, "copyrightTxt" );
    QToolTip::add( copyrightTxt, trUtf8( "Copyright information, often the name of a file<br>on the disc containing the copy­right notice." ) );

    GroupBox2_2Layout->addWidget( copyrightTxt, 6, 1 );
    lablesTabLayout->addWidget( GroupBox2_2 );
    QSpacerItem* spacer_6 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
    lablesTabLayout->addItem( spacer_6 );
    isoOptTbs->insertTab( lablesTab, trUtf8( "Labels" ) );
    CdboIsoOptBaseLayout->addWidget( isoOptTbs );

    // signals and slots connections
    connect( filenamePnl, SIGNAL( clicked(int) ), this, SLOT( filenameChangeSlot(int) ) );
    connect( linuxRBtn, SIGNAL( clicked() ), this, SLOT( linuxTypeSlot() ) );
    connect( linuxRBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( linwinRBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( linwinRBtn, SIGNAL( clicked() ), this, SLOT( linWinTypeSlot() ) );
    connect( customRBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( customRBtn, SIGNAL( clicked() ), this, SLOT( customTypeSlot() ) );
    connect( hybridChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( hybridChk, SIGNAL( clicked() ), this, SLOT( hybridSlot() ) );
    connect( rockRidgeChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( jolietChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( appleChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( hfsChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( imageNameTxt, SIGNAL( textChanged(const QString&) ), this, SLOT( slotChanged() ) );
    connect( extraOptTxt, SIGNAL( textChanged(const QString&) ), this, SLOT( slotChanged() ) );
    connect( followSymChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( generateTablsChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( relaxedNamesChk, SIGNAL( clicked() ), this, SLOT( relaxedFilenamesSlot() ) );
    connect( relaxedNamesChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( noDeepChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( forceRRChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( checkOldNamesChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( chkOldSesChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( multiSesRBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( singleSesRBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( probeChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( multivoluemedChk, SIGNAL( clicked() ), this, SLOT( multivolSlot() ) );
    connect( multivoluemedChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( volumeSetSizeSpn, SIGNAL( valueChanged(int) ), this, SLOT( slotChanged() ) );
    connect( omitVersionChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( hideRRChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( volumeSetSequenceSpn, SIGNAL( valueChanged(int) ), this, SLOT( slotChanged() ) );
    connect( untransFNmamesChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( beginPeriodChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( longFNamesChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( multiDotChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( lowercaseChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( omitTrailChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( bootableChk, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( bootableChk, SIGNAL( clicked() ), this, SLOT( bootableSlot() ) );
    connect( bootBrowseBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( bootBrowseBtn, SIGNAL( clicked() ), this, SLOT( browseBootSlot() ) );
    connect( bootCatalogBrowseBtn, SIGNAL( clicked() ), this, SLOT( slotChanged() ) );
    connect( bootCatalogBrowseBtn, SIGNAL( clicked() ), this, SLOT( bootCatalogBrowseSlot() ) );
    connect( applicationIdTxt, SIGNAL( textChanged(const QString&) ), this, SLOT( slotChanged() ) );
    connect( volumeIdTxt, SIGNAL( textChanged(const QString&) ), this, SLOT( slotChanged() ) );
    connect( volumeSetTxt, SIGNAL( returnPressed() ), this, SLOT( slotChanged() ) );
    connect( preparerIdTxt, SIGNAL( textChanged(const QString&) ), this, SLOT( slotChanged() ) );
    connect( copyrightTxt, SIGNAL( textChanged(const QString&) ), this, SLOT( slotChanged() ) );
    connect( bootImgTypeCmb, SIGNAL( activated(int) ), this, SLOT( slotChanged() ) );
}

/*  
 *  Destroys the object and frees any allocated resources
 */
CdboIsoOptBase::~CdboIsoOptBase()
{
    // no need to delete child widgets, Qt does it all for us
}

void CdboIsoOptBase::bootableSlot()
{
    qWarning( "CdboIsoOptBase::bootableSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::bootCatalogBrowseSlot()
{
    qWarning( "CdboIsoOptBase::bootCatalogBrowseSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::browseBootSlot()
{
    qWarning( "CdboIsoOptBase::browseBootSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::customTypeSlot()
{
    qWarning( "CdboIsoOptBase::customTypeSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::filenameChangeSlot( int )
{
    qWarning( "CdboIsoOptBase::filenameChangeSlot( int ): Not implemented yet!" );
}

void CdboIsoOptBase::hybridSlot()
{
    qWarning( "CdboIsoOptBase::hybridSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::linuxTypeSlot()
{
    qWarning( "CdboIsoOptBase::linuxTypeSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::linWinTypeSlot()
{
    qWarning( "CdboIsoOptBase::linWinTypeSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::multivolSlot()
{
    qWarning( "CdboIsoOptBase::multivolSlot(): Not implemented yet!" );
}

void CdboIsoOptBase::slotChanged()
{
    emit changed(true);
}

void CdboIsoOptBase::relaxedFilenamesSlot()
{
    qWarning( "CdboIsoOptBase::relaxedFilenamesSlot(): Not implemented yet!" );
}

