From dec47e11cd3aa1f4c6333a69c72df4c4d5e0628f Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Tue, 18 Apr 2017 19:14:03 +0200 Subject: Separate the download thread from the widget logic This is important to not duplicate code for the Qml view. Now the DownloadFromDiveComputer widget is mostly free from important code (that has been upgraded to the core folder), and I can start coding the QML interface. There are still a few functions on the desktop widget that will die so I can call them via the QML code later. I also touched the location of a few globals (please, let's stop using those) - because it was declared on the desktop code and being used in the core. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-models/diveimportedmodel.cpp | 10 ++++++++-- qt-models/diveimportedmodel.h | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'qt-models') diff --git a/qt-models/diveimportedmodel.cpp b/qt-models/diveimportedmodel.cpp index b1e5a6174..08c36e7e6 100644 --- a/qt-models/diveimportedmodel.cpp +++ b/qt-models/diveimportedmodel.cpp @@ -4,7 +4,8 @@ DiveImportedModel::DiveImportedModel(QObject *o) : QAbstractTableModel(o), firstIndex(0), lastIndex(-1), - checkStates(0) + checkStates(nullptr), + diveTable(nullptr) { } @@ -37,6 +38,11 @@ QVariant DiveImportedModel::headerData(int section, Qt::Orientation orientation, return QVariant(); } +void DiveImportedModel::setDiveTable(struct dive_table* table) +{ + diveTable = table; +} + QVariant DiveImportedModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) @@ -45,7 +51,7 @@ QVariant DiveImportedModel::data(const QModelIndex &index, int role) const if (index.row() + firstIndex > lastIndex) return QVariant(); - struct dive *d = get_dive_from_table(index.row() + firstIndex, &downloadTable); + struct dive *d = get_dive_from_table(index.row() + firstIndex, diveTable); if (!d) return QVariant(); if (role == Qt::DisplayRole) { diff --git a/qt-models/diveimportedmodel.h b/qt-models/diveimportedmodel.h index 06d73b6b2..1127fc97e 100644 --- a/qt-models/diveimportedmodel.h +++ b/qt-models/diveimportedmodel.h @@ -2,12 +2,14 @@ #define DIVEIMPORTEDMODEL_H #include +#include "core/dive.h" class DiveImportedModel : public QAbstractTableModel { Q_OBJECT public: DiveImportedModel(QObject *o); + void setDiveTable(struct dive_table *table); int columnCount(const QModelIndex& index = QModelIndex()) const; int rowCount(const QModelIndex& index = QModelIndex()) const; QVariant data(const QModelIndex& index, int role) const; @@ -26,6 +28,7 @@ private: int firstIndex; int lastIndex; bool *checkStates; + struct dive_table *diveTable; }; #endif -- cgit v1.2.3-70-g09d2