]> Git trees. - libqmvoc.git/commitdiff
Get rid of an ugly ctor for KEduVocExpression. Instead of QString and separator,...
authorFrederik Gladhorn <gladhorn@kde.org>
Wed, 5 Sep 2007 23:14:28 +0000 (23:14 +0000)
committerFrederik Gladhorn <gladhorn@kde.org>
Wed, 5 Sep 2007 23:14:28 +0000 (23:14 +0000)
svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=708895

keduvocdocument/keduvoccsvreader.cpp
keduvocdocument/keduvocexpression.cpp
keduvocdocument/keduvocexpression.h

index 6ac5940071d9110a3aa35e7b290a1c5f5924c7d3..232669e7d8615e9bdb74af92c9ca940b835b03d6 100644 (file)
@@ -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 );
         }
index b197d9ebfd8ad0e152343dea480f1324eacd8742..7e795d9cf5100d80e0d5fd388b496487ce903479 100644 (file)
@@ -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);
     }
 }
 
index b8cdaec7915da98f61ff5723ce5c89b0fb5856c3..7c950b8fb39d8212dcb67a15d01c70674f997b80 100644 (file)
@@ -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 );