diff options
Diffstat (limited to 'qt-ui/downloadfromdivecomputer.cpp')
-rw-r--r-- | qt-ui/downloadfromdivecomputer.cpp | 14 |
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); |