mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Move DivePictureModel to qt-models
This class will surely be used on the mobile version, and it was very tangled inside divepicturewidget. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
37bd82f623
commit
ffc0c8ee99
11 changed files with 181 additions and 156 deletions
41
qt-models/divepicturemodel.h
Normal file
41
qt-models/divepicturemodel.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
#ifndef DIVEPICTUREMODEL_H
|
||||
#define DIVEPICTUREMODEL_H
|
||||
|
||||
#include <QAbstractTableModel>
|
||||
#include <QImage>
|
||||
#include <QFuture>
|
||||
|
||||
typedef QPair<QString, QByteArray> SHashedFilename;
|
||||
|
||||
class SHashedImage : public QImage {
|
||||
public:
|
||||
SHashedImage(struct picture *picture);
|
||||
};
|
||||
|
||||
|
||||
struct PhotoHelper {
|
||||
QImage image;
|
||||
int offsetSeconds;
|
||||
};
|
||||
|
||||
class DivePictureModel : public QAbstractTableModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
static DivePictureModel *instance();
|
||||
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
void updateDivePictures();
|
||||
void updateDivePicturesWhenDone(QList<QFuture<void> >);
|
||||
void removePicture(const QString& fileUrl);
|
||||
|
||||
private:
|
||||
DivePictureModel();
|
||||
int numberOfPictures;
|
||||
// Currently, load the images on the fly
|
||||
// Later, use a thread to load the images
|
||||
// Later, save the thumbnails so we don't need to reopen every time.
|
||||
QHash<QString, PhotoHelper> stringPixmapCache;
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue