Exemplo n.º 1
0
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 );
}
Exemplo n.º 2
0
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 ) );
}
Exemplo n.º 3
0
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;
    }

}
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
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;
    }
}
Exemplo n.º 6
0
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 );
}
Exemplo n.º 7
0
void
CloningVisitor::visitDocumentType(const DocType &expr)
{
    _constVal = false;
    _priority = DocumentTypePriority;
    _resultSet.add(Result::True);
    _resultSet.add(Result::False);
    _node = expr.clone();
}
Exemplo n.º 8
0
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 ) );
    }
}
Exemplo n.º 9
0
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;

}