~ubuntu-branches/ubuntu/utopic/libkdeedu/utopic-proposed

« back to all changes in this revision

Viewing changes to keduvocdocument/keduvoctext.cpp

  • Committer: Package Import Robot
  • Author(s): Scarlett Clark
  • Date: 2014-07-24 23:35:22 UTC
  • mfrom: (1.1.47)
  • Revision ID: package-import@ubuntu.com-20140724233522-1e4ubec6x9v41r1l
Tags: 4:4.13.90-0ubuntu1
New upstream beta release

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
    /// This is the word itself. The vocabulary. This is what it is all about.
25
25
    QString m_text;
26
26
 
 
27
    grade_t m_preGrade;         // Before it gets to grade 1.
27
28
    grade_t m_grade;
28
29
    count_t m_totalPracticeCount;
29
30
    count_t m_badCount;
30
31
    QDateTime m_practiceDate;
 
32
    quint32 m_interval;         // Interval in seconds until next training is due.
31
33
};
32
34
 
33
35
KEduVocText::KEduVocText(const QString& text)
38
40
}
39
41
 
40
42
KEduVocText::KEduVocText( const KEduVocText &other )
41
 
        :d( new KEduVocTextPrivate )
 
43
    : d( new KEduVocTextPrivate )
42
44
{
43
45
    d->m_text = other.d->m_text;
 
46
    setPreGrade( other.preGrade() );
44
47
    setGrade( other.grade() );
45
48
    setPracticeCount( other.practiceCount() );
46
49
    setBadCount( other.badCount() );
47
50
    setPracticeDate( other.practiceDate() );
 
51
    setInterval( other.interval() );
48
52
}
49
53
 
50
54
KEduVocText::~KEduVocText()
64
68
 
65
69
void KEduVocText::resetGrades()
66
70
{
 
71
    d->m_preGrade = KV_NORM_GRADE;
67
72
    d->m_grade = KV_NORM_GRADE;
68
73
    d->m_totalPracticeCount = 0;
69
74
    d->m_badCount = 0;
71
76
    QDateTime dt;
72
77
    dt.setTime_t( 0 );
73
78
    d->m_practiceDate = dt;
 
79
    d->m_interval = 0;
 
80
}
 
81
 
 
82
 
 
83
grade_t KEduVocText::preGrade() const
 
84
{
 
85
    return d->m_preGrade;
 
86
}
 
87
 
 
88
 
 
89
void KEduVocText::setPreGrade( grade_t grade )
 
90
{
 
91
    if ( grade > KV_MAX_GRADE ) {
 
92
        grade = KV_MAX_GRADE;
 
93
    }
 
94
    d->m_preGrade = grade;
74
95
}
75
96
 
76
97
 
151
172
    d->m_practiceDate = date;
152
173
}
153
174
 
 
175
quint32 KEduVocText::interval() const
 
176
{
 
177
    return d->m_interval;
 
178
}
 
179
 
 
180
 
 
181
void KEduVocText::setInterval( quint32 interval )
 
182
{
 
183
    d->m_interval = interval;
 
184
}
 
185
 
 
186
 
154
187
KEduVocText & KEduVocText::operator =(const KEduVocText & other)
155
188
{
156
189
    d->m_text = other.d->m_text;
186
219
    if ( d->m_totalPracticeCount > 0 ) {
187
220
        QDomElement gradeElement = domDoc.createElement( KVTML_GRADE );
188
221
 
 
222
            //<pregrade>2</pregrade>
 
223
        KEduVocKvtml2Writer::appendTextElement( gradeElement, KVTML_PREGRADE, QString::number( preGrade() ) );
 
224
 
189
225
            //<currentgrade>2</currentgrade>
190
226
        KEduVocKvtml2Writer::appendTextElement( gradeElement, KVTML_CURRENTGRADE, QString::number( grade() ) );
191
227
 
198
234
            //<date>949757271</date>
199
235
        KEduVocKvtml2Writer::appendTextElement( gradeElement, KVTML_DATE,  practiceDate().toString( Qt::ISODate ) );
200
236
 
 
237
            //<interval>300</interval>
 
238
        KEduVocKvtml2Writer::appendTextElement( gradeElement, KVTML_INTERVAL,  QString::number(interval()) );
 
239
 
 
240
 
201
241
        parent.appendChild( gradeElement );
202
242
    }
203
243
}
210
250
    const QDomElement& gradeElement = parent.firstChildElement( KVTML_GRADE );
211
251
    if ( !gradeElement.isNull() ) {
212
252
 
 
253
        setPreGrade( gradeElement.firstChildElement(KVTML_PREGRADE).text().toInt() );
213
254
        setGrade( gradeElement.firstChildElement(KVTML_CURRENTGRADE).text().toInt() );
214
255
 
215
256
        setPracticeCount( gradeElement.firstChildElement(KVTML_COUNT).text().toInt() );
221
262
            QDateTime value = QDateTime::fromString( dateString, Qt::ISODate );
222
263
            setPracticeDate( value );
223
264
        }
 
265
        setInterval( gradeElement.firstChildElement(KVTML_INTERVAL).text().toInt() );
224
266
    }
225
267
}
226
268