diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-06-18 13:29:37 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-06-18 13:31:12 -0700 |
commit | 0a9205276586deb0ec000bb211384e2d415eb38b (patch) | |
tree | 8faf63501868a3b0adb6f10bd5b9fa2dd52e6bfc | |
parent | 370673cc999f9738f247d1c0544ab49733c25a39 (diff) | |
download | subsurface-0a9205276586deb0ec000bb211384e2d415eb38b.tar.gz |
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 <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/models.cpp | 11 | ||||
-rw-r--r-- | 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<TreeItem*> children; |