diff options
Diffstat (limited to 'qmlplugin/weightDataLoader.cpp')
-rw-r--r-- | qmlplugin/weightDataLoader.cpp | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/qmlplugin/weightDataLoader.cpp b/qmlplugin/weightDataLoader.cpp index 2331252..c585995 100644 --- a/qmlplugin/weightDataLoader.cpp +++ b/qmlplugin/weightDataLoader.cpp @@ -34,11 +34,15 @@ QVariant WeightDataLoader::getTodayData() { } QVariant WeightDataLoader::getDataForDate(QDate date) { + return QVariant::fromValue(getRawDataForDate(date)); +} + +QList<QPointF> WeightDataLoader::getRawDataForDate(QDate date) { QList<QPointF> m_filedata; QFile file(fileNameForDate(date, "weight")); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug() << "failed to open file"; - return QVariant::fromValue(m_filedata); + return m_filedata; } QTextStream inStream(&file); QString line; @@ -47,10 +51,32 @@ QVariant WeightDataLoader::getDataForDate(QDate date) { QPointF point; point.setX(line.split(":")[0].toInt()); point.setY(line.split(":")[1].toInt()); + qDebug() << point; m_filedata.append(point); } file.close(); - return QVariant::fromValue(m_filedata); + return m_filedata; +} + +QVariant WeightDataLoader::getDataFromTo(QDate date1, QDate date2) { + QList<QPointF> filedata; + if (date1 > date2) { + QDate temp = date1; + date1 = date2; + date2 = temp; + } + for (QDate i = date1; i <= date2; i = i.addDays(1)) { + qDebug() << "currently loading " << i; + QList<QPointF> data = getRawDataForDate(i); + qDebug() << filedata.count(); + if (filedata.count() == 0) { + filedata = data; + qDebug() << filedata.count(); + } else { + filedata += data; + } + } + return QVariant::fromValue(filedata); } void WeightDataLoader::addDataPoint(qreal value) { |