Undo: implement undo of tag editing

The code follows the other edit-commands, but uses its own base
class, because it is distinctly different. Editing the tag field
does not simply mean setting the tag for all dives, but rather
adding and removing individual tags.

This class will be reused for editing of dive buddies and masters.

Modify the tag widget thus that it sends an editingFinished()
signal when it goes out of focus. The editingFinished() signal
was prevented by hooking into the return, enter and tab key-events.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-02-07 19:59:34 +01:00 committed by Dirk Hohndel
parent 1c854d580a
commit 8c89f6fe15
8 changed files with 185 additions and 56 deletions

View file

@ -175,4 +175,9 @@ void editDiveSiteNew(const QVector<dive *> dives, const QString &newName, struct
execute(new EditDiveSiteNew(dives, newName, oldValue));
}
void editTags(const QVector<dive *> &dives, const QStringList &newList, struct dive *d)
{
execute(new EditTags(dives, newList, d));
}
} // namespace Command