aboutsummaryrefslogtreecommitdiffstats
path: root/commands/command_edit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'commands/command_edit.cpp')
-rw-r--r--commands/command_edit.cpp114
1 files changed, 13 insertions, 101 deletions
diff --git a/commands/command_edit.cpp b/commands/command_edit.cpp
index c5f0e6a7a..999396db2 100644
--- a/commands/command_edit.cpp
+++ b/commands/command_edit.cpp
@@ -14,6 +14,18 @@
namespace Command {
+template <typename T, DiveField::Flags ID>
+DiveField EditTemplate<T, ID>::fieldId() const
+{
+ return ID;
+}
+
+template <DiveField::Flags ID>
+DiveField EditTagsTemplate<ID>::fieldId() const
+{
+ return ID;
+}
+
static std::vector<dive *> getDives(bool currentDiveOnly)
{
if (currentDiveOnly)
@@ -166,11 +178,6 @@ QString EditNotes::fieldName() const
return Command::Base::tr("notes");
}
-DiveField EditNotes::fieldId() const
-{
- return DiveField::NOTES;
-}
-
// ***** Suit *****
void EditSuit::set(struct dive *d, QString s) const
{
@@ -188,11 +195,6 @@ QString EditSuit::fieldName() const
return Command::Base::tr("suit");
}
-DiveField EditSuit::fieldId() const
-{
- return DiveField::SUIT;
-}
-
// ***** Rating *****
void EditRating::set(struct dive *d, int value) const
{
@@ -209,11 +211,6 @@ QString EditRating::fieldName() const
return Command::Base::tr("rating");
}
-DiveField EditRating::fieldId() const
-{
- return DiveField::RATING;
-}
-
// ***** Visibility *****
void EditVisibility::set(struct dive *d, int value) const
{
@@ -230,11 +227,6 @@ QString EditVisibility::fieldName() const
return Command::Base::tr("visibility");
}
-DiveField EditVisibility::fieldId() const
-{
- return DiveField::VISIBILITY;
-}
-
// ***** WaveSize *****
void EditWaveSize::set(struct dive *d, int value) const
{
@@ -251,11 +243,6 @@ QString EditWaveSize::fieldName() const
return Command::Base::tr("wavesize");
}
-DiveField EditWaveSize::fieldId() const
-{
- return DiveField::WAVESIZE;
-}
-
// ***** Current *****
void EditCurrent::set(struct dive *d, int value) const
{
@@ -272,11 +259,6 @@ QString EditCurrent::fieldName() const
return Command::Base::tr("current");
}
-DiveField EditCurrent::fieldId() const
-{
- return DiveField::CURRENT;
-}
-
// ***** Surge *****
void EditSurge::set(struct dive *d, int value) const
{
@@ -293,11 +275,6 @@ QString EditSurge::fieldName() const
return Command::Base::tr("surge");
}
-DiveField EditSurge::fieldId() const
-{
- return DiveField::SURGE;
-}
-
// ***** Chill *****
void EditChill::set(struct dive *d, int value) const
{
@@ -314,11 +291,6 @@ QString EditChill::fieldName() const
return Command::Base::tr("chill");
}
-DiveField EditChill::fieldId() const
-{
- return DiveField::CHILL;
-}
-
// ***** Air Temperature *****
void EditAirTemp::set(struct dive *d, int value) const
{
@@ -335,11 +307,6 @@ QString EditAirTemp::fieldName() const
return Command::Base::tr("air temperature");
}
-DiveField EditAirTemp::fieldId() const
-{
- return DiveField::AIR_TEMP;
-}
-
// ***** Water Temperature *****
void EditWaterTemp::set(struct dive *d, int value) const
{
@@ -359,11 +326,6 @@ QString EditWaterTemp::fieldName() const
return Command::Base::tr("water temperature");
}
-DiveField EditWaterTemp::fieldId() const
-{
- return DiveField::WATER_TEMP;
-}
-
// ***** Water Type *****
void EditWaterTypeUser::set(struct dive *d, int value) const
{
@@ -380,11 +342,6 @@ QString EditWaterTypeUser::fieldName() const
return Command::Base::tr("salinity");
}
-DiveField EditWaterTypeUser::fieldId() const
-{
- return DiveField::SALINITY;
-}
-
// ***** Atmospheric pressure *****
void EditAtmPress::set(struct dive *d, int value) const
{
@@ -401,11 +358,6 @@ QString EditAtmPress::fieldName() const
return Command::Base::tr("Atm. pressure");
}
-DiveField EditAtmPress::fieldId() const
-{
- return DiveField::ATM_PRESS;
-}
-
// ***** Duration *****
void EditDuration::set(struct dive *d, int value) const
{
@@ -425,11 +377,6 @@ QString EditDuration::fieldName() const
return Command::Base::tr("duration");
}
-DiveField EditDuration::fieldId() const
-{
- return DiveField::DURATION;
-}
-
// ***** Depth *****
void EditDepth::set(struct dive *d, int value) const
{
@@ -449,11 +396,6 @@ QString EditDepth::fieldName() const
return Command::Base::tr("depth");
}
-DiveField EditDepth::fieldId() const
-{
- return DiveField::DEPTH;
-}
-
// ***** DiveSite *****
void EditDiveSite::set(struct dive *d, struct dive_site *dive_site) const
{
@@ -471,11 +413,6 @@ QString EditDiveSite::fieldName() const
return Command::Base::tr("dive site");
}
-DiveField EditDiveSite::fieldId() const
-{
- return DiveField::DIVESITE;
-}
-
void EditDiveSite::undo()
{
// Do the normal undo thing, then send dive site changed signals
@@ -549,7 +486,7 @@ void EditDiveSiteNew::redo()
// - Change the semantics of the mode-editing.
// The future will tell.
EditMode::EditMode(int indexIn, int newValue, bool currentDiveOnly)
- : EditBase(newValue, currentDiveOnly), index(indexIn)
+ : EditTemplate(newValue, currentDiveOnly), index(indexIn)
{
}
@@ -569,11 +506,6 @@ QString EditMode::fieldName() const
return Command::Base::tr("dive mode");
}
-DiveField EditMode::fieldId() const
-{
- return DiveField::MODE;
-}
-
// ***** Invalid *****
void EditInvalid::set(struct dive *d, int invalid) const
{
@@ -590,11 +522,6 @@ QString EditInvalid::fieldName() const
return Command::Base::tr("invalid");
}
-DiveField EditInvalid::fieldId() const
-{
- return DiveField::INVALID;
-}
-
// ***** Tag based commands *****
EditTagsBase::EditTagsBase(const QStringList &newListIn, bool currentDiveOnly) :
EditDivesBase(currentDiveOnly),
@@ -725,11 +652,6 @@ QString EditTags::fieldName() const
return Command::Base::tr("tags");
}
-DiveField EditTags::fieldId() const
-{
- return DiveField::TAGS;
-}
-
// ***** Buddies *****
QStringList EditBuddies::data(struct dive *d) const
{
@@ -748,11 +670,6 @@ QString EditBuddies::fieldName() const
return Command::Base::tr("buddies");
}
-DiveField EditBuddies::fieldId() const
-{
- return DiveField::BUDDY;
-}
-
// ***** DiveMaster *****
QStringList EditDiveMaster::data(struct dive *d) const
{
@@ -771,11 +688,6 @@ QString EditDiveMaster::fieldName() const
return Command::Base::tr("dive master");
}
-DiveField EditDiveMaster::fieldId() const
-{
- return DiveField::DIVEMASTER;
-}
-
static void swapCandQString(QString &q, char *&c)
{
QString tmp(c);