summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/command_divesite.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-11-13 15:08:40 +0100
committerGravatar bstoeger <32835590+bstoeger@users.noreply.github.com>2019-11-14 21:02:07 +0100
commit5e29245e689fe9401ee1c33ebb07c601ce25e8c6 (patch)
treea656bcb0e9357b8cab78c5ad196fc6e5a4da4c31 /desktop-widgets/command_divesite.h
parent685b92b9c2ddd6575ae5df7c95b928e60fcd7005 (diff)
downloadsubsurface-5e29245e689fe9401ee1c33ebb07c601ce25e8c6.tar.gz
Refactoring: move undo commands to top level
In the future we might want to use undo-commands for mobile as well (even if not implementing undo). Therefore, move the undo-command source from desktop-widgets to their own commands top-level folder. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/command_divesite.h')
-rw-r--r--desktop-widgets/command_divesite.h170
1 files changed, 0 insertions, 170 deletions
diff --git a/desktop-widgets/command_divesite.h b/desktop-widgets/command_divesite.h
deleted file mode 100644
index 3fcf085ae..000000000
--- a/desktop-widgets/command_divesite.h
+++ /dev/null
@@ -1,170 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-// Note: this header file is used by the undo-machinery and should not be included elsewhere.
-
-#ifndef COMMAND_DIVESITE_H
-#define COMMAND_DIVESITE_H
-
-#include "command_base.h"
-
-#include <QVector>
-
-// We put everything in a namespace, so that we can shorten names without polluting the global namespace
-namespace Command {
-
-class AddDiveSite : public Base {
-public:
- AddDiveSite(const QString &name);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- // Note: we only add one dive site. Nevertheless, we use vectors so that we
- // can reuse the dive site deletion code.
- // For undo
- std::vector<dive_site *> sitesToRemove;
-
- // For redo
- std::vector<OwningDiveSitePtr> sitesToAdd;
-};
-
-class ImportDiveSites : public Base {
-public:
- // Note: the dive site table is consumed after the call it will be empty.
- ImportDiveSites(struct dive_site_table *sites, const QString &source);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- // For undo
- std::vector<dive_site *> sitesToRemove;
-
- // For redo
- std::vector<OwningDiveSitePtr> sitesToAdd;
-};
-
-class DeleteDiveSites : public Base {
-public:
- DeleteDiveSites(const QVector<dive_site *> &sites);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- // For redo
- std::vector<dive_site *> sitesToRemove;
-
- // For undo
- std::vector<OwningDiveSitePtr> sitesToAdd;
-};
-
-class PurgeUnusedDiveSites : public Base {
-public:
- PurgeUnusedDiveSites();
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- // For redo
- std::vector<dive_site *> sitesToRemove;
-
- // For undo
- std::vector<OwningDiveSitePtr> sitesToAdd;
-};
-
-class EditDiveSiteName : public Base {
-public:
- EditDiveSiteName(dive_site *ds, const QString &name);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
- QString value; // Value to be set
-};
-
-class EditDiveSiteDescription : public Base {
-public:
- EditDiveSiteDescription(dive_site *ds, const QString &description);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
- QString value; // Value to be set
-};
-
-class EditDiveSiteNotes : public Base {
-public:
- EditDiveSiteNotes(dive_site *ds, const QString &notes);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
- QString value; // Value to be set
-};
-
-
-class EditDiveSiteCountry : public Base {
-public:
- EditDiveSiteCountry(dive_site *ds, const QString &country);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
- QString value; // Value to be set
-};
-
-class EditDiveSiteLocation : public Base {
-public:
- EditDiveSiteLocation(dive_site *ds, location_t location);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
- location_t value; // Value to be set
-};
-
-class EditDiveSiteTaxonomy : public Base {
-public:
- EditDiveSiteTaxonomy(dive_site *ds, taxonomy_data &taxonomy);
- ~EditDiveSiteTaxonomy(); // free taxonomy
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
- taxonomy_data value; // Value to be set
-};
-
-class MergeDiveSites : public Base {
-public:
- MergeDiveSites(dive_site *ds, const QVector<dive_site *> &sites);
-private:
- bool workToBeDone() override;
- void undo() override;
- void redo() override;
-
- dive_site *ds;
-
- // For redo
- std::vector<dive_site *> sitesToRemove;
-
- // For undo
- std::vector<OwningDiveSitePtr> sitesToAdd;
-};
-
-} // namespace Command
-
-#endif // COMMAND_DIVESITE_H