From 0bc6f9d81ceb45be47d09880c9ec139e2cf371e2 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 22 Aug 2013 17:16:55 +0200 Subject: Enhance preview * Show time when snapshot was taken. * Align the snapshots properly. * Show BusyCursor when generating preview. --- helper.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'helper.cpp') diff --git a/helper.cpp b/helper.cpp index 7349b09..cff490c 100644 --- a/helper.cpp +++ b/helper.cpp @@ -260,13 +260,15 @@ namespace Helper { retval.fill(Qt::transparent); QPainter p(&retval); QImage img1 = snapshot(path, 20); - p.drawImage(0, 0, img1); + int yOff = (480 - img1.height()) / 2; + yOff = yOff < 0 ? 0 : yOff; + p.drawImage(0, yOff, img1); QImage img2 = snapshot(path, interval * 2); - p.drawImage(680, 0, img2); + p.drawImage(680, yOff, img2); QImage img3 = snapshot(path, interval * 3); - p.drawImage(0, 520, img3); + p.drawImage(0, 520 + yOff, img3); QImage img4 = snapshot(path, secs - 60); - p.drawImage(680, 520, img4); + p.drawImage(680, 520 + yOff, img4); QPixmap pmretval = QPixmap::fromImage(retval); return pmretval; } @@ -287,7 +289,19 @@ namespace Helper { ffproc.waitForFinished(); } QImage retval(tf.fileName()); - return retval.scaledToWidth(640); + retval = retval.scaledToWidth(640); + Duration dur(where); + QFont font("courier", 10); + QFontMetrics fm(font); + int width = fm.width(dur.toString()); + int height = fm.height(); + QPainter p(&retval); + p.setBrush(QBrush(QColor(255, 255, 255, 70))); + QRect durRect(640 / 2 - width / 2 - 4, retval.height() - height - 8, width + 4, height + 4); + p.drawRect(durRect); + p.setPen(Qt::black); + p.drawText(durRect, Qt::AlignCenter, dur.toString()); + return retval; } QVariant picSize(const QString &path){ -- cgit v1.2.3-70-g09d2