[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeedu/libkdeedu/keduvocdocument
From:       Frederik Gladhorn <frederik.gladhorn () gmx ! de>
Date:       2008-08-15 12:22:28
Message-ID: 1218802948.895287.22322.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 847460 by gladhorn:

read and write tenses for individual languages for kvtml2

 M  +23 -32    keduvockvtml2reader.cpp  
 M  +1 -1      keduvockvtml2reader.h  
 M  +6 -18     keduvockvtml2writer.cpp  
 M  +0 -5      keduvockvtml2writer.h  


--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvockvtml2reader.cpp #847459:847460
@@ -145,10 +145,20 @@
 {
     bool result = false;
 
+    QDomElement groupElement = domElementParent.firstChildElement( KVTML_IDENTIFIERS \
); +
     QDomElement currentElement;
 
-    QDomElement groupElement = domElementParent.firstChildElement( KVTML_IDENTIFIERS \
); +    // ensure backwards compability - in kde 4.1 and earlier tenses were direct \
properties of the document class. +    // now they are moved into the individual \
identifiers +    QStringList tensesCompability;
+    groupElement = groupElement.firstChildElement( KVTML_TENSES );
     if ( !groupElement.isNull() ) {
+        tensesCompability = readTenses( groupElement );
+    }
+
+    groupElement = domElementParent.firstChildElement( KVTML_IDENTIFIERS );
+    if ( !groupElement.isNull() ) {
         QDomNodeList entryList = groupElement.elementsByTagName( KVTML_IDENTIFIER );
         if ( entryList.length() <= 0 ) {
             m_errorMessage = i18n( "missing identifier elements from identifiers \
tag" ); @@ -159,17 +169,16 @@
             currentElement = entryList.item( i ).toElement();
             if ( currentElement.parentNode() == groupElement ) {
                 result = readIdentifier( currentElement );
-                if ( !result )
+                if ( !result ) {
                     return false;
+                }
+                if (!tensesCompability.isEmpty()) {
+                    m_doc->identifier(i).setTenseList(tensesCompability);
+                }
             }
         }
     }
 
-    groupElement = domElementParent.firstChildElement( KVTML_TENSES );
-    if ( !groupElement.isNull() ) {
-        readTenses( groupElement );
-    }
-
     groupElement = domElementParent.firstChildElement( KVTML_ENTRIES );
     if ( !groupElement.isNull() ) {
         QDomNodeList entryList = groupElement.elementsByTagName( KVTML_ENTRY );
@@ -248,11 +257,6 @@
         // TODO: do something with the type
     }
 
-    currentElement = identifierElement.firstChildElement( KVTML_SIZEHINT );
-    if ( !currentElement.isNull() ) {
-        // TODO: do something with the sizehint
-    }
-
     // read sub-parts
     currentElement = identifierElement.firstChildElement( KVTML_ARTICLE );
     if ( !currentElement.isNull() ) {
@@ -265,6 +269,11 @@
         readPersonalPronoun( currentElement, personalPronoun );
         m_doc->identifier(id).setPersonalPronouns( personalPronoun );
     }
+
+
+    QStringList tenses = readTenses(identifierElement);
+    m_doc->identifier(id).setTenseList(tenses);
+
     return result;
 }
 
@@ -601,7 +610,7 @@
     return true;
 }
 
-bool KEduVocKvtml2Reader::readTenses( QDomElement &tensesElement )
+const QStringList& KEduVocKvtml2Reader::readTenses( QDomElement &tensesElement )
 {
     QStringList tenses;
 
@@ -613,27 +622,9 @@
         }
     }
 
-    m_doc->setTenseDescriptions( tenses );
-    return true;
+    return tenses;
 }
 
-/*
-bool KEduVocKvtml2Reader::readUsages( QDomElement &usagesElement )
-{
-    QStringList usages;
-
-    QDomNodeList usageNodes = usagesElement.elementsByTagName( KVTML_USAGE );
-    for ( int i = 0; i < usageNodes.count(); ++i ) {
-        QDomElement currentElement = usageNodes.item( i ).toElement();
-        if ( currentElement.parentNode() == usagesElement ) {
-            m_doc->addUsage( currentElement.text() );
-        }
-    }
-
-    return true;
-}*/
-
-
 bool KEduVocKvtml2Reader::readComparison( QDomElement &domElementParent, \
KEduVocTranslation* translation )  /*
  <comparison>
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvockvtml2reader.h #847459:847460
@@ -106,7 +106,7 @@
     /** read the tenses
      * @param tensesElement QDomElement for the tenses group
      */
-    bool readTenses( QDomElement &tensesElement );
+    const QStringList& readTenses( QDomElement &tensesElement );
 
     /** read the usages
      * @param usagesElement QDomElement for the usages group
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvockvtml2writer.cpp #847459:847460
@@ -73,13 +73,6 @@
     writeIdentifiers( currentElement );
     domElementKvtml.appendChild( currentElement );
 
-    // tenses
-    currentElement = m_domDoc.createElement( KVTML_TENSES );
-    writeTenses( currentElement );
-    if ( currentElement.hasChildNodes() ) {
-        domElementKvtml.appendChild( currentElement );
-    }
-
     // entries
     currentElement = m_domDoc.createElement( KVTML_ENTRIES );
     if ( !writeEntries( currentElement ) ) {
@@ -187,6 +180,12 @@
             identifier.appendChild( personalpronouns );
         }
 
+        // tenses
+        foreach(const QString &tense, m_doc->tenseDescriptions() ) {
+            if ( !( tense.isNull() ) ) {
+                identifier.appendChild( newTextElement( KVTML_TENSE, tense ) );
+            }
+        }
         // add this identifier to the group
         identifiersElement.appendChild( identifier );
     }
@@ -457,17 +456,6 @@
     return true;
 }
 
-bool KEduVocKvtml2Writer::writeTenses( QDomElement &tensesElement )
-{
-    foreach( const QString &tense, m_doc->tenseDescriptions() ) {
-        if ( !( tense.isNull() ) ) {
-            tensesElement.appendChild( newTextElement( KVTML_TENSE, tense ) );
-        }
-    }
-
-    return true;
-}
-
 bool KEduVocKvtml2Writer::writeEntries( QDomElement &entriesElement )
 {
     m_allEntries = m_doc->lesson()->entries(KEduVocLesson::Recursive);
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvockvtml2writer.h #847459:847460
@@ -88,11 +88,6 @@
      */
     bool writeLeitnerBoxes( QDomElement &leitnerParentElement, KEduVocLeitnerBox* \
parentContainer );  
-    /** write tenses
-     * @param tensesElement QDomElement tenses to write to
-     */
-    bool writeTenses( QDomElement &tensesElement );
-
     /** write entries
      * @param entriesElement QDomElement entries to write to
      */


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic