summaryrefslogtreecommitdiffstats
path: root/qt-models
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-12-23 12:46:25 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-01-09 20:58:04 -0800
commitf542dc4030dda5dac1da1cc928f7a40a50919c4d (patch)
treeeb7f77bc9701c3180082da7f0435b9d467c565e7 /qt-models
parent7e33369dc8b27b20385ab055b662e06bbf369784 (diff)
downloadsubsurface-f542dc4030dda5dac1da1cc928f7a40a50919c4d.tar.gz
Import: add trip_table argument to DiveImportedModel::repopulate()
In the future we want to download trips into a distinct trip-table instead of the global trip-table to allow for undo of import. Therefore add a trip_table argument to DiveImportedModel::repopulate() and a trip_table member to DiveImportedModel. To correctly set these, add a DownloadThread::trips() function, which currently simply returns the global trip table. Finally, make "struct trip_table *" a Q_METATYPE, so that the corresponding arguments can be passed from QML. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'qt-models')
-rw-r--r--qt-models/diveimportedmodel.cpp3
-rw-r--r--qt-models/diveimportedmodel.h3
2 files changed, 4 insertions, 2 deletions
diff --git a/qt-models/diveimportedmodel.cpp b/qt-models/diveimportedmodel.cpp
index ec450d53f..11d644950 100644
--- a/qt-models/diveimportedmodel.cpp
+++ b/qt-models/diveimportedmodel.cpp
@@ -127,11 +127,12 @@ void DiveImportedModel::clearTable()
endRemoveRows();
}
-void DiveImportedModel::repopulate(dive_table_t *table)
+void DiveImportedModel::repopulate(dive_table_t *table, trip_table_t *trips)
{
beginResetModel();
diveTable = table;
+ tripTable = trips;
firstIndex = 0;
lastIndex = diveTable->nr - 1;
checkStates.resize(diveTable->nr);
diff --git a/qt-models/diveimportedmodel.h b/qt-models/diveimportedmodel.h
index 0c5ba34cd..ede40431b 100644
--- a/qt-models/diveimportedmodel.h
+++ b/qt-models/diveimportedmodel.h
@@ -20,7 +20,7 @@ public:
Qt::ItemFlags flags(const QModelIndex &index) const;
Q_INVOKABLE void clearTable();
QHash<int, QByteArray> roleNames() const;
- Q_INVOKABLE void repopulate(dive_table_t *table);
+ Q_INVOKABLE void repopulate(dive_table_t *table, trip_table_t *trips);
Q_INVOKABLE void recordDives();
public
slots:
@@ -34,6 +34,7 @@ private:
int lastIndex;
std::vector<char> checkStates; // char instead of bool to avoid silly pessimization of std::vector.
struct dive_table *diveTable;
+ struct trip_table *tripTable;
};
#endif