########### next target ###############
set(kdeeducore_LIB_SRCS
-# keduvoccsvreader.cpp
-# keduvoccsvwriter.cpp
+ keduvoccsvreader.cpp
+ keduvoccsvwriter.cpp
keduvocdocument.cpp
keduvocexpression.cpp
keduvoctranslation.cpp
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
errorMessage = kvtmlReader.errorMessage();
}
break;
-/*
+
case wql:
{
KEduVocWqlReader wqlReader(f);
errorMessage = i18n("Parse error at line %1, column %2:\n%3", xdxfReader.lineNumber(), xdxfReader.columnNumber(), xdxfReader.errorString());
}
break;
-*/
+
default:
{
KEduVocKvtmlReader kvtmlReader(f);
int KEduVocDocument::identifierCount() const
{
- return d->m_identifiers.count(); // org + translations
+ return d->m_identifiers.count(); // number of translations
}
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;
else
lang = "original";
m_doc->appendIdentifier(lang);
+kDebug() << " Identifier " << i << " is " << lang << endl;
}
else
{
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
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())
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);