From: nicola Date: Tue, 8 Dec 2009 13:28:40 +0000 (+0100) Subject: beta X-Git-Url: http://vcs.maemo.org/git/?p=badge;a=commitdiff_plain;h=d5eba305c1c7ad81190d24cde4386d845345425f beta --- diff --git a/badgedata.cpp b/badgedata.cpp index 085d01e..442c5d0 100644 --- a/badgedata.cpp +++ b/badgedata.cpp @@ -5,8 +5,7 @@ BadgeData::BadgeData() { - // se il file non esiste crealo per tutto l'anno - // se esiste, ma non c'e' nulla per questo anno, crea tutto l'anno + } bool BadgeData::setTimetable(TimeTable tt) @@ -22,7 +21,7 @@ bool BadgeData::setTimetable(TimeTable tt) out >> dum; if (dum.day == tt.day) { data.seek(pos); - //tt = dum; + out << tt; data.close(); return true; @@ -56,7 +55,35 @@ bool BadgeData::getTimetable(TimeTable &tt) return false; } -int BadgeData::totalHours(QDate begin, QDate end) +QTime BadgeData::totalTime(QDate begin, QDate end) { - return 0; + QFile data; + TimeTable dum; + QTime total(0, 0, 0, 0); + + int totalInSeconds = 0; + + data.setFileName(QDir::homePath() + QDir::separator() + "badge.data"); + data.open(QIODevice::ReadOnly); + QDataStream out(&data); + while (!data.atEnd()) { + out >> dum; + if (dum.day >= begin && dum.day <= end) { + totalInSeconds += dum.entrance.secsTo(dum.exit); + if (dum.firstPause != dum.endFirstPause) { + totalInSeconds -= dum.firstPause.secsTo(dum.endFirstPause); + } + + if (dum.secondPause != dum.endSecondPause) { + totalInSeconds -= dum.secondPause.secsTo(dum.endSecondPause); + } + + + + } + + } + data.close(); + total.setHMS((int)(totalInSeconds / 3600), (int) ((totalInSeconds % 3600) / 60), 0); + return total; }