void NumberCycleDialog::slotUpdateExample() { DocType dt; dt.setName( i18n( "Doc-Type" ) ); int id = mBaseWidget->mCounterEdit->value(); dt.setIdentTemplate( mBaseWidget->mIdTemplEdit->text() ); QString idText = dt.generateDocumentIdent( QDate::currentDate(), QLatin1String("<doc type"), QLatin1String("<addressUid>"), id ); mBaseWidget->mExampleId->setText( idText ); }
void DocTypeEdit::slotNumberCycleChanged( const QString& newCycle ) { QString docTypeName = mTypeListBox->currentItem()->text(); DocType dt = currentDocType(); dt.setNumberCycleName( newCycle ); mChangedDocTypes[docTypeName] = dt; kDebug() << "Changing the cycle name of " << docTypeName << " to " << newCycle; mIdent->setText( dt.identTemplate() ); int nextNum = dt.nextIdentId( false )-1; mCounter->setText( QString::number( nextNum ) ); mExampleId->setText( dt.generateDocumentIdent( 0, nextNum ) ); }
void DocTypeEdit::slotWatermarkUrlChanged( const QString& newUrl ) { QString docType = mTypeListBox->currentItem()->text(); DocType dt = mOrigDocTypes[docType]; if ( mChangedDocTypes.contains( docType ) ) { dt = mChangedDocTypes[docType]; } if ( newUrl != dt.watermarkFile() ) { dt.setWatermarkFile( newUrl ); mChangedDocTypes[docType] = dt; } }
void DocTypeEdit::saveDocTypes() { // removed doctypes // FIXME: Remove unreferenced number cycles for ( QStringList::Iterator it = mRemovedTypes.begin(); it != mRemovedTypes.end(); ++it ) { if ( mOrigDocTypes.contains( *it ) ) { DocType dt = mOrigDocTypes[*it]; removeTypeFromDb( *it ); mOrigDocTypes.remove( *it ); mChangedDocTypes.remove( *it ); emit removedType( *it ); } } // added doctypes for ( QStringList::Iterator it = mAddedTypes.begin(); it != mAddedTypes.end(); ++it ) { QString name = *it; if ( mOrigDocTypes.contains( name ) ) { // just to check DocType dt = mChangedDocTypes[name]; QString numCycleName = dt.numberCycleName(); kDebug() << "Number cycle name for to add doctype " << name << ": " << numCycleName; dt.save(); } } // edited doctypes QMap<QString, QString>::Iterator it; for ( it = mTypeNameChanges.begin(); it != mTypeNameChanges.end(); ++it ) { QString oldName( it.key() ); if ( mOrigDocTypes.contains( oldName ) ) { QString newName = it.value(); kDebug() << "Renaming " << oldName << " to " << newName; DocType dt = mOrigDocTypes[oldName]; if ( mChangedDocTypes.contains( newName ) ) { dt = mChangedDocTypes[newName]; } else { dt.setName( newName ); } mOrigDocTypes.remove( oldName ); mOrigDocTypes[newName] = dt; dt.save(); } else { kError() << "Can not find doctype to change named " << oldName; } } // check if numberCycles have changed. QMap<QString, DocType>::Iterator mapit; for ( mapit = mChangedDocTypes.begin(); mapit != mChangedDocTypes.end(); ++mapit ) { DocType dt = mapit.value(); dt.save(); } // now the list of document types should be up to date and reflected into // the database. DocType::clearMap(); }
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::slotWatermarkModeChanged( int newMode ) { DocType dt = currentDocType(); QString newMergeIdent = QString::number( newMode ); if ( newMergeIdent != dt.mergeIdent() ) { dt.setMergeIdent( newMergeIdent ); if ( !mTypeListBox->currentItem()->text().isEmpty() ) { mChangedDocTypes[ mTypeListBox->currentItem()->text() ] = dt; } } bool state = true; if ( newMode == 0 ) state = false; mWatermarkUrl->setEnabled( state ); }
void CloningVisitor::visitDocumentType(const DocType &expr) { _constVal = false; _priority = DocumentTypePriority; _resultSet.add(Result::True); _resultSet.add(Result::False); _node = expr.clone(); }
void DocTypeEdit::slotEditNumberCycles() { saveDocTypes(); QString currNumbercycle = mNumberCycleCombo->currentText(); NumberCycleDialog dia( this, currNumbercycle ); if ( dia.exec() == QDialog::Accepted ) { fillNumberCycleCombo(); mNumberCycleCombo->setCurrentIndex(mNumberCycleCombo->findText( currNumbercycle )); DocType dt = currentDocType(); dt.readIdentTemplate(); // only the numbercycle has changed - refresh the display mIdent->setText( dt.identTemplate() ); int nextNum = dt.nextIdentId( false )-1; mCounter->setText( QString::number( nextNum ) ); mExampleId->setText( dt.generateDocumentIdent( 0, nextNum ) ); } }
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; }