From 42cfd3f9638a5f9d37e51285e6d1eaaad3e78501 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 28 Jan 2019 22:35:07 +0100 Subject: Undo: implement undo of rating and visibility rating This was rather trivial and modeled after the previous edit UndoCommands. Since this is the first time we're editing integers a new constructor instantiation had to be added. Signed-off-by: Berthold Stoeger --- desktop-widgets/command_edit.cpp | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'desktop-widgets/command_edit.cpp') diff --git a/desktop-widgets/command_edit.cpp b/desktop-widgets/command_edit.cpp index 80113dbdc..0480378b8 100644 --- a/desktop-widgets/command_edit.cpp +++ b/desktop-widgets/command_edit.cpp @@ -68,6 +68,8 @@ void EditBase::undo() // class by virtue of a "using" declaration. template EditBase::EditBase(const QVector &dives, QString oldValue, QString newValue); +template +EditBase::EditBase(const QVector &dives, int oldValue, int newValue); // Undo and redo do the same as just the stored value is exchanged template @@ -122,6 +124,48 @@ DiveField EditSuit::fieldId() const return DiveField::SUIT; } +// ***** Rating ***** +void EditRating::set(struct dive *d, int value) const +{ + d->rating = value; +} + +int EditRating::data(struct dive *d) const +{ + return d->rating; +} + +QString EditRating::fieldName() const +{ + return tr("rating"); +} + +DiveField EditRating::fieldId() const +{ + return DiveField::RATING; +} + +// ***** Visibility **** +void EditVisibility::set(struct dive *d, int value) const +{ + d->visibility = value; +} + +int EditVisibility::data(struct dive *d) const +{ + return d->visibility; +} + +QString EditVisibility::fieldName() const +{ + return tr("visibility"); +} + +DiveField EditVisibility::fieldId() const +{ + return DiveField::VISIBILITY; +} + // ***** Mode ***** // Editing the dive mode has very peculiar semantics for historic reasons: // Since the dive-mode depends on the dive computer, the i-th dive computer -- cgit v1.2.3-70-g09d2