void DocTypeEdit::slotTemplateUrlChanged( const QString& newUrl ) { QString docType; if(mTypeListBox->currentRow() != -1) docType = mTypeListBox->currentItem()->text(); if( docType.isEmpty() || ! mOrigDocTypes.contains(docType) ) return; DocType dt = mOrigDocTypes[docType]; if ( mChangedDocTypes.contains( docType ) ) { dt = mChangedDocTypes[docType]; } if ( newUrl != dt.templateFile() ) { dt.setTemplateFile( newUrl ); mChangedDocTypes[docType] = dt; } }
void DocTypeEdit::slotDocTypeSelected( const QString& newValue ) { kDebug() << "docTypeSelected: " << newValue << " and previous: " << mPreviousType; DocType dt( newValue ); if ( mChangedDocTypes.contains( newValue ) ) { dt = mChangedDocTypes[newValue]; kDebug() << "new docType taken from ChangedDocTypes: "; } // store the previous type DocType prevType = mOrigDocTypes[mPreviousType]; if ( mChangedDocTypes.contains( mPreviousType ) ) { prevType = mChangedDocTypes[mPreviousType]; kDebug() << "previous docType taken from ChangedDocTypes: "; } prevType.setNumberCycleName( mNumberCycleCombo->currentText() ); prevType.setTemplateFile( mTemplateUrl->url().toLocalFile() ); prevType.setWatermarkFile( mWatermarkUrl->url().toLocalFile() ); prevType.setMergeIdent( QString::number( mWatermarkCombo->currentIndex() ) ); mChangedDocTypes[mPreviousType] = prevType; // dt.setNumberCycleName( dt.numberCycleName() ); kDebug() << "Selected doc type " << newValue; mIdent->setText( dt.identTemplate() ); int nextNum = dt.nextIdentId( false )-1; mCounter->setText( QString::number( nextNum ) ); mNumberCycleCombo->setCurrentIndex(mNumberCycleCombo->findText( dt.numberCycleName() )); // mHeader->setText( i18n( "Details for %1:" ).arg( dt.name() ) ); mExampleId->setText( dt.generateDocumentIdent( 0, nextNum ) ); mTemplateUrl->setUrl( dt.templateFile() ); mWatermarkUrl->setUrl( dt.watermarkFile() ); int mergeIdent = dt.mergeIdent().toInt(); mWatermarkCombo->setCurrentIndex( mergeIdent ); mWatermarkUrl->setEnabled( mergeIdent > 0 ); mPreviousType = newValue; }