summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/command_edit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets/command_edit.cpp')
-rw-r--r--desktop-widgets/command_edit.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/desktop-widgets/command_edit.cpp b/desktop-widgets/command_edit.cpp
index 6f69f8d8a..16fc4034e 100644
--- a/desktop-widgets/command_edit.cpp
+++ b/desktop-widgets/command_edit.cpp
@@ -33,6 +33,13 @@ EditDivesBase::EditDivesBase(bool currentDiveOnly) :
{
}
+EditDivesBase::EditDivesBase(dive *d) :
+ dives({ d }),
+ selectedDives(getDiveSelection()),
+ current(current_dive)
+{
+}
+
int EditDivesBase::numDives() const
{
return dives.size();
@@ -45,6 +52,13 @@ EditBase<T>::EditBase(T newValue, bool currentDiveOnly) :
{
}
+template<typename T>
+EditBase<T>::EditBase(T newValue, dive *d) :
+ EditDivesBase(d),
+ value(std::move(newValue))
+{
+}
+
// This is quite hackish: we can't use virtual functions in the constructor and
// therefore can't initialize the list of dives [the values of the dives are
// accessed by virtual functions]. Therefore, we (mis)use the fact that workToBeDone()
@@ -445,6 +459,28 @@ DiveField EditMode::fieldId() const
return DiveField::MODE;
}
+// ***** Number *****
+void EditNumber::set(struct dive *d, int number) const
+{
+ d->number = number;
+}
+
+int EditNumber::data(struct dive *d) const
+{
+ return d->number;
+}
+
+QString EditNumber::fieldName() const
+{
+ return tr("number");
+}
+
+DiveField EditNumber::fieldId() const
+{
+ return DiveField::NR;
+}
+
+
// ***** Tag based commands *****
EditTagsBase::EditTagsBase(const QStringList &newListIn, bool currentDiveOnly) :
EditDivesBase(currentDiveOnly),