mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Dive pictures: change removePicture() interface
The function removePicture() had a flag "last", which would indicate that the called had finished removing pictures. Only then would the model be recalculated. This is a strange interface and, matter of fact, the caller was buggy: if the last picture to be removed didn't have a proper url, removePicture() was never called with "last" being set. Change the interface to take a list of pictures to be deleted. This will allow us to make picture deletion smarter in follow-up commits. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
fbe1144eaf
commit
3c0c1801cd
4 changed files with 27 additions and 19 deletions
|
@ -127,19 +127,29 @@ QVariant DivePictureModel::data(const QModelIndex &index, int role) const
|
|||
return ret;
|
||||
}
|
||||
|
||||
void DivePictureModel::removePicture(const QString &fileUrl, bool last)
|
||||
// Return true if we actually removed a picture
|
||||
static bool removePictureFromSelectedDive(const char *fileUrl)
|
||||
{
|
||||
int i;
|
||||
struct dive *dive;
|
||||
for_each_dive (i, dive) {
|
||||
if (dive->selected && dive_remove_picture(dive, qPrintable(fileUrl)))
|
||||
break;
|
||||
}
|
||||
if (last) {
|
||||
copy_dive(current_dive, &displayed_dive);
|
||||
updateDivePictures();
|
||||
mark_divelist_changed(true);
|
||||
if (dive->selected && dive_remove_picture(dive, fileUrl))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void DivePictureModel::removePictures(const QVector<QString> &fileUrls)
|
||||
{
|
||||
bool removed = false;
|
||||
for (const QString &fileUrl: fileUrls)
|
||||
removed |= removePictureFromSelectedDive(qPrintable(fileUrl));
|
||||
if (!removed)
|
||||
return;
|
||||
copy_dive(current_dive, &displayed_dive);
|
||||
mark_divelist_changed(true);
|
||||
|
||||
updateDivePictures();
|
||||
}
|
||||
|
||||
int DivePictureModel::rowCount(const QModelIndex &parent) const
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue