mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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 <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
512a2e6b68
commit
42cfd3f963
5 changed files with 86 additions and 16 deletions
|
@ -68,6 +68,8 @@ void EditBase<T>::undo()
|
|||
// class by virtue of a "using" declaration.
|
||||
template
|
||||
EditBase<QString>::EditBase(const QVector<dive *> &dives, QString oldValue, QString newValue);
|
||||
template
|
||||
EditBase<int>::EditBase(const QVector<dive *> &dives, int oldValue, int newValue);
|
||||
|
||||
// Undo and redo do the same as just the stored value is exchanged
|
||||
template<typename T>
|
||||
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue