From a124198275e2b6cbb11795a8c328235d8154d148 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 19 May 2019 18:43:21 +0200 Subject: Undo: be smarter about dive computer shown after deletion When deleting a dive computer, don't just show the first dive computer, but the next one in the list (if it exists). Moreover, on undo jump to the previously shown dive computer. Do this by keeping track of the before and after dive computer number in the undo command. Signed-off-by: Berthold Stoeger --- desktop-widgets/command_divelist.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'desktop-widgets/command_divelist.h') diff --git a/desktop-widgets/command_divelist.h b/desktop-widgets/command_divelist.h index 7de168e9a..152c7365b 100644 --- a/desktop-widgets/command_divelist.h +++ b/desktop-widgets/command_divelist.h @@ -244,7 +244,7 @@ class DiveComputerBase : public DiveListBase { protected: // old_dive must be a dive known to the core. // new_dive must be new dive whose ownership is taken. - DiveComputerBase(dive *old_dive, dive *new_dive); + DiveComputerBase(dive *old_dive, dive *new_dive, int dc_nr_after); private: void undoit() override; void redoit() override; @@ -254,6 +254,7 @@ protected: // For redo and undo DivesAndTripsToAdd diveToAdd; DivesAndSitesToRemove diveToRemove; + int dc_nr_before, dc_nr_after; }; class MoveDiveComputerToFront : public DiveComputerBase { -- cgit v1.2.3-70-g09d2