mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
c742885984
commit
b3feaa80e2
9 changed files with 163 additions and 76 deletions
|
@ -74,6 +74,7 @@ public:
|
|||
|
||||
ProfileWidget2(QWidget *parent = 0);
|
||||
void resetZoom();
|
||||
void scale(qreal sx, qreal sy);
|
||||
void plotDive(struct dive *d = 0, bool force = false, bool clearPictures = false);
|
||||
void setupItem(AbstractProfilePolygonItem *item, DiveCartesianAxis *vAxis, int vData, int hData, int zValue);
|
||||
void setPrintMode(bool mode, bool grayscale = false);
|
||||
|
@ -127,7 +128,7 @@ slots: // Necessary to call from QAction's signals.
|
|||
void deleteCurrentDC();
|
||||
void pointInserted(const QModelIndex &parent, int start, int end);
|
||||
void pointsRemoved(const QModelIndex &, int start, int end);
|
||||
void updateThumbnail(QString filename, QImage thumbnail);
|
||||
void updateThumbnail(QString filename, QImage thumbnail, duration_t duration);
|
||||
|
||||
/* this is called for every move on the handlers. maybe we can speed up this a bit? */
|
||||
void recreatePlannedDive();
|
||||
|
@ -234,14 +235,19 @@ private:
|
|||
// Pictures that are outside of the dive time are not shown.
|
||||
struct PictureEntry {
|
||||
offset_t offset;
|
||||
duration_t duration;
|
||||
QString filename;
|
||||
std::unique_ptr<DivePictureItem> thumbnail;
|
||||
// For videos with known duration, we represent the duration of the video by a line
|
||||
std::unique_ptr<QGraphicsRectItem> durationLine;
|
||||
PictureEntry (offset_t offsetIn, const QString &filenameIn, QGraphicsScene *scene);
|
||||
bool operator< (const PictureEntry &e) const;
|
||||
};
|
||||
void updateThumbnailXPos(PictureEntry &e);
|
||||
std::vector<PictureEntry> pictures;
|
||||
void calculatePictureYPositions();
|
||||
void updateDurationLine(PictureEntry &e);
|
||||
void updateThumbnailPaintOrder();
|
||||
|
||||
QList<DiveHandler *> handles;
|
||||
void repositionDiveHandlers();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue