aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-mobile/qmlmanager.cpp3
-rw-r--r--qt-models/divelistmodel.cpp7
-rw-r--r--qt-models/divelistmodel.h2
3 files changed, 8 insertions, 4 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp
index 763de1b46..021c9c0d0 100644
--- a/qt-mobile/qmlmanager.cpp
+++ b/qt-mobile/qmlmanager.cpp
@@ -129,7 +129,8 @@ void QMLManager::saveChanges()
void QMLManager::addDive()
{
- DiveListModel::instance()->clearDives();
+ showMessage("Adding new dive.");
+ DiveListModel::instance()->startAddDive();
}
bool QMLManager::saveCloudPassword() const
diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp
index 837b75f14..7b7102f7b 100644
--- a/qt-models/divelistmodel.cpp
+++ b/qt-models/divelistmodel.cpp
@@ -338,9 +338,12 @@ QHash<int, QByteArray> DiveListModel::roleNames() const
return roles;
}
-void DiveListModel::clearDives()
+void DiveListModel::startAddDive()
{
- m_dives.clear();
+ struct dive *d;
+ d = alloc_dive();
+ add_single_dive(get_divenr(d), d);
+ addDive(d);
}
DiveListModel *DiveListModel::instance()
diff --git a/qt-models/divelistmodel.h b/qt-models/divelistmodel.h
index ad7eb99b6..68022812c 100644
--- a/qt-models/divelistmodel.h
+++ b/qt-models/divelistmodel.h
@@ -128,7 +128,7 @@ public:
int rowCount(const QModelIndex &parent = QModelIndex()) const;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
QHash<int, QByteArray> roleNames() const;
- void clearDives();
+ void startAddDive();
private:
QList<MobileDive> m_dives;
static DiveListModel *m_instance;