]> Git trees. - libqmvoc.git/commitdiff
Add a root lesson and a word type lesson.
authorFrederik Gladhorn <gladhorn@kde.org>
Mon, 19 Nov 2007 01:23:25 +0000 (01:23 +0000)
committerFrederik Gladhorn <gladhorn@kde.org>
Mon, 19 Nov 2007 01:23:25 +0000 (01:23 +0000)
svn path=/branches/work/kdeedu_parley/libkdeedu/; revision=738505

keduvocdocument/keduvocdocument.cpp
keduvocdocument/keduvockvtml2reader.cpp
keduvocdocument/keduvockvtml2writer.cpp
keduvocdocument/keduvoclesson.h

index 90ecd589810ce92a0863c4c1c29584fac5817503..816df477cbf12c55ecee424d96889e2366876036 100644 (file)
@@ -110,9 +110,13 @@ void KEduVocDocument::KEduVocDocumentPrivate::init()
     if ( m_rootLesson ) {
         delete m_rootLesson;
     }
-kDebug() << "create root lesson";
-    m_rootLesson = new KEduVocLesson(i18n("Document"));
-kDebug() << "create root lesson done";
+    m_rootLesson = new KEduVocLesson("root");
+    // child lessons for m_rootLesson have to be according to enum RootLessonChildren in KEduVocLesson
+    // the first child lesson contains the normal hierachy of lessons
+    m_rootLesson->appendChildLesson(new KEduVocLesson(i18n( "Untitled" ), m_rootLesson));
+    // the second lesson contains words sorted by word type
+    m_rootLesson->appendChildLesson(new KEduVocLesson(i18n( "Word type" ), m_rootLesson));
+
     m_tenseDescriptions.clear();
     m_identifiers.clear();
     m_extraSizeHints.clear();
@@ -127,7 +131,6 @@ kDebug() << "create root lesson done";
     m_version = "";
     m_generator = "";
     m_csvDelimiter = QString( '\t' );
-kDebug() << "init done";
 }
 
 
@@ -731,10 +734,16 @@ void KEduVocDocument::setUrl( const KUrl& url )
 
 QString KEduVocDocument::title() const
 {
-    if ( d->m_rootLesson->name().isEmpty() )
+    if ( d->m_rootLesson->childLesson(KEduVocLesson::EntryLessonRoot)->name().isEmpty() )
         return d->m_url.fileName();
     else
-        return d->m_rootLesson->name();
+        return d->m_rootLesson->childLesson(KEduVocLesson::EntryLessonRoot)->name();
+}
+
+
+void KEduVocDocument::setTitle( const QString & title )
+{
+    d->m_rootLesson->childLesson(KEduVocLesson::EntryLessonRoot)->setName(title.simplified());
 }
 
 
@@ -780,12 +789,6 @@ void KEduVocDocument::setQueryIdentifier( const QString &org, const QString &tra
 }
 
 
-void KEduVocDocument::setTitle( const QString & title )
-{
-    d->m_rootLesson->setName(title.simplified());
-}
-
-
 void KEduVocDocument::setAuthor( const QString & s )
 {
     d->m_author = s.simplified();
index 7cce7c974df9f6b3a60a61a0fd9c77e9754b694c..8d087f508f75f9e3232506f5210b6d19b2288026 100644 (file)
@@ -184,12 +184,10 @@ bool KEduVocKvtml2Reader::readGroups( QDomElement &domElementParent )
 
     groupElement = domElementParent.firstChildElement( KVTML_LESSONS );
     if ( !groupElement.isNull() ) {
-        readChildLessons(m_doc->lesson(), groupElement);
+        readChildLessons(m_doc->lesson()->childLesson(KEduVocLesson::EntryLessonRoot), groupElement);
     }
 
-
-    kDebug() << "Lessons:";
-    printLesson(m_doc->lesson());
+    ///@todo create dynamic lessons (word type)
 
     return true;
 }
index c60f601d52ef61bf1ae7f8388d5437fe2b519b02..67e3cb35465d39edf6b34602b63245a402ac7964 100644 (file)
@@ -80,7 +80,7 @@ bool KEduVocKvtml2Writer::writeDoc( KEduVocDocument *doc, const QString &generat
 
     // lessons
     currentElement = m_domDoc.createElement( KVTML_LESSONS );
-    writeLessons( m_doc->lesson(), currentElement );
+    writeLessons( m_doc->lesson()->childLesson(KEduVocLesson::EntryLessonRoot), currentElement );
     if ( currentElement.hasChildNodes() ) {
         domElementKvtml.appendChild( currentElement );
     }
index a6643be7a61f359e305302653323004a56d64d93..ebf0f328690e65d7c5a49b80e6911e93220bd59c 100644 (file)
@@ -33,6 +33,12 @@ class KEDUVOCDOCUMENT_EXPORT KEduVocLesson
 {
 
 public:
+    // children of the root lesson
+    enum RootLessonChildren {
+        EntryLessonRoot,
+        WordTypes
+    };
+
      /** default constructor */
      explicit KEduVocLesson(const QString& name, KEduVocLesson *parent = 0);