aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/downloadfromdivecomputer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/downloadfromdivecomputer.cpp')
-rw-r--r--qt-ui/downloadfromdivecomputer.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp
index da3bb136b..10a3a20b8 100644
--- a/qt-ui/downloadfromdivecomputer.cpp
+++ b/qt-ui/downloadfromdivecomputer.cpp
@@ -286,6 +286,12 @@ void DownloadFromDCWidget::on_downloadCancelRetryButton_clicked()
updateState(CANCELLING);
return;
}
+ if (currentState == DONE) {
+ // this means we are retrying - so we better clean out the partial
+ // list of downloaded dives from the last attempt
+ diveImportedModel->clearTable();
+ clear_table(&downloadTable);
+ }
updateState(DOWNLOADING);
// you cannot cancel the dialog, just the download
@@ -620,6 +626,14 @@ Qt::ItemFlags DiveImportedModel::flags(const QModelIndex &index) const
return QAbstractTableModel::flags(index) | Qt::ItemIsUserCheckable;
}
+void DiveImportedModel::clearTable()
+{
+ beginRemoveRows(QModelIndex(), 0, lastIndex - firstIndex);
+ lastIndex = -1;
+ firstIndex = 0;
+ endRemoveRows();
+}
+
void DiveImportedModel::setImportedDivesIndexes(int first, int last)
{
Q_ASSERT(last >= first);