From 2c5088fc112decc6e1d164b7a17ba55940e39748 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 13 Jun 2007 12:19:27 +0000 Subject: [PATCH] Reactivate the ported readers/writers. svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=674892 --- kdeeducore/CMakeLists.txt | 12 +++---- kdeeducore/keduvoccsvwriter.cpp | 2 +- kdeeducore/keduvocdocument.cpp | 6 ++-- kdeeducore/keduvockvtmlreader.cpp | 52 +++++++++++++++------------- kdeeducore/keduvocvokabelnreader.cpp | 8 ++--- 5 files changed, 42 insertions(+), 38 deletions(-) diff --git a/kdeeducore/CMakeLists.txt b/kdeeducore/CMakeLists.txt index 4dc9abe..5bd5937 100644 --- a/kdeeducore/CMakeLists.txt +++ b/kdeeducore/CMakeLists.txt @@ -2,8 +2,8 @@ ########### next target ############### set(kdeeducore_LIB_SRCS -# keduvoccsvreader.cpp -# keduvoccsvwriter.cpp + keduvoccsvreader.cpp + keduvoccsvwriter.cpp keduvocdocument.cpp keduvocexpression.cpp keduvoctranslation.cpp @@ -12,10 +12,10 @@ set(kdeeducore_LIB_SRCS keduvockvtmlreader.cpp keduvockvtmlwriter.cpp keduvocmultiplechoice.cpp -# keduvocpaukerreader.cpp -# keduvocvokabelnreader.cpp -# keduvocwqlreader.cpp -# keduvocxdxfreader.cpp + keduvocpaukerreader.cpp + keduvocvokabelnreader.cpp + keduvocwqlreader.cpp + keduvocxdxfreader.cpp leitnerbox.cpp leitnersystem.cpp leitnersystemview.cpp diff --git a/kdeeducore/keduvoccsvwriter.cpp b/kdeeducore/keduvoccsvwriter.cpp index 7e2745b..4e0deac 100644 --- a/kdeeducore/keduvoccsvwriter.cpp +++ b/kdeeducore/keduvoccsvwriter.cpp @@ -63,7 +63,7 @@ bool KEduVocCsvWriter::writeDoc(KEduVocDocument *doc, const QString &generator) else currentRow += separator; - currentRow += expression->translation(i); + currentRow += expression->translation(i).translation(); } if (!currentRow.isEmpty()) diff --git a/kdeeducore/keduvocdocument.cpp b/kdeeducore/keduvocdocument.cpp index 2692b9b..001f44d 100644 --- a/kdeeducore/keduvocdocument.cpp +++ b/kdeeducore/keduvocdocument.cpp @@ -235,7 +235,7 @@ bool KEduVocDocument::open(const KUrl& url) errorMessage = kvtmlReader.errorMessage(); } break; -/* + case wql: { KEduVocWqlReader wqlReader(f); @@ -284,7 +284,7 @@ bool KEduVocDocument::open(const KUrl& url) errorMessage = i18n("Parse error at line %1, column %2:\n%3", xdxfReader.lineNumber(), xdxfReader.columnNumber(), xdxfReader.errorString()); } break; -*/ + default: { KEduVocKvtmlReader kvtmlReader(f); @@ -953,7 +953,7 @@ void KEduVocDocument::resetEntry(int index, int lesson) int KEduVocDocument::identifierCount() const { - return d->m_identifiers.count(); // org + translations + return d->m_identifiers.count(); // number of translations } diff --git a/kdeeducore/keduvockvtmlreader.cpp b/kdeeducore/keduvockvtmlreader.cpp index 32916a1..a84c439 100644 --- a/kdeeducore/keduvockvtmlreader.cpp +++ b/kdeeducore/keduvockvtmlreader.cpp @@ -279,6 +279,8 @@ bool KEduVocKvtmlReader::readArticle(QDomElement &domElementParent) return false; for (int i = 0; i < entryList.count(); ++i) { + +kDebug() << "KEduVocKvtmlReader::readArticle() read " << entryList.count() << " articles. " << endl; currentElement = entryList.item(i).toElement(); if (currentElement.parentNode() == domElementParent) { QString lang; @@ -292,6 +294,7 @@ bool KEduVocKvtmlReader::readArticle(QDomElement &domElementParent) else lang = "original"; m_doc->appendIdentifier(lang); +kDebug() << " Identifier " << i << " is " << lang << endl; } else { @@ -1167,32 +1170,33 @@ bool KEduVocKvtmlReader::readExpression(QDomElement &domElementParent) if (query_id == KV_T) q_trans = lang; } - - if (m_doc->identifierCount() <= i) - { - // new translation - if (lang.isEmpty()) - { - if (i == 0) - lang = "original"; - else - { - // no definition in first entry ? - lang.setNum(m_doc->identifierCount()); - lang.prepend("translation "); - } +kDebug() << " Entry count: " << m_doc->entryCount() << endl; + if (m_doc->entryCount() == 0) { // this is because in kvtml the languages are saved in the FIRST ENTRY ONLY. +kDebug() << " Read Expression with identifiers: " << i << endl; + // new translation + if (lang.isEmpty()) + { + kDebug() << "LANG IS EMPTY! " << endl; + if (i == 0) + lang = "original"; + else + { + // no definition in first entry ? + lang.setNum(m_doc->identifierCount()); + lang.prepend("translation "); + } + } + m_doc->appendIdentifier(lang); } - m_doc->appendIdentifier(lang); - } - else - { - if (lang != m_doc->identifier(i) && !lang.isEmpty()) + else { - // different language ? - m_errorMessage = i18n("ambiguous definition of language code"); - return false; + if (lang != m_doc->identifier(i) && !lang.isEmpty()) + { + // different language ? + m_errorMessage = i18n("ambiguous definition of language code"); + return false; + } } - } //--------- // Children @@ -1239,8 +1243,8 @@ bool KEduVocKvtmlReader::readExpression(QDomElement &domElementParent) for ( int conjugationIndex = 0; conjugationIndex < conjug.size(); conjugationIndex++ ) { expr.translation(i).setConjugation(conjug[conjugationIndex]); } - //expr.setConjugation(i, conjug[0]); ///@todo check if this is better than the above! + conjug.clear(); } if (!comparison.isEmpty()) diff --git a/kdeeducore/keduvocvokabelnreader.cpp b/kdeeducore/keduvocvokabelnreader.cpp index fb88c00..ad522a2 100644 --- a/kdeeducore/keduvocvokabelnreader.cpp +++ b/kdeeducore/keduvocvokabelnreader.cpp @@ -121,11 +121,11 @@ bool KEduVocVokabelnReader::readDoc(KEduVocDocument *doc) lesson = words[2].toInt(); KEduVocExpression kve; - kve.setOriginal(original); - kve.setGrade(1, 0, false); - kve.setGrade(1, 0, true); + kve.setTranslation(0, original); + kve.setTranslation(1, translation); + kve.translation(1).setGrade(0, 0); + kve.translation(0).setGrade(1, 0); kve.setLesson(lesson); - kve.addTranslation(translation); m_doc->appendEntry(&kve); -- 2.47.3