mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
ff9506b21b
Since process_imported_dives() can add dives to a newly generated trip, this need not be done in the downloading code. This makes data flow distinctly simpler, as no trip table and no add-new-trip flag has to be passed down to the libdivecomputer glue code. Moreover, since now the trip creation is done at the import step rather than the download step, the latest status of the "add to new trip" checkbox will be considered. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
#ifndef DIVEIMPORTEDMODEL_H
|
|
#define DIVEIMPORTEDMODEL_H
|
|
|
|
#include <QAbstractTableModel>
|
|
#include <vector>
|
|
#include "core/dive.h"
|
|
|
|
class DiveImportedModel : public QAbstractTableModel
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
enum roleTypes { DateTime = Qt::UserRole + 1, Duration, Depth, Selected};
|
|
|
|
DiveImportedModel(QObject *parent = 0);
|
|
int columnCount(const QModelIndex& index = QModelIndex()) const;
|
|
int rowCount(const QModelIndex& index = QModelIndex()) const;
|
|
QVariant data(const QModelIndex& index, int role) const;
|
|
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
|
|
void setImportedDivesIndexes(int first, int last);
|
|
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 recordDives();
|
|
public
|
|
slots:
|
|
void changeSelected(QModelIndex clickedIndex);
|
|
void selectRow(int row);
|
|
void selectAll();
|
|
void selectNone();
|
|
|
|
private:
|
|
int firstIndex;
|
|
int lastIndex;
|
|
std::vector<char> checkStates; // char instead of bool to avoid silly pessimization of std::vector.
|
|
struct dive_table *diveTable;
|
|
};
|
|
|
|
#endif
|