summaryrefslogtreecommitdiffstats
path: root/qt-ui/divepicturewidget.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2014-06-03 19:34:36 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-06-03 16:46:03 -0700
commitb1847f9ebb45fcdeb4488f8acd7df2b9ee75906a (patch)
tree8073b53c87220315d1f603791367efa654417c63 /qt-ui/divepicturewidget.cpp
parent43cf9fdb7a5cc27357c9c111baa6a11b57366a7a (diff)
downloadsubsurface-b1847f9ebb45fcdeb4488f8acd7df2b9ee75906a.tar.gz
Also hold a pointer to the struct picture on the model.
Changes to hold a pointer to the struct picture on the model, so we can use it to determine the correct positioning of the image on the profile. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/divepicturewidget.cpp')
-rw-r--r--qt-ui/divepicturewidget.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/qt-ui/divepicturewidget.cpp b/qt-ui/divepicturewidget.cpp
index 5da7c73a4..97b7bd25e 100644
--- a/qt-ui/divepicturewidget.cpp
+++ b/qt-ui/divepicturewidget.cpp
@@ -43,15 +43,17 @@ void DivePictureModel::updateDivePictures(int divenr)
return;
}
+ stringPixmapCache.clear();
QStringList pictures;
FOR_EACH_PICTURE( d ) {
+ stringPixmapCache[QString(picture->filename)].picture = picture;
pictures.push_back(QString(picture->filename));
}
- stringPixmapCache.clear();
+
SPixmapList retList = QtConcurrent::blockingMapped<SPixmapList>( pictures, scaleImages);
Q_FOREACH(const SPixmap & pixmap, retList)
- stringPixmapCache[pixmap.first] = pixmap.second;
+ stringPixmapCache[pixmap.first].image = pixmap.second;
beginInsertRows(QModelIndex(), 0, numberOfPictures-1);
endInsertRows();
@@ -59,7 +61,7 @@ void DivePictureModel::updateDivePictures(int divenr)
int DivePictureModel::columnCount(const QModelIndex &parent) const
{
- return 1;
+ return 2;
}
QVariant DivePictureModel::data(const QModelIndex &index, int role) const
@@ -69,10 +71,17 @@ QVariant DivePictureModel::data(const QModelIndex &index, int role) const
return ret;
QString key = stringPixmapCache.keys().at(index.row());
- switch(role){
- case Qt::ToolTipRole : ret = key; break;
- case Qt::DecorationRole : ret = stringPixmapCache[key]; break;
- case Qt::DisplayRole : ret = QFileInfo(key).fileName();
+ if(index.column() == 0){
+ switch(role){
+ case Qt::ToolTipRole : ret = key; break;
+ case Qt::DecorationRole : ret = stringPixmapCache[key].image; break;
+ case Qt::DisplayRole : ret = QFileInfo(key).fileName();
+ }
+ }
+ else if (index.column() == 1){
+ switch(role){
+ case Qt::UserRole : ret = QVariant::fromValue( (void*) stringPixmapCache[key].picture);
+ }
}
return ret;
}