From 0d8e500b7828bdde184f42d10175b8474e639023 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 19 Nov 2007 01:23:25 +0000 Subject: [PATCH] Add a root lesson and a word type lesson. svn path=/branches/work/kdeedu_parley/libkdeedu/; revision=738505 --- keduvocdocument/keduvocdocument.cpp | 27 ++++++++++++++----------- keduvocdocument/keduvockvtml2reader.cpp | 6 ++---- keduvocdocument/keduvockvtml2writer.cpp | 2 +- keduvocdocument/keduvoclesson.h | 6 ++++++ 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/keduvocdocument/keduvocdocument.cpp b/keduvocdocument/keduvocdocument.cpp index 90ecd58..816df47 100644 --- a/keduvocdocument/keduvocdocument.cpp +++ b/keduvocdocument/keduvocdocument.cpp @@ -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(); diff --git a/keduvocdocument/keduvockvtml2reader.cpp b/keduvocdocument/keduvockvtml2reader.cpp index 7cce7c9..8d087f5 100644 --- a/keduvocdocument/keduvockvtml2reader.cpp +++ b/keduvocdocument/keduvockvtml2reader.cpp @@ -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; } diff --git a/keduvocdocument/keduvockvtml2writer.cpp b/keduvocdocument/keduvockvtml2writer.cpp index c60f601..67e3cb3 100644 --- a/keduvocdocument/keduvockvtml2writer.cpp +++ b/keduvocdocument/keduvockvtml2writer.cpp @@ -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 ); } diff --git a/keduvocdocument/keduvoclesson.h b/keduvocdocument/keduvoclesson.h index a6643be..ebf0f32 100644 --- a/keduvocdocument/keduvoclesson.h +++ b/keduvocdocument/keduvoclesson.h @@ -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); -- 2.47.3