mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Dive d/l selection UI: clear table when retrying
After a partial download (because the user hits cancel or because there was an error, if the user hits Retry the list of dives downloaded so far should be cleared because we will simply try to re-download the same dives again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
bccbdf8264
commit
578e9c22af
2 changed files with 15 additions and 1 deletions
|
@ -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);
|
||||
|
|
|
@ -36,7 +36,7 @@ public:
|
|||
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
|
||||
void setImportedDivesIndexes(int first, int last);
|
||||
Qt::ItemFlags flags(const QModelIndex &index) const;
|
||||
void removeUnused();
|
||||
void clearTable();
|
||||
|
||||
public
|
||||
slots:
|
||||
|
|
Loading…
Reference in a new issue