From 4b099543b374cd77c43030e96d5cf4ca08b7126e Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 22 Nov 2007 23:07:09 +0000 Subject: [PATCH] Rename wordTypeLesson -> wordTypeContainer in KEduVocDocument. Add a parameter to the LessonModel constructor to determine its type. Call WordTypeDockWidget::setDocument from ParleyApp::updateDocument() to display the word types. CCMAIL:pete@pmurdoch.com svn path=/branches/work/kdeedu_parley/libkdeedu/; revision=740300 --- keduvocdocument/keduvocdocument.cpp | 40 ++++++++++++++----------- keduvocdocument/keduvocdocument.h | 4 ++- keduvocdocument/keduvockvtml2reader.cpp | 10 +++---- keduvocdocument/keduvockvtml2writer.cpp | 4 +-- 4 files changed, 33 insertions(+), 25 deletions(-) diff --git a/keduvocdocument/keduvocdocument.cpp b/keduvocdocument/keduvocdocument.cpp index dbf63ec..043762f 100644 --- a/keduvocdocument/keduvocdocument.cpp +++ b/keduvocdocument/keduvocdocument.cpp @@ -55,8 +55,9 @@ public: KEduVocDocumentPrivate( KEduVocDocument* qq ) : q( qq ) { - m_rootLesson = 0; - m_wordTypeLesson = 0; + m_lessonContainer = 0; + m_wordTypeContainer = 0; + m_leitnerContainer = 0; init(); } @@ -95,8 +96,9 @@ public: */ QString m_category; - KEduVocLesson * m_rootLesson; - KEduVocLesson * m_wordTypeLesson; + KEduVocLesson * m_lessonContainer; + KEduVocLesson * m_wordTypeContainer; + KEduVocLesson * m_leitnerContainer; KEduVocWordType m_wordTypes; }; @@ -107,14 +109,14 @@ KEduVocDocument::KEduVocDocumentPrivate::~KEduVocDocumentPrivate() void KEduVocDocument::KEduVocDocumentPrivate::init() { - if ( m_rootLesson ) { - delete m_rootLesson; + if ( m_lessonContainer ) { + delete m_lessonContainer; } - m_rootLesson = new KEduVocLesson("root"); - if ( m_wordTypeLesson ) { - delete m_wordTypeLesson; + m_lessonContainer = new KEduVocLesson("root"); + if ( m_wordTypeContainer ) { + delete m_wordTypeContainer; } - m_wordTypeLesson = new KEduVocLesson(i18n( "Word types" )); + m_wordTypeContainer = new KEduVocLesson(i18n( "Word types" )); m_tenseDescriptions.clear(); m_identifiers.clear(); @@ -675,7 +677,7 @@ void KEduVocDocument::removeIdentifier( int index ) { if ( index < d->m_identifiers.size() && index >= 0 ) { d->m_identifiers.removeAt( index ); - d->m_rootLesson->removeTranslation( index ); + d->m_lessonContainer->removeTranslation( index ); } } @@ -715,13 +717,17 @@ kDebug() << "appendIdentifier: " << i << id.name() << id.locale(); KEduVocLesson * KEduVocDocument::lesson() { - return d->m_rootLesson; + return d->m_lessonContainer; } +KEduVocLesson * KEduVocDocument::wordTypeContainer() +{ + return d->m_wordTypeContainer; +} -KEduVocLesson * KEduVocDocument::wordTypeLesson() +KEduVocLesson * KEduVocDocument::leitnerContainer() { - return d->m_wordTypeLesson; + return d->m_leitnerContainer; } @@ -739,16 +745,16 @@ void KEduVocDocument::setUrl( const KUrl& url ) QString KEduVocDocument::title() const { - if ( d->m_rootLesson->name().isEmpty() ) + if ( d->m_lessonContainer->name().isEmpty() ) return d->m_url.fileName(); else - return d->m_rootLesson->name(); + return d->m_lessonContainer->name(); } void KEduVocDocument::setTitle( const QString & title ) { - d->m_rootLesson->setName(title.simplified()); + d->m_lessonContainer->setName(title.simplified()); } diff --git a/keduvocdocument/keduvocdocument.h b/keduvocdocument/keduvocdocument.h index 6f4866b..4aa3c6c 100644 --- a/keduvocdocument/keduvocdocument.h +++ b/keduvocdocument/keduvocdocument.h @@ -340,7 +340,9 @@ public: */ KEduVocLesson * lesson(); - KEduVocLesson * wordTypeLesson(); + KEduVocLesson * wordTypeContainer(); + + KEduVocLesson * leitnerContainer(); // *** file format specific methods *** diff --git a/keduvocdocument/keduvockvtml2reader.cpp b/keduvocdocument/keduvockvtml2reader.cpp index be6b0f0..e27079a 100644 --- a/keduvocdocument/keduvockvtml2reader.cpp +++ b/keduvocdocument/keduvockvtml2reader.cpp @@ -316,7 +316,7 @@ QString wordTypeString = typeElement.text(); typeElement = currentElement.firstChildElement( KVTML_SUBTYPENAME ); QString childWordTypeString = typeElement.text(); -KEduVocLesson* typeLesson = m_doc->wordTypeLesson()->childLesson(wordTypeString); +KEduVocLesson* typeLesson = m_doc->wordTypeContainer()->childLesson(wordTypeString); if(!childWordTypeString.isEmpty()) { typeLesson = typeLesson->childLesson(childWordTypeString); } @@ -547,8 +547,8 @@ bool KEduVocKvtml2Reader::readTypes( QDomElement &typesElement ) } m_doc->wordTypes().addType( mainTypeName, specialType ); - KEduVocLesson * wordTypeLesson = new KEduVocLesson(mainTypeName, m_doc->wordTypeLesson()); - m_doc->wordTypeLesson()->appendChildLesson(wordTypeLesson); + KEduVocLesson * wordTypeContainer = new KEduVocLesson(mainTypeName, m_doc->wordTypeContainer()); + m_doc->wordTypeContainer()->appendChildLesson(wordTypeContainer); // iterate sub type elements QDomElement currentSubTypeElement = currentTypeElement.firstChildElement( KVTML_SUBWORDTYPEDEFINITION ); @@ -573,8 +573,8 @@ bool KEduVocKvtml2Reader::readTypes( QDomElement &typesElement ) specialSubType ); currentSubTypeElement = currentSubTypeElement.nextSiblingElement( KVTML_SUBWORDTYPEDEFINITION ); - KEduVocLesson * subWordTypeLesson = new KEduVocLesson(subTypeName, wordTypeLesson); - wordTypeLesson->appendChildLesson(subWordTypeLesson); + KEduVocLesson * subWordTypeLesson = new KEduVocLesson(subTypeName, wordTypeContainer); + wordTypeContainer->appendChildLesson(subWordTypeLesson); } currentTypeElement = currentTypeElement.nextSiblingElement( KVTML_WORDTYPEDEFINITION ); diff --git a/keduvocdocument/keduvockvtml2writer.cpp b/keduvocdocument/keduvockvtml2writer.cpp index 8b930e1..5c8af09 100644 --- a/keduvocdocument/keduvockvtml2writer.cpp +++ b/keduvocdocument/keduvockvtml2writer.cpp @@ -366,10 +366,10 @@ bool KEduVocKvtml2Writer::writeTranslation( QDomElement &translationElement, KEd translationElement.appendChild( wordTypeElement ); //noun - if(translation->wordType()->parent() == m_doc->wordTypeLesson()) { + if(translation->wordType()->parent() == m_doc->wordTypeContainer()) { wordTypeElement.appendChild( newTextElement( KVTML_TYPENAME, translation->wordType()->name() ) ); } else { - if(translation->wordType()->parent()->parent() == m_doc->wordTypeLesson()) { + if(translation->wordType()->parent()->parent() == m_doc->wordTypeContainer()) { wordTypeElement.appendChild( newTextElement( KVTML_TYPENAME, translation->wordType()->parent()->name() ) ); // male wordTypeElement.appendChild( newTextElement( KVTML_SUBTYPENAME, translation->wordType()->name() ) ); -- 2.47.3