From c73828d6055db664354ae5d1b2637d379294ef8a Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 10 Dec 2017 00:07:46 +0100 Subject: Simplify DivePictureModel The code of DivePictureModel used a QHash to keep track of thumbnails. Not only was the code rather complex - it also had the consequence that pictures are sorted according to the hash function, i.e. seemingly random. This commit replaces the QHash by a simple QList which keeps track of thumbnails and some meta-data. Signed-off-by: Berthold Stoeger --- qt-models/divepicturemodel.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'qt-models/divepicturemodel.h') diff --git a/qt-models/divepicturemodel.h b/qt-models/divepicturemodel.h index b0494d355..bbb82293e 100644 --- a/qt-models/divepicturemodel.h +++ b/qt-models/divepicturemodel.h @@ -6,17 +6,15 @@ #include #include -struct PhotoHelper { +struct PictureEntry { + struct picture *picture; + QString filename; QImage image; int offsetSeconds; }; -typedef QList SPictureList; -typedef struct picture *picturepointer; -typedef QPair SPixmap; - // function that will scale the pixmap, used inside the QtConcurrent thread. -SPixmap scaleImages(picturepointer picture); +void scaleImages(PictureEntry &entry); class DivePictureModel : public QAbstractTableModel { Q_OBJECT @@ -31,11 +29,10 @@ public: protected: 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 stringPixmapCache; + QList pictures; }; #endif -- cgit v1.2.3-70-g09d2