From e4bd02bd6c9f1dc82bb8992fdd53761736759fb3 Mon Sep 17 00:00:00 2001 From: Mark Watkins Date: Sun, 4 Dec 2011 19:48:17 +1000 Subject: [PATCH] BMI was not being recorded properly --- Graphs/gSummaryChart.cpp | 13 ++++++++---- daily.cpp | 45 ++++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/Graphs/gSummaryChart.cpp b/Graphs/gSummaryChart.cpp index 23b58005..8e4f180d 100644 --- a/Graphs/gSummaryChart.cpp +++ b/Graphs/gSummaryChart.cpp @@ -45,7 +45,6 @@ void SummaryChart::SetDay(Day * nullday) m_days.clear(); m_hours.clear(); m_goodcodes.clear(); - m_goodcodes[""]=1; m_miny=999999999; m_maxy=-999999999; m_minx=0; @@ -70,6 +69,8 @@ void SummaryChart::SetDay(Day * nullday) total=0; bool fnd=false; if (m_graphtype==GT_SESSIONS) { + for (int i=0;i >::iterator d=PROFILE.daylist.begin();d!=PROFILE.daylist.end();d++) { tt=QDateTime(d.key(),QTime(0,0,0),Qt::UTC).toTime_t(); @@ -467,8 +471,9 @@ void SummaryChart::paint(gGraph & w,int left, int top, int width, int height) for (int j=0;jsettings[Journal_Notes]=jhtml; journal->SetChanged(true); } - if ((!journal->settings.contains("Weight") && (ui->weightSpinBox->value()>0)) || (journal->settings["Weight"].toDouble(&ok)!=ui->weightSpinBox->value())) { + double w=ui->weightSpinBox->value(); + if (journal->settings.contains("Weight") && ui->weightSpinBox->value()==0) { + journal->settings.erase(journal->settings.find("Weight")); + if (journal->settings.contains("BMI")) { + journal->settings.erase(journal->settings.find("BMI")); + } + journal->SetChanged(true); + } else if (ui->weightSpinBox->value()>0) { double kg; if (PROFILE["Units"].toString()=="metric") { kg=ui->weightSpinBox->value(); @@ -988,22 +995,13 @@ void Daily::Unload(QDate date) kg=(ui->weightSpinBox->value()*(ounce_convert*16.0))+(ui->ouncesSpinBox->value()*ounce_convert); kg/=1000.0; } - double height=PROFILE["Height"].toDouble(&ok); - double bmi=(height*height)/kg; - if (kg>0) { - journal->settings["Weight"]=kg; - journal->settings["BMI"]=bmi; - journal->SetChanged(true); - } else { - if (journal->settings.contains("Weight")) { - journal->settings.erase(journal->settings.find("Weight")); - journal->SetChanged(true); - } - if (journal->settings.contains("BMI")) { - journal->settings.erase(journal->settings.find("BMI")); - journal->SetChanged(true); - } - } + double height=PROFILE["Height"].toDouble(&ok)/100.0; + double bmi=0; + if (height>0) + bmi=kg/(height*height); + journal->settings["Weight"]=kg; + journal->settings["BMI"]=bmi; + journal->SetChanged(true); } if ((!journal->settings.contains("ZombieMeter") && (ui->ZombieMeter->value()!=50)) || (journal->settings["ZombieMeter"].toDouble(&ok)!=ui->ZombieMeter->value())) { journal->settings["ZombieMeter"]=ui->ZombieMeter->value(); @@ -1043,13 +1041,16 @@ void Daily::Unload(QDate date) kg=(ui->weightSpinBox->value()*(ounce_convert*16))+(ui->ouncesSpinBox->value()*ounce_convert); kg/=1000.0; } - double height=PROFILE["Height"].toDouble(&ok); - double bmi=(height*height)/kg; - if (kg>0) { + double height=PROFILE["Height"].toDouble(&ok)/100.0; + double bmi=0; + if (height>0) + bmi=kg/(height*height); + //if (kg>0) { journal->settings["Weight"]=kg; - journal->settings["BMI"]=bmi; + if (bmi>0) + journal->settings["BMI"]=bmi; journal->SetChanged(true); - } + //} } if (BookmarksChanged) { QVariantList start;