diff options
Diffstat (limited to 'desktop-widgets/command_edit.h')
-rw-r--r-- | desktop-widgets/command_edit.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/desktop-widgets/command_edit.h b/desktop-widgets/command_edit.h index 0ba3d1a14..ebce0bf1b 100644 --- a/desktop-widgets/command_edit.h +++ b/desktop-widgets/command_edit.h @@ -254,7 +254,7 @@ struct PasteState { void swap(dive_components what); // Exchange values here and in dive }; -class PasteDives : public Base { +class PasteDives : public Base { dive_components what; std::vector<PasteState> dives; std::vector<OwningDiveSitePtr> ownedDiveSites; @@ -267,6 +267,27 @@ private: bool workToBeDone() override; }; +class ReplanDive : public Base { + dive *d; + + // Exchange these data with current dive + timestamp_t when; + depth_t maxdepth, meandepth; + cylinder_t cylinders[MAX_CYLINDERS]; + struct divecomputer dc; + char *notes; + pressure_t surface_pressure; + duration_t duration; + int salinity; +public: + ReplanDive(dive *source); // Dive computer(s) and cylinders(s) of the source dive will be reset! + ~ReplanDive(); +private: + void undo() override; + void redo() override; + bool workToBeDone() override; +}; + } // namespace Command #endif |