on xenial help sign in
Use thumbnailer for previews as well
commit94bccab02c1f703110eb2e22d3b9c4472de40ce8 authorMichal Hruby <michal.mhr@gmail.com> dateTue 1 Oct 2013, 16:46 (13 years ago) parentfe05f00
7 files changed+26−26
plugins/Unity/categoryresults.cpp+2−3 plugins/Unity/iconutils.cpp+13 plugins/Unity/iconutils.h+1 plugins/Unity/preview.cpp+10−14 plugins/Unity/preview.h−2 tests/mocks/Unity/fake_preview.cpp−5 tests/mocks/Unity/fake_preview.h−2
plugins/Unity/categoryresults.cpp+2−3
@@ -81,9 +81,8 @@ CategoryResults::data(const QModelIndex& index, int role) const
8181 QString giconString(DeeListModel::data(index, ResultsColumn::ICON_HINT).toString());
8282 if (giconString.isEmpty()) {
8383 QString uri(DeeListModel::data(index, ResultsColumn::URI).toString());
84− if (uri.startsWith(QLatin1String("file:///"))) {
85− QString thumbnailerUri("image://thumbnailer/");
86− thumbnailerUri.append(uri.midRef(7));
84+ QString thumbnailerUri(uriToThumbnailerProviderString(uri));
85+ if (!thumbnailerUri.isNull()) {
8786 return QVariant::fromValue(thumbnailerUri);
8887 }
8988 }
plugins/Unity/iconutils.cpp+13
@@ -24,6 +24,7 @@
2424#include "iconutils.h"
2525
2626#define BASE_THEME_ICON_URI "image://theme/"
27+#define BASE_THUMBNAILER_URI "image://thumbnailer/"
2728
2829QString gIconToDeclarativeImageProviderString(QString const &giconString)
2930{
@@ -89,3 +90,15 @@ QString gIconToDeclarativeImageProviderString(QString const &giconString)
8990
9091 return result;
9192}
93+
94+QString uriToThumbnailerProviderString(QString const &uri)
95+{
96+ if (uri.startsWith(QLatin1String("file:///"))) {
97+ QString thumbnailerUri(BASE_THUMBNAILER_URI);
98+ thumbnailerUri.append(uri.midRef(7));
99+ return thumbnailerUri;
100+ }
101+
102+ return QString::null;
103+}
104+
plugins/Unity/iconutils.h+1
@@ -23,5 +23,6 @@
2323#include <QString>
2424
2525QString gIconToDeclarativeImageProviderString(QString const &giconString);
26+QString uriToThumbnailerProviderString(QString const &uri);
2627
2728#endif
plugins/Unity/preview.cpp+10−14
@@ -106,20 +106,16 @@ QVariantMap Preview::infoHintsHash() const
106106QString Preview::image() const
107107{
108108 if (m_unityPreview) {
109− auto giconString = g_icon_to_string(m_unityPreview->image());
110− QString result(gIconToDeclarativeImageProviderString(QString::fromUtf8(giconString)));
111− g_free(giconString);
112− return result;
113− } else {
114− qWarning() << "Preview not set";
115− }
116− return QString::null;
117−}
118−
119−QString Preview::imageSourceUri() const
120−{
121− if (m_unityPreview) {
122− return QString::fromStdString(m_unityPreview->image_source_uri());
109+ if (m_unityPreview->image() != nullptr) {
110+ auto giconString = g_icon_to_string(m_unityPreview->image());
111+ QString result(gIconToDeclarativeImageProviderString(QString::fromUtf8(giconString)));
112+ g_free(giconString);
113+ return result;
114+ } else {
115+ QString sourceMedia(QString::fromStdString(m_unityPreview->image_source_uri()));
116+ QString thumbnailUri(uriToThumbnailerProviderString(sourceMedia));
117+ if (!thumbnailUri.isNull()) return thumbnailUri;
118+ }
123119 } else {
124120 qWarning() << "Preview not set";
125121 }
plugins/Unity/preview.h−2
@@ -47,7 +47,6 @@ class Q_DECL_EXPORT Preview : public QObject
4747 Q_PROPERTY(QVariant infoHints READ infoHints NOTIFY previewChanged)
4848 Q_PROPERTY(QVariantMap infoMap READ infoHintsHash NOTIFY previewChanged)
4949 Q_PROPERTY(QString image READ image NOTIFY previewChanged)
50− Q_PROPERTY(QString imageSourceUri READ imageSourceUri NOTIFY previewChanged)
5150 Q_PROPERTY(QVariant result READ result NOTIFY previewChanged)
5251
5352public:
@@ -62,7 +61,6 @@ public:
6261 QVariant infoHints();
6362 QVariantMap infoHintsHash() const;
6463 QString image() const;
65− QString imageSourceUri() const;
6664 QVariant result() const;
6765
6866 Q_INVOKABLE void execute(const QString& actionId, const QHash<QString, QVariant>& hints);
tests/mocks/Unity/fake_preview.cpp−5
@@ -56,11 +56,6 @@ QString Preview::image() const
5656 return "";
5757}
5858
59−QString Preview::imageSourceUri() const
60−{
61− return "";
62−}
63−
6459void Preview::execute(const QString& actionId, const QHash<QString, QVariant>& hints)
6560{
6661 Q_UNUSED(actionId);
tests/mocks/Unity/fake_preview.h−2
@@ -36,7 +36,6 @@ class Q_DECL_EXPORT Preview : public QObject
3636 Q_PROPERTY(QVariant infoHints READ infoHints NOTIFY previewChanged)
3737 Q_PROPERTY(QVariantMap infoMap READ infoHintsHash NOTIFY previewChanged)
3838 Q_PROPERTY(QString image READ image NOTIFY previewChanged)
39− Q_PROPERTY(QString imageSourceUri READ imageSourceUri NOTIFY previewChanged)
4039
4140public:
4241 explicit Preview(QObject *parent = 0);
@@ -49,7 +48,6 @@ public:
4948 QVariant infoHints();
5049 QVariantMap infoHintsHash() const;
5150 QString image() const;
52− QString imageSourceUri() const;
5351
5452 Q_INVOKABLE void execute(const QString& actionId, const QHash<QString, QVariant>& hints);
5553