x.setQueryCount (i, 0, false);
x.setBadCount (i, 0, true);
x.setBadCount (i, 0, false);
- x.setQueryDate (i, 0, true);
- x.setQueryDate (i, 0, false);
+ QDateTime dt;
+ dt.setTime_t(0);
+ x.setQueryDate (i, dt, true);
+ x.setQueryDate (i, dt, false);
}
}
}
x.setQueryCount (index, 0, false);
x.setBadCount (index, 0, true);
x.setBadCount (index, 0, false);
- x.setQueryDate (index, 0, true);
- x.setQueryDate (index, 0, false);
+ QDateTime dt;
+ dt.setTime_t(0);
+ x.setQueryDate (index, dt, true);
+ x.setQueryDate (index, dt, false);
}
}
rev_qcounts.push_back(0);
bcounts.push_back(0);
rev_bcounts.push_back(0);
- qdates.push_back(0);
- rev_qdates.push_back(0);
+ QDateTime dt;
+ qdates.push_back(dt);
+ rev_qdates.push_back(dt);
m_lesson = 0;
}
return;
if (idx <= numTranslations())
- translations.remove(translations.at(idx-1));
+ translations.remove(translations.at(idx - 1));
if (idx < (int)remarks.size() )
- remarks.erase (remarks.begin() + idx);
+ remarks.remove(remarks.at(idx - 1));
if (idx < (int)conjugations.size() )
- conjugations.erase (conjugations.begin() + idx);
+ conjugations.remove(conjugations.at(idx -1));
if (idx < (int)comparisons.size() )
- comparisons.erase (comparisons.begin() + idx);
+ comparisons.remove(comparisons.at(idx - 1));
if (idx < (int)m_fauxAmi.size() )
- m_fauxAmi.erase (m_fauxAmi.begin() + idx);
+ m_fauxAmi.remove(m_fauxAmi.at(idx - 1));
if (idx < (int)rev_fauxAmi.size() )
- rev_fauxAmi.erase (rev_fauxAmi.begin() + idx);
+ rev_fauxAmi.remove(rev_fauxAmi.at(idx - 1));
if (idx < (int)m_synonym.size() )
- m_synonym.erase (m_synonym.begin() + idx);
+ m_synonym.remove(m_synonym.at(idx - 1));
if (idx < (int)m_example.size() )
- m_example.erase (m_example.begin() + idx);
+ m_example.remove(m_example.at(idx - 1));
if (idx < (int)usageLabels.size() )
- usageLabels.erase (usageLabels.begin() + idx);
+ usageLabels.remove(usageLabels.at(idx - 1));
if (idx < (int)paraphrases.size() )
- paraphrases.erase (paraphrases.begin() + idx);
+ paraphrases.remove(paraphrases.at(idx - 1));
if (idx < (int)m_antonym.size() )
- m_antonym.erase (m_antonym.begin() + idx);
+ m_antonym.remove(m_antonym.at(idx - 1));
if (idx < (int)exprtypes.size() )
- exprtypes.erase (exprtypes.begin() + idx);
+ exprtypes.remove(exprtypes.at(idx - 1));
if (idx < (int)pronunces.size() )
- pronunces.erase (pronunces.begin() + idx);
+ pronunces.remove(pronunces.at(idx - 1));
if (idx < (int)grades.size() )
- grades.erase (grades.begin() + idx);
+ grades.remove(grades.at(idx - 1));
if (idx < (int)rev_grades.size() )
- rev_grades.erase (rev_grades.begin() + idx);
+ rev_grades.remove(rev_grades.at(idx - 1));
if (idx < (int)qcounts.size() )
- qcounts.erase (qcounts.begin() + idx);
+ qcounts.remove(qcounts.at(idx - 1));
if (idx < (int)rev_qcounts.size() )
- rev_qcounts.erase (rev_qcounts.begin() + idx);
+ rev_qcounts.remove(rev_qcounts.at(idx - 1));
if (idx < (int)bcounts.size() )
- bcounts.erase (bcounts.begin() + idx);
+ bcounts.remove(bcounts.at(idx - 1));
if (idx < (int)rev_bcounts.size() )
- rev_bcounts.erase (rev_bcounts.begin() + idx);
+ rev_bcounts.remove(rev_bcounts.at(idx - 1));
if (idx < (int)qdates.size() )
- qdates.erase (qdates.begin() + idx);
+ qdates.remove(qdates.at(idx - 1));
if (idx < (int)rev_qdates.size() )
- rev_qdates.erase (rev_qdates.begin() + idx);
+ rev_qdates.remove(rev_qdates.at(idx - 1));
}
}
-time_t KEduVocExpression::queryDate (int idx, bool rev_date) const
+QDateTime KEduVocExpression::queryDate (int idx, bool rev_date) const
{
if (rev_date) {
- if (idx >= (int)rev_qdates.size() || idx < 1 ) {
- return 0;
+ if (idx >= (int)rev_qdates.size() || idx < 1 )
+ {
+ QDateTime dt;
+ dt.setTime_t(0);
+ return dt;
}
return rev_qdates[idx];
}
- if (idx >= (int)qdates.size() || idx < 1 ) {
- return 0;
+ if (idx >= (int)qdates.size() || idx < 1 )
+ {
+ QDateTime dt;
+ dt.setTime_t(0);
+ return dt;
}
return qdates[idx];
}
-void KEduVocExpression::setQueryDate (int idx, time_t date, bool rev_date)
+void KEduVocExpression::setQueryDate (int idx, const QDateTime & date, bool rev_date)
{
if (idx < 1) return;
if (rev_date) {
// extend rev dates with 0 if necessary
if ((int)rev_qdates.size() <= idx )
- for (int i = rev_qdates.size(); i <= idx; i++) {
- rev_qdates.push_back (0);
- }
+ for (int i = rev_qdates.size(); i <= idx; i++)
+ {
+ QDateTime dt;
+ dt.setTime_t(0);
+ rev_qdates.append(dt);
+ }
rev_qdates[idx] = date;
else {
// extend dates with 0 if necessary
if ((int)qdates.size() <= idx )
- for (int i = qdates.size(); i <= idx; i++) {
- qdates.push_back (0);
+ for (int i = qdates.size(); i <= idx; i++)
+ {
+ QDateTime dt;
+ dt.setTime_t(0);
+ qdates.append(dt);
}
qdates[idx] = date;
}
QString KEduVocExpression::type (int idx) const
{
- if (idx >= (int)exprtypes.size() || idx < 0) {
+ if (idx >= (int)exprtypes.count() || idx < 0) {
return "";
}
else {
if ( idx < 0) return;
// extend types with empty strings if necessary
- if ((int)exprtypes.size() <= idx )
- for (int i = exprtypes.size(); i < idx+1; i++)
- exprtypes.push_back ("");
+ if ((int)exprtypes.count() <= idx )
+ for (int i = exprtypes.count(); i < idx + 1; i++)
+ exprtypes.append("");
exprtypes[idx] = type.stripWhiteSpace();
}
#define KV_LEV7_GRADE 7
#define KV_LEV7_TEXT I18N_NOOP("Level 7")
+#include <qvaluelist.h>
#include <qstringlist.h>
-
-#include <time.h>
-#include <vector>
-using namespace std;
+#include <qdatetime.h>
#include "grammarmanager.h"
#include "multiplechoice.h"
typedef signed char grade_t;
typedef unsigned short count_t;
-/***************************************************************
- * This class contains one expression as original or in one
- * translations
- **************************************************************/
+/**
+ This class contains one expression either as an original or as a
+ translation
+ */
class KEduVocExpression
{
* @param index index of translation
* @param rev_date dito, in opposite direction
*/
- time_t queryDate (int index, bool rev_date = false) const;
+ QDateTime queryDate (int index, bool rev_date = false) const;
/** set last query date of given translation as int
*
* @param index index of translation
* @param rev_date dito, in opposite direction
*/
- void setQueryDate (int index, time_t date, bool rev_date = false);
+ void setQueryDate (int index, const QDateTime & date, bool rev_date = false);
/** returns conjugations if available
*
void Init();
private:
- QString origin;
+ QString origin;
// all these vectors must be deleted in removeTranslation()
- vector<QString> exprtypes;
- /*vector<QString>*/ QStringList translations;
- vector<QString> remarks;
- vector<QString> usageLabels;
- vector<QString> paraphrases;
- vector<QString> m_fauxAmi;
- vector<QString> rev_fauxAmi;
- vector<QString> m_synonym;
- vector<QString> m_example;
- vector<QString> m_antonym;
- vector<QString> pronunces;
- vector<grade_t> grades;
- vector<grade_t> rev_grades;
- vector<count_t> qcounts;
- vector<count_t> rev_qcounts;
- vector<count_t> bcounts;
- vector<count_t> rev_bcounts;
- vector<time_t> qdates;
- vector<time_t> rev_qdates;
- vector<Conjugation> conjugations;
- vector<Comparison> comparisons;
- vector<MultipleChoice> mcs;
+ QStringList exprtypes;
+ QStringList translations;
+ QStringList remarks;
+ QStringList usageLabels;
+ QStringList paraphrases;
+ QStringList m_fauxAmi;
+ QStringList rev_fauxAmi;
+ QStringList m_synonym;
+ QStringList m_example;
+ QStringList m_antonym;
+ QStringList pronunces;
+ QValueList<grade_t> grades;
+ QValueList<grade_t> rev_grades;
+ QValueList<count_t> qcounts;
+ QValueList<count_t> rev_qcounts;
+ QValueList<count_t> bcounts;
+ QValueList<count_t> rev_bcounts;
+ QValueList<QDateTime> qdates;
+ QValueList<QDateTime> rev_qdates;
+ QValueList<Conjugation> conjugations;
+ QValueList<Comparison> comparisons;
+ QValueList<MultipleChoice> mcs;
QString m_leitnerBox;
int m_lesson;
QDomAttr domAttrType = domElementParent.attributeNode(KV_EXPRTYPE);
if (!domAttrType.isNull())
{
- exprtype = !domAttrType.value().toInt();
+ exprtype = domAttrType.value();
+ //exprtype = !domAttrType.value().toInt(); PBH 2005-07-17 I don't know what this is supposed to achieve?
+ //The above works better
if (exprtype == "1")
exprtype = QM_VERB;
else if (exprtype == "2") // convert from pre-0.5 versions
expr.setQueryCount (count, r_qcount, true);
expr.setBadCount (count, bcount, false);
expr.setBadCount (count, r_bcount, true);
- expr.setQueryDate (count, qdate, false);
- expr.setQueryDate (count, r_qdate, true);
+ QDateTime dt;
+ dt.setTime_t(qdate);
+ expr.setQueryDate(count, dt, false);
+ dt.setTime_t(r_qdate);
+ expr.setQueryDate(count, dt, true);
if (conjug.size() > 0)
{
ent_no++;
if (ent_percent != 0 && (ent_no % ent_percent) == 0 )
-//TODO emit progressChanged(this, ent_no / (int) f_ent_percent);
-
+ {
+ //TODO emit progressChanged(this, ent_no / (int) f_ent_percent);
+ }
if ((*first).lesson() != 0)
{
// entry belongs to lesson x
domElementTranslation.setAttribute(KV_BAD, s1 +';' +s2);
}
- if ((*first).queryDate(trans, false) != 0
- ||(*first).queryDate(trans, true) != 0)
+ if ((*first).queryDate(trans, false).toTime_t() != 0
+ ||(*first).queryDate(trans, true).toTime_t() != 0)
{
- s1.setNum((*first).queryDate(trans, false));
- s2.setNum((*first).queryDate(trans, true));
+ s1.setNum((*first).queryDate(trans, false).toTime_t());
+ s2.setNum((*first).queryDate(trans, true).toTime_t());
domElementTranslation.setAttribute(KV_DATE, s1 +';' +s2);
}