Merge lp:~jpakkane/ubuntu-ui-toolkit/video-image into lp:ubuntu-ui-toolkit

Proposed by Jussi Pakkanen
Status: Merged
Approved by: Tim Peeters
Approved revision: 796
Merged at revision: 792
Proposed branch: lp:~jpakkane/ubuntu-ui-toolkit/video-image
Merge into: lp:ubuntu-ui-toolkit
Diff against target: 54 lines (+23/-5)
2 files modified
modules/Ubuntu/Components/plugin/thumbnailgenerator.cpp (+22/-5)
modules/Ubuntu/Components/plugin/thumbnailgenerator.h (+1/-0)
To merge this branch: bzr merge lp:~jpakkane/ubuntu-ui-toolkit/video-image
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Needs Fixing
Michal Hruby (community) Approve
Zoltan Balogh Approve
Review via email: mp+190138@code.launchpad.net

Commit message

Return a default image if thumbnailing does not work.

Description of the change

Return a default image if thumbnailing does not work.

To post a comment you must log in.
Revision history for this message
Zoltan Balogh (bzoltan) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Michal Hruby (mhr3) wrote :

Thumnailer is being called also for non-videos, falling back on each error to a video icon fallback will be misleading.

review: Needs Fixing
Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

Fixed issue. Pushed here because this has not been merged yet. If I should make a new MR just let me know and I'll do it and revert this to previous state.

Revision history for this message
Michal Hruby (mhr3) wrote :

Cool, ok with me now.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'modules/Ubuntu/Components/plugin/thumbnailgenerator.cpp'
2--- modules/Ubuntu/Components/plugin/thumbnailgenerator.cpp 2013-10-02 13:54:45 +0000
3+++ modules/Ubuntu/Components/plugin/thumbnailgenerator.cpp 2013-10-10 11:07:38 +0000
4@@ -18,6 +18,11 @@
5
6 #include "thumbnailgenerator.h"
7 #include <stdexcept>
8+#include <QDebug>
9+#include <QMimeDatabase>
10+
11+const char *DEFAULT_VIDEO_ART = "/usr/share/unity/icons/video_missing.png";
12+const char *DEFAULT_ALBUM_ART = "/usr/share/unity/icons/album_missing.png";
13
14 ThumbnailGenerator::ThumbnailGenerator() : QQuickImageProvider(QQuickImageProvider::Image,
15 QQmlImageProviderBase::ForceAsynchronousImageLoading) {
16@@ -48,9 +53,21 @@
17 return image;
18 }
19 } catch(std::runtime_error &e) {
20- // thumbnail generation failed for some reason
21- // so just return default image
22- }
23- *realSize = QSize(0, 0);
24- return QImage();
25+ qDebug() << "Thumbnail generator failed: " << e.what();
26+ }
27+ return getFallbackImage(id, realSize, requestedSize);
28+}
29+
30+QImage ThumbnailGenerator::getFallbackImage(const QString &id, QSize *size,
31+ const QSize &requestedSize) {
32+ QMimeDatabase db;
33+ QMimeType mime = db.mimeTypeForFile(id);
34+ QImage result;
35+ if(mime.name().contains("audio")) {
36+ result.load(DEFAULT_ALBUM_ART);
37+ } else if(mime.name().contains("video")) {
38+ result.load(DEFAULT_VIDEO_ART);
39+ }
40+ *size = result.size();
41+ return result;
42 }
43
44=== modified file 'modules/Ubuntu/Components/plugin/thumbnailgenerator.h'
45--- modules/Ubuntu/Components/plugin/thumbnailgenerator.h 2013-10-01 09:43:23 +0000
46+++ modules/Ubuntu/Components/plugin/thumbnailgenerator.h 2013-10-10 11:07:38 +0000
47@@ -30,6 +30,7 @@
48 public:
49 ThumbnailGenerator();
50 QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize);
51+ QImage getFallbackImage(const QString &id, QSize *size, const QSize &requestedSize);
52 };
53
54 #endif

Subscribers

People subscribed via source and target branches

to status/vote changes: