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 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 roleNames() const; - void clearDives(); + void startAddDive(); private: QList m_dives; static DiveListModel *m_instance;