From: Frederik Gladhorn Date: Sun, 7 Oct 2007 14:42:07 +0000 (+0000) Subject: Read plural pronouns correctly from old docs. X-Git-Tag: v3.94.0~2 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=89baeace6fa416088d49d2b59a50517465eca059;p=libqmvoc.git Read plural pronouns correctly from old docs. Add isEmpty() to conjugations. Attempt to make conjugations a little less broken: - empty conjugations are ignored - a stringlist contains possible tenses to practice - for now only the first not empty tense is practiced svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=722531 --- diff --git a/keduvocdocument/keduvocconjugation.cpp b/keduvocdocument/keduvocconjugation.cpp index 786390a..9439f54 100644 --- a/keduvocdocument/keduvocconjugation.cpp +++ b/keduvocdocument/keduvocconjugation.cpp @@ -96,7 +96,14 @@ QString KEduVocConjugation::conjugation(ConjugationPerson person, ConjugationNum void KEduVocConjugation::setConjugation(const QString & conjugation, ConjugationPerson person, ConjugationNumber number) { - d->m_conjugations[indexOf(person, number)] = conjugation; + if ( !conjugation.isEmpty() ) { + d->m_conjugations[indexOf(person, number)] = conjugation; + } else { + // if we received an empty string, remove the element. + if ( d->m_conjugations.contains(indexOf(person, number)) ) { + d->m_conjugations.remove(indexOf(person, number)); + } + } } @@ -105,3 +112,9 @@ int KEduVocConjugation::indexOf(ConjugationPerson person, ConjugationNumber numb return person + PersonMAX * number; } + +bool KEduVocConjugation::isEmpty() +{ + return d->m_conjugations.count() == 0; +} + diff --git a/keduvocdocument/keduvocconjugation.h b/keduvocdocument/keduvocconjugation.h index 56e17e2..789dff7 100644 --- a/keduvocdocument/keduvocconjugation.h +++ b/keduvocdocument/keduvocconjugation.h @@ -69,6 +69,8 @@ public: QString conjugation(ConjugationPerson person, ConjugationNumber number) const; void setConjugation(const QString& conjugation, ConjugationPerson person, ConjugationNumber number); + bool isEmpty(); + private: class Private; Private* const d; diff --git a/keduvocdocument/keduvockvtmlreader.cpp b/keduvocdocument/keduvockvtmlreader.cpp index c8ae91b..cd10a82 100644 --- a/keduvocdocument/keduvockvtmlreader.cpp +++ b/keduvocdocument/keduvockvtmlreader.cpp @@ -604,8 +604,8 @@ bool KEduVocKvtmlReader::readPersonalPronouns( QDomElement &domElementParent, KE const KEduVocConjugation::ConjugationNumber numP = KEduVocConjugation::Plural; - pronouns.setPersonalPronoun( pers1_sing, KEduVocConjugation::First, numP ); - pronouns.setPersonalPronoun( pers2_sing, KEduVocConjugation::Second, numP ); + pronouns.setPersonalPronoun( pers1_plur, KEduVocConjugation::First, numP ); + pronouns.setPersonalPronoun( pers2_plur, KEduVocConjugation::Second, numP ); if ( p3_common ) { pronouns.setPersonalPronoun( pers3_f_plur, KEduVocConjugation::ThirdNeutralCommon, numP ); } else { diff --git a/keduvocdocument/keduvockvtmlwriter.cpp b/keduvocdocument/keduvockvtmlwriter.cpp index 2493650..04e0584 100644 --- a/keduvocdocument/keduvockvtmlwriter.cpp +++ b/keduvocdocument/keduvockvtmlwriter.cpp @@ -411,7 +411,8 @@ bool KEduVocKvtmlWriter::writeArticle( QDomElement &domElementParent ) bool KEduVocKvtmlWriter::writeType( QDomElement &domElementParent ) { - /** @todo port to new type handling + /** @todo port to new type handling */ + /* if (m_doc->typeDescriptions().count() == 0) return true;