From 27944a52b1c2a1c68ccfe88c4a84d3f74fb8b512 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 23 Jun 2019 09:22:26 +0200 Subject: Undo: don't send signals batched by trip Since the default view is batched by trips, signals were sent trip-wise. This seemed like a good idea at first, but when more and more parts used these signals, it became a burden. Therefore push the batching to the part of the code where it is needed: the trip view. The divesAdded and divesDeleted are not yet converted, because these are combined with trip addition/deletion. This should also be detangled, but not now. Since the dive-lists were sorted in the processByTrip function, the dive-list model now does its own sorting. This will have to be audited. Signed-off-by: Berthold Stoeger --- desktop-widgets/tab-widgets/TabDiveInformation.cpp | 3 +-- desktop-widgets/tab-widgets/TabDiveInformation.h | 2 +- desktop-widgets/tab-widgets/maintab.cpp | 2 +- desktop-widgets/tab-widgets/maintab.h | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) (limited to 'desktop-widgets/tab-widgets') diff --git a/desktop-widgets/tab-widgets/TabDiveInformation.cpp b/desktop-widgets/tab-widgets/TabDiveInformation.cpp index 589071a5e..9af640a8e 100644 --- a/desktop-widgets/tab-widgets/TabDiveInformation.cpp +++ b/desktop-widgets/tab-widgets/TabDiveInformation.cpp @@ -5,7 +5,6 @@ #include "core/units.h" #include "core/dive.h" #include "desktop-widgets/command.h" -#include "core/trip.h" // TODO: Needed because divesChanged uses a trip parameter -> remove that! #include "core/qthelper.h" #include "core/statistics.h" #include "core/display.h" @@ -131,7 +130,7 @@ void TabDiveInformation::updateData() // This function gets called if a field gets updated by an undo command. // Refresh the corresponding UI field. -void TabDiveInformation::divesChanged(dive_trip *trip, const QVector &dives, DiveField field) +void TabDiveInformation::divesChanged(const QVector &dives, DiveField field) { // If the current dive is not in list of changed dives, do nothing if (!current_dive || !dives.contains(current_dive)) diff --git a/desktop-widgets/tab-widgets/TabDiveInformation.h b/desktop-widgets/tab-widgets/TabDiveInformation.h index e2b2e3c94..04c27acab 100644 --- a/desktop-widgets/tab-widgets/TabDiveInformation.h +++ b/desktop-widgets/tab-widgets/TabDiveInformation.h @@ -17,7 +17,7 @@ public: void updateData() override; void clear() override; private slots: - void divesChanged(dive_trip *trip, const QVector &dives, DiveField field); + void divesChanged(const QVector &dives, DiveField field); void on_atmPressVal_editingFinished(); void on_atmPressType_currentIndexChanged(int index); private: diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp index 76c651328..ee246e3ab 100644 --- a/desktop-widgets/tab-widgets/maintab.cpp +++ b/desktop-widgets/tab-widgets/maintab.cpp @@ -281,7 +281,7 @@ static void profileFromDive(struct dive *d) // This function gets called if a field gets updated by an undo command. // Refresh the corresponding UI field. -void MainTab::divesChanged(dive_trip *trip, const QVector &dives, DiveField field) +void MainTab::divesChanged(const QVector &dives, DiveField field) { // If the current dive is not in list of changed dives, do nothing if (!current_dive || !dives.contains(current_dive)) diff --git a/desktop-widgets/tab-widgets/maintab.h b/desktop-widgets/tab-widgets/maintab.h index 5968c7d31..671f22ac4 100644 --- a/desktop-widgets/tab-widgets/maintab.h +++ b/desktop-widgets/tab-widgets/maintab.h @@ -46,7 +46,7 @@ public: public slots: - void divesChanged(dive_trip *trip, const QVector &dives, DiveField field); + void divesChanged(const QVector &dives, DiveField field); void diveSiteEdited(dive_site *ds, int field); void tripChanged(dive_trip *trip, TripField field); void updateDiveInfo(); -- cgit v1.2.3-70-g09d2