mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
statistics: replot stats if dives added / removed
It is crucial to replot the statistics when dives are added / removed, to avoid stale pointers. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
b7e62307c5
commit
1797b59c10
2 changed files with 9 additions and 10 deletions
|
@ -130,16 +130,10 @@ bool ScatterSeries::hover(QPointF pos)
|
|||
const dive *d = items[idx].d;
|
||||
if (!text.empty())
|
||||
text.push_back(QString(" ")); // Argh. Empty strings are filtered away.
|
||||
// We don't listen to undo-command signals, therefore we have to check whether that dive actually exists!
|
||||
// TODO: fix this.
|
||||
if (get_divenr(d) < 0) {
|
||||
text.push_back(StatsTranslations::tr("Removed dive"));
|
||||
} else {
|
||||
text.push_back(StatsTranslations::tr("Dive #%1").arg(d->number));
|
||||
text.push_back(get_dive_date_string(d->when));
|
||||
text.push_back(dataInfo(varX, d));
|
||||
text.push_back(dataInfo(varY, d));
|
||||
}
|
||||
if (++shown >= show && shown < (int)highlighted.size()) {
|
||||
text.push_back(" ");
|
||||
text.push_back(StatsTranslations::tr("and %1 more").arg((int)highlighted.size() - shown));
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include "zvalues.h"
|
||||
#include "core/divefilter.h"
|
||||
#include "core/subsurface-qt/divelistnotifier.h"
|
||||
#include "core/trip.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <QQuickItem>
|
||||
|
@ -41,6 +42,10 @@ StatsView::StatsView(QQuickItem *parent) : QQuickItem(parent),
|
|||
setFlag(ItemHasContents, true);
|
||||
|
||||
connect(&diveListNotifier, &DiveListNotifier::numShownChanged, this, &StatsView::replotIfVisible);
|
||||
connect(&diveListNotifier, &DiveListNotifier::divesAdded, this, &StatsView::replotIfVisible);
|
||||
connect(&diveListNotifier, &DiveListNotifier::divesDeleted, this, &StatsView::replotIfVisible);
|
||||
connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &StatsView::replotIfVisible);
|
||||
connect(&diveListNotifier, &DiveListNotifier::settingsChanged, this, &StatsView::replotIfVisible);
|
||||
|
||||
setAcceptHoverEvents(true);
|
||||
setAcceptedMouseButtons(Qt::LeftButton);
|
||||
|
|
Loading…
Reference in a new issue