File indexing completed on 2024-05-05 04:51:45

0001 /*
0002     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 #include "k3bdatavolumedescdialog.h"
0006 
0007 #include "k3bisooptions.h"
0008 #include "k3bvalidators.h"
0009 
0010 #include <KLocalizedString>
0011 
0012 #include <QDialogButtonBox>
0013 #include <QLabel>
0014 #include <QLineEdit>
0015 #include <QSpinBox>
0016 #include <QToolButton>
0017 
0018 
0019 K3b::DataVolumeDescDialog::DataVolumeDescDialog( QWidget* parent )
0020     : QDialog( parent)
0021 {
0022     setupUi( this );
0023 
0024     setWindowTitle( i18n("Volume Descriptor") );
0025     setModal( true );
0026 
0027     // the maximal number of characters that can be inserted are set in the ui file!
0028 
0029     QValidator* isoValidator = new K3b::Latin1Validator( this );
0030 
0031     m_editVolumeName->setValidator( isoValidator );
0032     m_editVolumeSetName->setValidator( isoValidator );
0033     m_editPublisher->setValidator( isoValidator );
0034     m_editPreparer->setValidator( isoValidator );
0035     m_editSystem->setValidator( isoValidator );
0036     m_editApplication->setValidator( isoValidator );
0037 
0038     connect( m_spinVolumeSetSize, SIGNAL(valueChanged(int)),
0039              this, SLOT(slotVolumeSetSizeChanged(int)) );
0040 
0041     // for now we hide the volume set size stuff since it's not working anymore in mkisofs 2.01a34
0042     textLabel1->hide();
0043     textLabel2->hide();
0044     m_spinVolumeSetSize->hide();
0045     m_spinVolumeSetNumber->hide();
0046 
0047     // FIXME: show the buttons and allow the selection of a file from the project
0048     m_buttonFindAbstract->hide();
0049     m_buttonFindCopyright->hide();
0050     m_buttonFindBiblio->hide();
0051 
0052     // give ourselves a reasonable size
0053     QSize s = sizeHint();
0054     s.setWidth( qMax(s.width(), 300) );
0055     resize( s );
0056 }
0057 
0058 
0059 K3b::DataVolumeDescDialog::~DataVolumeDescDialog()
0060 {
0061 }
0062 
0063 
0064 void K3b::DataVolumeDescDialog::load( const K3b::IsoOptions& o )
0065 {
0066     m_editVolumeName->setText( o.volumeID() );
0067     m_editVolumeSetName->setText( o.volumeSetId() );
0068     m_spinVolumeSetSize->setValue( o.volumeSetSize() );
0069     m_spinVolumeSetNumber->setValue( o.volumeSetNumber() );
0070     m_editPublisher->setText( o.publisher() );
0071     m_editPreparer->setText( o.preparer() );
0072     m_editSystem->setText( o.systemId() );
0073     m_editApplication->setText( o.applicationID() );
0074 }
0075 
0076 
0077 void K3b::DataVolumeDescDialog::save( K3b::IsoOptions& o )
0078 {
0079     o.setVolumeID( m_editVolumeName->text() );
0080     o.setVolumeSetId( m_editVolumeSetName->text() );
0081     o.setVolumeSetSize( 1/*m_spinVolumeSetSize->value() */);
0082     o.setVolumeSetNumber( 1/*m_spinVolumeSetNumber->value() */);
0083     o.setPublisher( m_editPublisher->text() );
0084     o.setPreparer( m_editPreparer->text() );
0085     o.setSystemId( m_editSystem->text() );
0086     o.setApplicationID( m_editApplication->text() );
0087 }
0088 
0089 
0090 void K3b::DataVolumeDescDialog::slotVolumeSetSizeChanged( int i )
0091 {
0092     m_spinVolumeSetNumber->setMaximum( i );
0093 }
0094 
0095 #include "moc_k3bdatavolumedescdialog.cpp"