diff options
Diffstat (limited to 'qt-models/divesiteimportmodel.h')
-rw-r--r-- | qt-models/divesiteimportmodel.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/qt-models/divesiteimportmodel.h b/qt-models/divesiteimportmodel.h new file mode 100644 index 000000000..5c7fb27fe --- /dev/null +++ b/qt-models/divesiteimportmodel.h @@ -0,0 +1,35 @@ +#ifndef DIVESITEIMPORTEDMODEL_H +#define DIVESITEIMPORTEDMODEL_H + +#include <QAbstractTableModel> +#include <vector> +#include "core/divesite.h" + +class DivesiteImportedModel : public QAbstractTableModel +{ + Q_OBJECT +public: + enum columnNames { NAME, LOCATION, COUNTRY, NEAREST, DISTANCE, SELECTED }; + + DivesiteImportedModel(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; + Qt::ItemFlags flags(const QModelIndex &index) const; + void repopulate(dive_site_table_t *sites); +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_site_table *importedSitesTable; +}; + +#endif |