mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
7be962bfc2
Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
#include "qt-models/divesitepicturesmodel.h"
|
|
#include "core/dive.h"
|
|
#include <stdint.h>
|
|
|
|
#include <QtConcurrent>
|
|
#include <QPixmap>
|
|
|
|
DiveSitePicturesModel* DiveSitePicturesModel::instance() {
|
|
static DiveSitePicturesModel *self = new DiveSitePicturesModel();
|
|
return self;
|
|
}
|
|
|
|
DiveSitePicturesModel::DiveSitePicturesModel() {
|
|
|
|
}
|
|
|
|
void DiveSitePicturesModel::updateDivePictures() {
|
|
beginResetModel();
|
|
numberOfPictures = 0;
|
|
endResetModel();
|
|
|
|
const uint32_t ds_uuid = displayed_dive_site.uuid;
|
|
struct dive *d;
|
|
int i;
|
|
|
|
stringPixmapCache.clear();
|
|
SPictureList pictures;
|
|
|
|
for_each_dive (i, d) {
|
|
if (d->dive_site_uuid == ds_uuid && dive_get_picture_count(d)) {
|
|
FOR_EACH_PICTURE(d) {
|
|
stringPixmapCache[QString(picture->filename)].offsetSeconds = picture->offset.seconds;
|
|
pictures.push_back(picture);
|
|
}
|
|
}
|
|
}
|
|
|
|
QList<SPixmap> list = QtConcurrent::blockingMapped(pictures, scaleImages);
|
|
Q_FOREACH (const SPixmap &pixmap, list)
|
|
stringPixmapCache[pixmap.first->filename].image = pixmap.second;
|
|
|
|
numberOfPictures = list.count();
|
|
beginInsertRows(QModelIndex(), 0, numberOfPictures - 1);
|
|
endInsertRows();
|
|
}
|