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>
This commit is contained in:
Berthold Stoeger 2018-12-23 12:46:25 +01:00 committed by Dirk Hohndel
parent 7e33369dc8
commit f542dc4030
7 changed files with 18 additions and 7 deletions

View file

@ -288,10 +288,10 @@ typedef struct dive_trip
bool autogen;
} dive_trip_t;
struct trip_table {
typedef struct trip_table {
int nr, allocated;
struct dive_trip **trips;
};
} trip_table_t;
struct picture;
struct dive {
@ -762,10 +762,11 @@ extern void average_max_depth(struct diveplan *dive, int *avg_depth, int *max_de
* be passed through QVariants and through QML.
* Note: we have to use the typedef "dive_table_t" instead of "struct dive_table",
* because MOC removes the "struct", but dive_table is already the name of a global
* variable, leading to compilation errors. */
* variable, leading to compilation errors. Likewise for "struct trip_table". */
Q_DECLARE_METATYPE(struct dive *);
Q_DECLARE_METATYPE(struct dive_trip *);
Q_DECLARE_METATYPE(dive_table_t *);
Q_DECLARE_METATYPE(trip_table_t *);
#endif

View file

@ -307,6 +307,12 @@ struct dive_table *DownloadThread::table()
return &downloadTable;
}
struct trip_table *DownloadThread::trips()
{
// TODO: Replace by local trip-table
return &trip_table;
}
QString DCDeviceData::vendor() const
{
return data.vendor;

View file

@ -61,6 +61,7 @@ private:
class DownloadThread : public QThread {
Q_OBJECT
Q_PROPERTY(dive_table_t *table READ table CONSTANT)
Q_PROPERTY(trip_table_t *trips READ trips CONSTANT)
public:
DownloadThread();
@ -68,6 +69,7 @@ public:
DCDeviceData *data();
struct dive_table *table();
struct trip_table *trips();
QString error;
private: