]> Git trees. - libqmvoc.git/commitdiff
adapt qmvocconjugation.cpp for querymee
authorReto Zingg <g.d0b3rm4n@gmail.com>
Sat, 15 Dec 2012 17:28:48 +0000 (19:28 +0200)
committerReto Zingg <g.d0b3rm4n@gmail.com>
Sat, 21 Sep 2013 10:42:45 +0000 (13:42 +0300)
qmvocconjugation.cpp

index eb2382bbfa75446bb4999ee67fd9e47fef077f37..2b607024316293e5ac84e66ff7f0ce65b1cfcba3 100644 (file)
@@ -1,12 +1,17 @@
 /***************************************************************************
+*   this file is from kdeedu project. Filename: keduvocconjugation.cpp
+***************************************************************************/
 
-    C++ Implementation: keduvocconjugation
+/***************************************************************************
+
+    C++ Implementation: qmvocconjugation
 
     -----------------------------------------------------------------------
 
     begin         : Di Aug 28 2007
 
     copyright     : (C) 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
+    Copyright     : (C) 2010, 2012 Reto Zingg <g.d0b3rm4n@gmail.com>
 
     -----------------------------------------------------------------------
 
  *                                                                         *
  ***************************************************************************/
 
-#include "keduvocconjugation.h"
-#include "keduvoccommon_p.h"
-#include "keduvoctext.h"
+#include "qmvocconjugation.h"
+#include "qmvoccommon_p.h"
+#include "qmvoctext.h"
 #include "kvtml2defs.h"
 
 #include <QtCore/QMap>
 #include <QtXml/QDomDocument>
-#include <kdebug.h>
+#include <QDebug>
 
-class KEduVocConjugation::Private
+class QmVocConjugation::Private
 {
 public:
-    QMap<KEduVocWordFlags, KEduVocText> m_conjugations;
+    QMap<QmVocWordFlags, QmVocText> m_conjugations;
 };
 
 
-KEduVocConjugation::KEduVocConjugation()
+QmVocConjugation::QmVocConjugation()
         : d( new Private )
 {}
 
 
-KEduVocConjugation::KEduVocConjugation( const KEduVocConjugation& other )
+QmVocConjugation::QmVocConjugation( const QmVocConjugation& other )
         : d( new Private )
 {
     d->m_conjugations = other.d->m_conjugations;
 }
 
 
-KEduVocConjugation::~KEduVocConjugation()
+QmVocConjugation::~QmVocConjugation()
 {
     delete d;
 }
 
-KEduVocConjugation& KEduVocConjugation::operator = ( const KEduVocConjugation& other )
+QmVocConjugation& QmVocConjugation::operator = ( const QmVocConjugation& other )
 {
     d->m_conjugations = other.d->m_conjugations;
     return *this;
 }
 
-bool KEduVocConjugation::operator ==(const KEduVocConjugation& other) const
+bool QmVocConjugation::operator ==(const QmVocConjugation& other) const
 {
     return d->m_conjugations == other.d->m_conjugations;
 }
 
 
 
-KEduVocText& KEduVocConjugation::conjugation(KEduVocWordFlags flags) const
+QmVocText& QmVocConjugation::conjugation(QmVocWordFlags flags) const
 {
-        return d->m_conjugations[flags & (KEduVocWordFlag::persons | KEduVocWordFlag::numbers | KEduVocWordFlag::genders)];
+        return d->m_conjugations[flags & (QmVocWordFlag::persons | QmVocWordFlag::numbers | QmVocWordFlag::genders)];
 }
 
-void KEduVocConjugation::setConjugation(const KEduVocText& conjugation, KEduVocWordFlags flags)
+void QmVocConjugation::setConjugation(const QmVocText& conjugation, QmVocWordFlags flags)
 {
-    d->m_conjugations[flags & (KEduVocWordFlag::persons | KEduVocWordFlag::numbers | KEduVocWordFlag::genders)] = conjugation;
+    d->m_conjugations[flags & (QmVocWordFlag::persons | QmVocWordFlag::numbers | QmVocWordFlag::genders)] = conjugation;
 }
 
-bool KEduVocConjugation::isEmpty()
+bool QmVocConjugation::isEmpty()
 {
     return d->m_conjugations.isEmpty();
 }
 
-QList< KEduVocWordFlags > KEduVocConjugation::keys()
+QList< QmVocWordFlags > QmVocConjugation::keys()
 {
     return d->m_conjugations.keys();
 }
 
-void KEduVocConjugation::toKVTML2(QDomElement & parent, const QString &tense)
+void QmVocConjugation::toKVTML2(QDomElement & parent, const QString &tense)
 {
     if (isEmpty()) {
         return;
     }
 
-    QMap<int, KEduVocWordFlag::Flags> numbers;
-    numbers[0] = KEduVocWordFlag::Singular;
-    numbers[1] = KEduVocWordFlag::Dual;
-    numbers[2] = KEduVocWordFlag::Plural;
-    QMap<int, KEduVocWordFlag::Flags> persons;
-    persons[0] = KEduVocWordFlag::First;
-    persons[1] = KEduVocWordFlag::Second;
-    persons[2] = (KEduVocWordFlag::Flags)((int)KEduVocWordFlag::Third | (int)KEduVocWordFlag::Masculine);
-    persons[3] = (KEduVocWordFlag::Flags)((int)KEduVocWordFlag::Third | (int)KEduVocWordFlag::Feminine);
-    persons[4] = (KEduVocWordFlag::Flags)((int)KEduVocWordFlag::Third | (int)KEduVocWordFlag::Neuter);
+    QMap<int, QmVocWordFlag::Flags> numbers;
+    numbers[0] = QmVocWordFlag::Singular;
+    numbers[1] = QmVocWordFlag::Dual;
+    numbers[2] = QmVocWordFlag::Plural;
+    QMap<int, QmVocWordFlag::Flags> persons;
+    persons[0] = QmVocWordFlag::First;
+    persons[1] = QmVocWordFlag::Second;
+    persons[2] = (QmVocWordFlag::Flags)((int)QmVocWordFlag::Third | (int)QmVocWordFlag::Masculine);
+    persons[3] = (QmVocWordFlag::Flags)((int)QmVocWordFlag::Third | (int)QmVocWordFlag::Feminine);
+    persons[4] = (QmVocWordFlag::Flags)((int)QmVocWordFlag::Third | (int)QmVocWordFlag::Neuter);
 
     QDomDocument domDoc = parent.ownerDocument();
 
@@ -112,13 +117,13 @@ void KEduVocConjugation::toKVTML2(QDomElement & parent, const QString &tense)
         tenseElement.appendChild( domDoc.createTextNode(tense) );
         parent.appendChild(tenseElement);
     } else {
-        kDebug() << "Saving conjugation with empty tense";
+        qDebug() << "Saving conjugation with empty tense";
     }
 
     for ( int num = 0; num <= 2; ++num) {
         QDomElement numberElement = domDoc.createElement( KVTML_GRAMMATICAL_NUMBER[num] );
         for ( int person = 0; person < 5; ++person) {
-            KEduVocWordFlags curFlags = numbers[num] | persons[person];
+            QmVocWordFlags curFlags = numbers[num] | persons[person];
 
             if (keys().contains(curFlags) && !conjugation(curFlags).isEmpty()) {
                 QDomElement personElement = domDoc.createElement( KVTML_GRAMMATICAL_PERSON[person] );
@@ -135,27 +140,27 @@ void KEduVocConjugation::toKVTML2(QDomElement & parent, const QString &tense)
 /*
 
         QString first = conjugation.conjugation(
-                KEduVocConjugation::First, num );
+                QmVocConjugation::First, num );
         QString second = conjugation.conjugation(
-                KEduVocConjugation::Second, num );
+                QmVocConjugation::Second, num );
         QString third_male = conjugation.conjugation(
-                KEduVocConjugation::ThirdMale, num );
+                QmVocConjugation::ThirdMale, num );
         QString third_female = conjugation.conjugation(
-                KEduVocConjugation::ThirdFemale, num );
+                QmVocConjugation::ThirdFemale, num );
         QString third_neutral = conjugation.conjugation(
-                KEduVocConjugation::ThirdNeutralCommon, num );
+                QmVocConjugation::ThirdNeutralCommon, num );
 
         if ( !first.isEmpty() || !second.isEmpty() || !third_female.isEmpty() ||
               !third_male.isEmpty() || !third_neutral.isEmpty() ) {
             QDomElement number;
             switch (num) {
-                case KEduVocConjugation::Singular:
+                case QmVocConjugation::Singular:
                     number = m_domDoc.createElement( KVTML_SINGULAR );
                     break;
-                case KEduVocConjugation::Dual:
+                case QmVocConjugation::Dual:
                     number = m_domDoc.createElement( KVTML_DUAL );
                     break;
-                case KEduVocConjugation::Plural:
+                case QmVocConjugation::Plural:
                     number = m_domDoc.createElement( KVTML_PLURAL );
                     break;
             }
@@ -172,9 +177,9 @@ void KEduVocConjugation::toKVTML2(QDomElement & parent, const QString &tense)
 
 
     /*
-    for ( KEduVocWordFlag::DeclensionNumber num = KEduVocWordFlag::Singular; num <= KEduVocWordFlag::Plural; num = KEduVocWordFlag::DeclensionNumber(num +1) ) {
+    for ( QmVocWordFlag::DeclensionNumber num = QmVocWordFlag::Singular; num <= QmVocWordFlag::Plural; num = QmVocWordFlag::DeclensionNumber(num +1) ) {
         QDomElement numberElement = domDoc.createElement( KVTML_GRAMMATICAL_NUMBER[num] );
-        for ( KEduVocWordFlag::DeclensionCase dcase = KEduVocWordFlag::Nominative; dcase < KEduVocWordFlag::DeclensionCaseMAX; dcase = KEduVocWordFlag::DeclensionCase(dcase +1) ) {
+        for ( QmVocWordFlag::DeclensionCase dcase = QmVocWordFlag::Nominative; dcase < QmVocWordFlag::DeclensionCaseMAX; dcase = QmVocWordFlag::DeclensionCase(dcase +1) ) {
             QDomElement caseElement = domDoc.createElement( KVTML_DECLENSION_CASE[dcase] );
             declension(num, dcase).toKVTML2(caseElement);
 
@@ -191,26 +196,26 @@ void KEduVocConjugation::toKVTML2(QDomElement & parent, const QString &tense)
 
 
 
-KEduVocConjugation* KEduVocConjugation::fromKVTML2(QDomElement & parent)
+QmVocConjugation* QmVocConjugation::fromKVTML2(QDomElement & parent)
 {
     // sanity check
     if (parent.isNull()) {
         return 0;
     }
 
-    QMap<int, KEduVocWordFlag::Flags> numbers;
-    numbers[0] = KEduVocWordFlag::Singular;
-    numbers[1] = KEduVocWordFlag::Dual;
-    numbers[2] = KEduVocWordFlag::Plural;
-    QMap<int, KEduVocWordFlag::Flags> persons;
-    persons[0] = KEduVocWordFlag::First;
-    persons[1] = KEduVocWordFlag::Second;
-    persons[2] = (KEduVocWordFlag::Flags)((int)KEduVocWordFlag::Third | (int)KEduVocWordFlag::Masculine);
-    persons[3] = (KEduVocWordFlag::Flags)((int)KEduVocWordFlag::Third | (int)KEduVocWordFlag::Feminine);
-    persons[4] = (KEduVocWordFlag::Flags)((int)KEduVocWordFlag::Third | (int)KEduVocWordFlag::Neuter);
+    QMap<int, QmVocWordFlag::Flags> numbers;
+    numbers[0] = QmVocWordFlag::Singular;
+    numbers[1] = QmVocWordFlag::Dual;
+    numbers[2] = QmVocWordFlag::Plural;
+    QMap<int, QmVocWordFlag::Flags> persons;
+    persons[0] = QmVocWordFlag::First;
+    persons[1] = QmVocWordFlag::Second;
+    persons[2] = (QmVocWordFlag::Flags)((int)QmVocWordFlag::Third | (int)QmVocWordFlag::Masculine);
+    persons[3] = (QmVocWordFlag::Flags)((int)QmVocWordFlag::Third | (int)QmVocWordFlag::Feminine);
+    persons[4] = (QmVocWordFlag::Flags)((int)QmVocWordFlag::Third | (int)QmVocWordFlag::Neuter);
 
 
-    KEduVocConjugation* conjugation = new KEduVocConjugation;
+    QmVocConjugation* conjugation = new QmVocConjugation;
 
     for ( int num = 0; num <= 2; num++ ) {
         QDomElement numberElement = parent.firstChildElement( KVTML_GRAMMATICAL_NUMBER[num] );
@@ -219,7 +224,7 @@ KEduVocConjugation* KEduVocConjugation::fromKVTML2(QDomElement & parent)
             for (int person = 0; person < 5; person++) {
                 QDomElement personElement = numberElement.firstChildElement( KVTML_GRAMMATICAL_PERSON[person] );
                 if (!personElement.isNull()) {
-                    KEduVocText text;
+                    QmVocText text;
                     text.fromKVTML2(personElement);
                     if (text.text().isEmpty()) {
                         // compatibility for kde 4.0. There the text was directly below the person, not enabling grades per conjugation form.