mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Dive pictures show pictures of all selected dives
In the dive picture tab show pictures of all selected dive. But at the same moment take care that in the profile only pictures from displayed_dive are displayed. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
parent
a11622623a
commit
5b7e4c57f7
3 changed files with 17 additions and 7 deletions
|
@ -2000,7 +2000,7 @@ void ProfileWidget2::plotPictures()
|
|||
|
||||
double x, y, lastX = -1.0, lastY = -1.0;
|
||||
DivePictureModel *m = DivePictureModel::instance();
|
||||
for (int i = 0; i < m->rowCount(); i++) {
|
||||
for (int i = m->rowDDStart; i <= m->rowDDEnd; i++) {
|
||||
int offsetSeconds = m->index(i, 1).data(Qt::UserRole).value<int>();
|
||||
// it's a correct picture, but doesn't have a timestamp: only show on the widget near the
|
||||
// information area.
|
||||
|
|
|
@ -36,7 +36,7 @@ DivePictureModel *DivePictureModel::instance()
|
|||
return self;
|
||||
}
|
||||
|
||||
DivePictureModel::DivePictureModel()
|
||||
DivePictureModel::DivePictureModel() : rowDDStart(0), rowDDEnd(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -56,13 +56,22 @@ void DivePictureModel::updateDivePictures()
|
|||
endRemoveRows();
|
||||
}
|
||||
|
||||
// if the dive_table is empty, ignore the displayed_dive
|
||||
if (dive_table.nr == 0 || dive_get_picture_count(&displayed_dive) == 0)
|
||||
// if the dive_table is empty, quit
|
||||
if (dive_table.nr == 0)
|
||||
return;
|
||||
|
||||
FOR_EACH_PICTURE_NON_PTR(displayed_dive)
|
||||
pictures.push_back({picture, picture->filename, QImage(), picture->offset.seconds});
|
||||
|
||||
int i;
|
||||
struct dive *dive;
|
||||
for_each_dive (i, dive) {
|
||||
if (dive->selected) {
|
||||
if (dive->id == displayed_dive.id)
|
||||
rowDDStart = pictures.count();
|
||||
FOR_EACH_PICTURE(dive)
|
||||
pictures.push_back({picture, picture->filename, QImage(), picture->offset.seconds});
|
||||
if (dive->id == displayed_dive.id)
|
||||
rowDDEnd = pictures.count() - 1;
|
||||
}
|
||||
}
|
||||
QtConcurrent::blockingMap(pictures, scaleImages);
|
||||
|
||||
beginInsertRows(QModelIndex(), 0, pictures.count() - 1);
|
||||
|
|
|
@ -26,6 +26,7 @@ public:
|
|||
virtual void updateDivePictures();
|
||||
void updateDivePicturesWhenDone(QList<QFuture<void>>);
|
||||
void removePicture(const QString& fileUrl, bool last);
|
||||
int rowDDStart, rowDDEnd;
|
||||
|
||||
protected:
|
||||
DivePictureModel();
|
||||
|
|
Loading…
Reference in a new issue