From: Frederik Gladhorn Date: Mon, 19 Nov 2007 01:23:25 +0000 (+0000) Subject: Add a root lesson and a word type lesson. X-Git-Tag: v4.0.71~93^2~30 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=0d8e500b7828bdde184f42d10175b8474e639023;p=libqmvoc.git Add a root lesson and a word type lesson. svn path=/branches/work/kdeedu_parley/libkdeedu/; revision=738505 --- 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);