summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/divelogimportdialog.cpp26
-rw-r--r--qt-ui/divelogimportdialog.h4
2 files changed, 26 insertions, 4 deletions
diff --git a/qt-ui/divelogimportdialog.cpp b/qt-ui/divelogimportdialog.cpp
index 541485d51..925536255 100644
--- a/qt-ui/divelogimportdialog.cpp
+++ b/qt-ui/divelogimportdialog.cpp
@@ -161,17 +161,39 @@ QVariant ColumnNameResult::data(const QModelIndex &index, int role) const
int ColumnNameResult::rowCount(const QModelIndex &parent) const
{
-
+ Q_UNUSED(parent);
+ return columnValues.count() + 1; // +1 == the header.
}
int ColumnNameResult::columnCount(const QModelIndex &parent) const
{
-
+ Q_UNUSED(parent);
+ return columnNames.count();
}
void ColumnNameResult::setColumnValues(QList<QStringList> columns)
{
+ if (rowCount() != 1) {
+ beginRemoveRows(QModelIndex(), 1, rowCount()-1);
+ columnValues.clear();
+ endRemoveRows();
+ }
+ if (columnCount() != 0) {
+ beginRemoveColumns(QModelIndex(), 0, columnCount()-1);
+ columnNames.clear();
+ endRemoveColumns();
+ }
+
+ QStringList first = columns.first();
+ beginInsertColumns(QModelIndex(), 0, first.count()-1);
+ for(int i = 0; i < first.count(); i++){
+ columnNames.append(QString());
+ }
+ endInsertColumns();
+ beginInsertRows(QModelIndex(), 0, columns.count()-1);
+ columnValues = columns;
+ endInsertRows();
}
DiveLogImportDialog::DiveLogImportDialog(QStringList fn, QWidget *parent) : QDialog(parent),
diff --git a/qt-ui/divelogimportdialog.h b/qt-ui/divelogimportdialog.h
index b5eaa906d..a2283906f 100644
--- a/qt-ui/divelogimportdialog.h
+++ b/qt-ui/divelogimportdialog.h
@@ -34,8 +34,8 @@ public:
ColumnNameResult(QObject *parent);
bool setData(const QModelIndex &index, const QVariant &value, int role);
QVariant data(const QModelIndex &index, int role) const;
- int rowCount(const QModelIndex &parent) const;
- int columnCount(const QModelIndex &parent) const;
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ int columnCount(const QModelIndex &parent = QModelIndex()) const;
void setColumnValues(QList<QStringList> columns);
private:
QList<QStringList> columnValues;