mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
models: emit dive changed signal when cylinders edited
To display changed SAC values it is necessary that the models emit changed signals when cylinders are edited. An alternative might be that the undo commands emit dive-changed signals themselves. Fixes #2814. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
beef8096f7
commit
30133946e0
2 changed files with 18 additions and 0 deletions
|
@ -716,6 +716,9 @@ DiveTripModelTree::DiveTripModelTree(QObject *parent) : DiveTripModelBase(parent
|
|||
connect(&diveListNotifier, &DiveListNotifier::divesSelected, this, &DiveTripModelTree::divesSelected);
|
||||
connect(&diveListNotifier, &DiveListNotifier::tripChanged, this, &DiveTripModelTree::tripChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::filterReset, this, &DiveTripModelTree::filterReset);
|
||||
connect(&diveListNotifier, &DiveListNotifier::cylinderAdded, this, &DiveTripModelTree::cylinderChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::cylinderEdited, this, &DiveTripModelTree::cylinderChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::cylinderRemoved, this, &DiveTripModelTree::cylinderChanged);
|
||||
|
||||
populate();
|
||||
}
|
||||
|
@ -1253,6 +1256,11 @@ void DiveTripModelTree::divesChanged(const QVector<dive *> &dives)
|
|||
{ divesChangedTrip(trip, divesInTrip); });
|
||||
}
|
||||
|
||||
void DiveTripModelTree::cylinderChanged(dive *d)
|
||||
{
|
||||
divesChanged(QVector<dive *> { d });
|
||||
}
|
||||
|
||||
void DiveTripModelTree::divesChangedTrip(dive_trip *trip, const QVector<dive *> &divesIn)
|
||||
{
|
||||
QVector<dive *> dives = divesIn;
|
||||
|
@ -1469,6 +1477,9 @@ DiveTripModelList::DiveTripModelList(QObject *parent) : DiveTripModelBase(parent
|
|||
connect(&diveListNotifier, &DiveListNotifier::divesTimeChanged, this, &DiveTripModelList::divesTimeChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::divesSelected, this, &DiveTripModelList::divesSelected);
|
||||
connect(&diveListNotifier, &DiveListNotifier::filterReset, this, &DiveTripModelList::filterReset);
|
||||
connect(&diveListNotifier, &DiveListNotifier::cylinderAdded, this, &DiveTripModelList::cylinderChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::cylinderEdited, this, &DiveTripModelList::cylinderChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::cylinderRemoved, this, &DiveTripModelList::cylinderChanged);
|
||||
|
||||
populate();
|
||||
}
|
||||
|
@ -1622,6 +1633,11 @@ void DiveTripModelList::divesChanged(const QVector<dive *> &divesIn)
|
|||
initSelection();
|
||||
}
|
||||
|
||||
void DiveTripModelList::cylinderChanged(dive *d)
|
||||
{
|
||||
divesChanged(QVector<dive *> { d });
|
||||
}
|
||||
|
||||
void DiveTripModelList::divesTimeChanged(timestamp_t delta, const QVector<dive *> &divesIn)
|
||||
{
|
||||
QVector<dive *> dives = visibleDives(divesIn);
|
||||
|
|
|
@ -115,6 +115,7 @@ public slots:
|
|||
void divesMovedBetweenTrips(dive_trip *from, dive_trip *to, bool deleteFrom, bool createTo, const QVector<dive *> &dives);
|
||||
void diveSiteChanged(dive_site *ds, int field);
|
||||
void divesChanged(const QVector<dive *> &dives);
|
||||
void cylinderChanged(dive *d);
|
||||
void divesTimeChanged(timestamp_t delta, const QVector<dive *> &dives);
|
||||
void divesSelected(const QVector<dive *> &dives);
|
||||
void tripChanged(dive_trip *trip, TripField);
|
||||
|
@ -190,6 +191,7 @@ public slots:
|
|||
void divesDeleted(dive_trip *trip, bool deleteTrip, const QVector<dive *> &dives);
|
||||
void diveSiteChanged(dive_site *ds, int field);
|
||||
void divesChanged(const QVector<dive *> &dives);
|
||||
void cylinderChanged(dive *d);
|
||||
void divesTimeChanged(timestamp_t delta, const QVector<dive *> &dives);
|
||||
// Does nothing in list view.
|
||||
//void divesMovedBetweenTrips(dive_trip *from, dive_trip *to, bool deleteFrom, bool createTo, const QVector<dive *> &dives);
|
||||
|
|
Loading…
Add table
Reference in a new issue