diff options
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 1 | ||||
-rw-r--r-- | qt-models/divelistmodel.cpp | 7 | ||||
-rw-r--r-- | qt-models/divelistmodel.h | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index cb91df2ad..9d44fea91 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -117,6 +117,7 @@ void QMLManager::loadDives() int i; struct dive *d; + DiveListModel::instance()->clear(); for_each_dive(i, d) { DiveListModel::instance()->addDive(d); } diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp index 7d49f5c01..18f270c15 100644 --- a/qt-models/divelistmodel.cpp +++ b/qt-models/divelistmodel.cpp @@ -15,6 +15,13 @@ void DiveListModel::addDive(dive *d) endInsertRows(); } +void DiveListModel::clear() +{ + beginRemoveRows(QModelIndex(), 0, m_dives.count() - 1); + m_dives.clear(); + endRemoveRows(); +} + int DiveListModel::rowCount(const QModelIndex &) const { return m_dives.count(); diff --git a/qt-models/divelistmodel.h b/qt-models/divelistmodel.h index 958a783e9..fbeb13486 100644 --- a/qt-models/divelistmodel.h +++ b/qt-models/divelistmodel.h @@ -35,6 +35,7 @@ public: static DiveListModel *instance(); DiveListModel(QObject *parent = 0); void addDive(dive *d); + void clear(); int rowCount(const QModelIndex &parent = QModelIndex()) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; QHash<int, QByteArray> roleNames() const; |