From cdc5f73d475868cc18d3906bd2799f451837bfd9 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 5 Sep 2007 23:14:28 +0000 Subject: [PATCH] Get rid of an ugly ctor for KEduVocExpression. Instead of QString and separator, use QStringList. svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=708895 --- keduvocdocument/keduvoccsvreader.cpp | 2 +- keduvocdocument/keduvocexpression.cpp | 25 ++++--------------------- keduvocdocument/keduvocexpression.h | 2 +- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/keduvocdocument/keduvoccsvreader.cpp b/keduvocdocument/keduvoccsvreader.cpp index 6ac5940..232669e 100644 --- a/keduvocdocument/keduvoccsvreader.cpp +++ b/keduvocdocument/keduvoccsvreader.cpp @@ -58,7 +58,7 @@ bool KEduVocCsvReader::readDoc( KEduVocDocument *doc ) QString s = inputStream.readLine(); if ( !s.simplified().isEmpty() ) { - KEduVocExpression expression( s, separator ); + KEduVocExpression expression( s.split(separator) ); languageCount = qMax( languageCount, expression.translationIndices().count() ); m_doc->appendEntry( &expression ); } diff --git a/keduvocdocument/keduvocexpression.cpp b/keduvocdocument/keduvocexpression.cpp index b197d9e..7e795d9 100644 --- a/keduvocdocument/keduvocexpression.cpp +++ b/keduvocdocument/keduvocexpression.cpp @@ -78,33 +78,16 @@ KEduVocExpression::KEduVocExpression() KEduVocExpression::KEduVocExpression( const QString & expression, int lesson ) : d( new KEduVocExpressionPrivate( this ) ) { - setTranslation( 0, expression.simplified() ); d->m_lesson = lesson; + setTranslation( 0, expression.simplified() ); } -KEduVocExpression::KEduVocExpression( const QString & expression, const QString & separator, int lesson ) +KEduVocExpression::KEduVocExpression( const QStringList & translations, int lesson ) : d( new KEduVocExpressionPrivate( this ) ) { - QString se; - QString expr = expression; d->m_lesson = lesson; - - if ( separator.length() ) { - int pos = expr.indexOf( separator ); - int translationIndex = 0; - se = expr.left( pos ).simplified(); - setTranslation( translationIndex, se ); - expr.remove( 0, pos + separator.length() ); - - // gather all translations - while (( pos = expr.indexOf( separator ) ) != -1 ) { - translationIndex++; - se = expr.left( pos ).simplified(); - setTranslation( translationIndex, se ); - expr.remove( 0, pos + separator.length() ); - } - translationIndex++; - setTranslation( translationIndex, expr.simplified() ); + foreach ( QString translation, translations ) { + setTranslation(d->m_translations.count(), translation); } } diff --git a/keduvocdocument/keduvocexpression.h b/keduvocdocument/keduvocexpression.h index b8cdaec..7c950b8 100644 --- a/keduvocdocument/keduvocexpression.h +++ b/keduvocdocument/keduvocexpression.h @@ -51,7 +51,7 @@ public: * @param separator expression will be split into an original and one or more translations using separator * @param lesson lesson number, 0 for none */ - KEduVocExpression( const QString & expression, const QString & separator, int lesson = 0 ); + KEduVocExpression( const QStringList & translations, int lesson = 0 ); KEduVocExpression( const KEduVocExpression &expression ); -- 2.47.3