From 0a9205276586deb0ec000bb211384e2d415eb38b Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Tue, 18 Jun 2013 13:29:37 -0700 Subject: Fix yearly statistics This commit fixes two issues. One is that there were situations where the code would read an uninitialized parent pointer, the second was that instead of the monthly statistics the tree view would show the yearly statistics again under the yearly entries. I assume that the second part of the fix (initializing the parent pointers) actually takes care of both of them (that patch was suggested by Tomaz), but the first part that just makes sure the pointer is at least initialized to NULL seems to be at least not harmful, so I kept it as well. With this the yearly / monthly statistics seem to be pretty much at feature parity. Fixes: #115 Suggested-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/models.cpp | 11 ++++++++--- qt-ui/models.h | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index a5321ce76..f4be58fa7 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -785,6 +785,11 @@ void TankInfoModel::update() * */ +TreeItem::TreeItem() +{ + parent = NULL; +} + TreeItem::~TreeItem() { qDeleteAll(children); @@ -1304,10 +1309,8 @@ QVariant YearStatisticsItem::data(int column, int role) const { double value; QVariant ret; - - if (role != Qt::DisplayRole){ + if (role != Qt::DisplayRole) return ret; - } switch(column) { case YEAR: ret = stats_interval.period; break; @@ -1387,8 +1390,10 @@ void YearlyStatisticsModel::update_yearly_stats() combined_months += stats_monthly[month].selection_size; YearStatisticsItem *iChild = new YearStatisticsItem(stats_monthly[month]); item->children.append(iChild); + iChild->parent = item; month++; } rootItem->children.append(item); + item->parent = rootItem; } } diff --git a/qt-ui/models.h b/qt-ui/models.h index 35ed529e3..f6fb3f5c0 100644 --- a/qt-ui/models.h +++ b/qt-ui/models.h @@ -128,7 +128,7 @@ struct TreeItem { Q_DECLARE_TR_FUNCTIONS (TreeItemDT); public: virtual ~TreeItem(); - + TreeItem(); virtual QVariant data (int column, int role) const; int row() const; QList children; -- cgit v1.2.3-70-g09d2