subsurface/desktop-widgets/command_divesite.h
Berthold Stoeger b5d4d88fe5 Dive site: remove edit mode from dive location widget
Since no dive site field editing enters edit mode anymore,
the whole edit mode state and code can be removed from the
widget.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-04-12 18:19:07 +03:00

109 lines
2.3 KiB
C++

// 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 redo
std::vector<dive_site *> sitesToRemove;
// For undo
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 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
};
} // namespace Command
#endif // COMMAND_DIVESITE_H