/***************************************************************************
- export a KEduVocDocument to a KVTML file
+* this file is from kdeedu project. Filename: keduvockvtmlwriter.cpp
+***************************************************************************/
+
+/***************************************************************************
+ export a QmVocDocument to a KVTML file
-----------------------------------------------------------------------
copyright : (C) 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de>
(C) 2005 Eric Pignet <eric at erixpage.com>
(C) 2007 Peter Hedlund <peter.hedlund@kdemail.net>
(C) 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
+ (C) 2010, 2012 Reto Zingg <g.d0b3rm4n@gmail.com>
+
***************************************************************************/
/***************************************************************************
* *
***************************************************************************/
-#include "keduvockvtmlwriter.h"
+#include "qmvockvtmlwriter.h"
#include <QtCore/QLatin1String>
#include <QtCore/QTextStream>
#include <QtCore/QFile>
-#include <KDebug>
+// #include <KDebug>
+#include <QDebug>
-#include "keduvocdocument.h"
-#include "keduvocgrade.h"
-#include "keduvoclesson.h"
-#include "keduvocexpression.h"
+#include "qmvocdocument.h"
+// #include "qmvocgrade.h"
+#include "qmvoclesson.h"
+#include "qmvocexpression.h"
#include "kvtmldefs.h"
-#include "keduvoccommon_p.h"
+#include "qmvoccommon_p.h"
-KEduVocKvtmlWriter::KEduVocKvtmlWriter( QFile *file )
+QmVocKvtmlWriter::QmVocKvtmlWriter( QFile *file )
{
// the file must be already open
m_outputFile = file;
}
-bool KEduVocKvtmlWriter::writeDoc( KEduVocDocument *doc, const QString &generator )
+bool QmVocKvtmlWriter::writeDoc( QmVocDocument *doc, const QString &generator )
{
bool first_expr = true;
if ( !writeArticle( domElementKvtml ) )
return false;
- QList<KEduVocPersonalPronoun> pronouns;
+ QList<QmVocPersonalPronoun> pronouns;
for ( int i = 0; i < m_doc->identifierCount(); i++ )
pronouns.append( m_doc->identifier(i).personalPronouns() );
if ( pronouns.count() > 0 ) {
int entryCount = m_doc->entryCount();
for ( int i = 0; i < entryCount; i++ ) {
- KEduVocExpression *entry = m_doc->entry( i );
+ QmVocExpression *entry = m_doc->entry( i );
QDomElement domElementExpression = m_domDoc.createElement( KV_EXPR );
if ( entry->lesson() != 0 ) {
} else if ( entype == QM_ADJ && !entry->translation( 0 ).comparison().isEmpty() ) {
- KEduVocComparison comp = entry->translation( 0 ).comparison();
+ QmVocComparison comp = entry->translation( 0 ).comparison();
if ( !writeComparison(domElementOriginal, comp ) )
return false;
}
}
if ( entype == QM_ADJ && !entry->translation( trans ).comparison().isEmpty() ) {
- KEduVocComparison comp = entry->translation( trans ).comparison();
+ QmVocComparison comp = entry->translation( trans ).comparison();
if ( !writeComparison(domElementTranslation, comp ) )
return false;
}
}
-bool KEduVocKvtmlWriter::writeLesson( QDomElement &domElementParent )
+bool QmVocKvtmlWriter::writeLesson( QDomElement &domElementParent )
{
if ( m_doc->lessonCount() == 0 )
return true;
}
-bool KEduVocKvtmlWriter::writeArticle( QDomElement &domElementParent )
+bool QmVocKvtmlWriter::writeArticle( QDomElement &domElementParent )
/*
<article>
<e l="de"> lang determines also lang order in entries !!
QString articleString;
// female
- articleString = m_doc->identifier(i).article().article( KEduVocWordFlag::Singular | KEduVocWordFlag::Definite | KEduVocWordFlag::Feminine );
+ articleString = m_doc->identifier(i).article().article( QmVocWordFlag::Singular | QmVocWordFlag::Definite | QmVocWordFlag::Feminine );
if ( !articleString.isEmpty() ) {
QDomElement domElementFD = m_domDoc.createElement( KV_ART_FD );
QDomText domTextFD = m_domDoc.createTextNode( articleString );
domElementFD.appendChild( domTextFD );
domElementEntry.appendChild( domElementFD );
}
- articleString = m_doc->identifier(i).article().article( KEduVocWordFlag::Singular | KEduVocWordFlag::Indefinite | KEduVocWordFlag::Feminine );
+ articleString = m_doc->identifier(i).article().article( QmVocWordFlag::Singular | QmVocWordFlag::Indefinite | QmVocWordFlag::Feminine );
if ( !articleString.isEmpty() ) {
QDomElement domElementFI = m_domDoc.createElement( KV_ART_FI );
QDomText domTextFI = m_domDoc.createTextNode( articleString );
// male
- articleString = m_doc->identifier(i).article().article( KEduVocWordFlag::Singular | KEduVocWordFlag::Definite | KEduVocWordFlag::Masculine );
+ articleString = m_doc->identifier(i).article().article( QmVocWordFlag::Singular | QmVocWordFlag::Definite | QmVocWordFlag::Masculine );
if ( !articleString.isEmpty() ) {
QDomElement domElementMD = m_domDoc.createElement( KV_ART_MD );
QDomText domTextMD = m_domDoc.createTextNode( articleString );
domElementMD.appendChild( domTextMD );
domElementEntry.appendChild( domElementMD );
}
- articleString = m_doc->identifier(i).article().article( KEduVocWordFlag::Singular | KEduVocWordFlag::Indefinite | KEduVocWordFlag::Masculine );
+ articleString = m_doc->identifier(i).article().article( QmVocWordFlag::Singular | QmVocWordFlag::Indefinite | QmVocWordFlag::Masculine );
if ( !articleString.isEmpty() ) {
QDomElement domElementMI = m_domDoc.createElement( KV_ART_MI );
QDomText domTextMI = m_domDoc.createTextNode( articleString );
}
// neutral
- articleString = m_doc->identifier(i).article().article( KEduVocWordFlag::Singular | KEduVocWordFlag::Definite | KEduVocWordFlag::Neutral );
+ articleString = m_doc->identifier(i).article().article( QmVocWordFlag::Singular | QmVocWordFlag::Definite | QmVocWordFlag::Neutral );
if ( !articleString.isEmpty() ) {
QDomElement domElementND = m_domDoc.createElement( KV_ART_ND );
QDomText domTextND = m_domDoc.createTextNode( articleString );
domElementND.appendChild( domTextND );
domElementEntry.appendChild( domElementND );
}
- articleString = m_doc->identifier(i).article().article( KEduVocWordFlag::Singular | KEduVocWordFlag::Indefinite | KEduVocWordFlag::Neutral );
+ articleString = m_doc->identifier(i).article().article( QmVocWordFlag::Singular | QmVocWordFlag::Indefinite | QmVocWordFlag::Neutral );
if ( !articleString.isEmpty() ) {
QDomElement domElementNI = m_domDoc.createElement( KV_ART_NI );
QDomText domTextNI = m_domDoc.createTextNode( articleString );
}
-bool KEduVocKvtmlWriter::writeType( QDomElement &domElementParent )
+bool QmVocKvtmlWriter::writeType( QDomElement &domElementParent )
{
/** @todo port to new type handling */
/*
}
/*
-bool KEduVocKvtmlWriter::writeTense( QDomElement &domElementParent )
+bool QmVocKvtmlWriter::writeTense( QDomElement &domElementParent )
{
if ( m_doc->tenseDescriptions().count() == 0 )
return true;
}
*/
-bool KEduVocKvtmlWriter::writeUsage( QDomElement &domElementParent )
+bool QmVocKvtmlWriter::writeUsage( QDomElement &domElementParent )
{
///@todo usages
}
-bool KEduVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const KEduVocTranslation* translation )
+bool QmVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const QmVocTranslation* translation )
/*
<comparison>
<l1>good</l1>
}
-bool KEduVocKvtmlWriter::writeMultipleChoice( QDomElement &domElementParent, const KEduVocMultipleChoice &mc )
+bool QmVocKvtmlWriter::writeMultipleChoice( QDomElement &domElementParent, const QmVocMultipleChoice &mc )
/*
<multiplechoice>
<mc1>good</mc1>
}
-bool KEduVocKvtmlWriter::writeConjugHeader( QDomElement &domElementParent, QList<KEduVocConjugation> &curr_conjug )
+bool QmVocKvtmlWriter::writeConjugHeader( QDomElement &domElementParent, QList<QmVocConjugation> &curr_conjug )
{
/*
<conjugation> used in header for definiton of "prefix"
}
-bool KEduVocKvtmlWriter::writeConjugEntry( QDomElement &domElementParent, KEduVocTranslation &translation )
+bool QmVocKvtmlWriter::writeConjugEntry( QDomElement &domElementParent, QmVocTranslation &translation )
/*
<conjugation> in entry for definition of tenses of (irreg.) verbs
<t n="sipa">
}
-bool KEduVocKvtmlWriter::writeConjug( QDomElement &domElementParent, const KEduVocConjugation &curr_conjug, const QString &type )
+bool QmVocKvtmlWriter::writeConjug( QDomElement &domElementParent, const QmVocConjugation &curr_conjug, const QString &type )
{
///@todo if we are to enable the writer: port this!
/*
}
return true; */
- kDebug() << "Implement me!";
+ qDebug() << "Implement me!";
return false;
}
-bool KEduVocKvtmlWriter::writePersonalPronouns( QDomElement &domElementParent, QList<KEduVocPersonalPronoun> &curr_conjug )
+bool QmVocKvtmlWriter::writePersonalPronouns( QDomElement &domElementParent, QList<QmVocPersonalPronoun> &curr_conjug )
{
/*
<conjugation> used in header for definiton of "prefix"
}
-bool KEduVocKvtmlWriter::writePersonalPronounChild( QDomElement &domElementParent, const KEduVocPersonalPronoun &curr_conjug )
+bool QmVocKvtmlWriter::writePersonalPronounChild( QDomElement &domElementParent, const QmVocPersonalPronoun &curr_conjug )
{
// the old stuff only has singular
- const KEduVocWordFlag::ConjugationNumber num = KEduVocWordFlag::Singular;
+ const QmVocWordFlag::ConjugationNumber num = QmVocWordFlag::Singular;
- if ( !curr_conjug.personalPronoun( KEduVocWordFlag::First, num ).isEmpty() ) {
- domElementParent.appendChild( newTextElement( KV_CON_P1S, curr_conjug.personalPronoun( KEduVocWordFlag::First, num ) ) );
+ if ( !curr_conjug.personalPronoun( QmVocWordFlag::First, num ).isEmpty() ) {
+ domElementParent.appendChild( newTextElement( KV_CON_P1S, curr_conjug.personalPronoun( QmVocWordFlag::First, num ) ) );
}
- if ( !curr_conjug.personalPronoun( KEduVocWordFlag::Second, num ).isEmpty() ) {
- domElementParent.appendChild( newTextElement( KV_CON_P2S, curr_conjug.personalPronoun( KEduVocWordFlag::Second, num ) ) );
+ if ( !curr_conjug.personalPronoun( QmVocWordFlag::Second, num ).isEmpty() ) {
+ domElementParent.appendChild( newTextElement( KV_CON_P2S, curr_conjug.personalPronoun( QmVocWordFlag::Second, num ) ) );
}
///@todo if the writer ever becomes enabled, write the other pronouns
return true;
}
-QDomElement KEduVocKvtmlWriter::newTextElement( const QString &elementName, const QString &text )
+QDomElement QmVocKvtmlWriter::newTextElement( const QString &elementName, const QString &text )
{
QDomElement retval = m_domDoc.createElement( elementName );
QDomText textNode = m_domDoc.createTextNode( text );