Dive video: paint duration-bar above thumbnail in profile plot

Paint a rectangle on top of thumbnails indicating the run-time
of the video.

Use the z=100.0-101.0 range for painting the thumbnails, whereby
the z-value increases uniformly from first to last thumbnail
(sorted by timestamp). The duration-bars are placed at z-values
midway between those of the thumbnails.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-07-15 17:56:18 +02:00 committed by Dirk Hohndel
parent c742885984
commit b3feaa80e2
9 changed files with 163 additions and 76 deletions

View file

@ -47,7 +47,7 @@ public slots:
void imageDownloaded(QString filename);
void imageDownloadFailed(QString filename);
signals:
void thumbnailChanged(QString filename, QImage thumbnail);
void thumbnailChanged(QString filename, QImage thumbnail, duration_t duration);
private:
struct Thumbnail {
QImage img;
@ -56,9 +56,9 @@ private:
};
Thumbnailer();
static void addPictureThumbnailToCache(const QString &picture_filename, const QImage &thumbnail);
static void addVideoThumbnailToCache(const QString &picture_filename, duration_t duration);
static void addUnknownThumbnailToCache(const QString &picture_filename);
Thumbnail addPictureThumbnailToCache(const QString &picture_filename, const QImage &thumbnail);
Thumbnail addVideoThumbnailToCache(const QString &picture_filename, duration_t duration);
Thumbnail addUnknownThumbnailToCache(const QString &picture_filename);
void recalculate(QString filename);
void processItem(QString filename, bool tryDownload);
Thumbnail getThumbnailFromCache(const QString &picture_filename);