on xenial help sign in
Expose rendererHint to shell
1b907afMichal Hruby
Dash/GenericScopeView.qml+3−2
@@ -85,7 +85,7 @@ ScopeView {
85 right: parent.right
85 right: parent.right
86 }
86 }
87
87
88− source: getRenderer(model.renderer, model.contentType)
88+ source: getRenderer(model.renderer, model.contentType, model.rendererHint)
89
89
90 onLoaded: {
90 onLoaded: {
91 if (source.toString().indexOf("Apps/RunningApplicationsGrid.qml") != -1) {
91 if (source.toString().indexOf("Apps/RunningApplicationsGrid.qml") != -1) {
@@ -188,10 +188,11 @@ ScopeView {
188 }
188 }
189 }
189 }
190
190
191− function getRenderer(rendererId, contentType) {
191+ function getRenderer(rendererId, contentType, rendererHint) {
192 if (rendererId == "default") {
192 if (rendererId == "default") {
193 rendererId = getDefaultRendererId(contentType);
193 rendererId = getDefaultRendererId(contentType);
194 }
194 }
195+ if (rendererHint) console.log("got a hint:", rendererHint);
195 switch (rendererId) {
196 switch (rendererId) {
196 case "grid": {
197 case "grid": {
197 switch (contentType) {
198 switch (contentType) {
plugins/Unity/categories.cpp+6
@@ -40,6 +40,7 @@ Categories::Categories(QObject* parent)
40 m_roles[Categories::RoleIcon] = "icon";
40 m_roles[Categories::RoleIcon] = "icon";
41 m_roles[Categories::RoleRenderer] = "renderer";
41 m_roles[Categories::RoleRenderer] = "renderer";
42 m_roles[Categories::RoleContentType] = "contentType";
42 m_roles[Categories::RoleContentType] = "contentType";
43+ m_roles[Categories::RoleRendererHint] = "rendererHint";
43 m_roles[Categories::RoleProgressSource] = "progressSource";
44 m_roles[Categories::RoleProgressSource] = "progressSource";
44 m_roles[Categories::RoleHints] = "hints";
45 m_roles[Categories::RoleHints] = "hints";
45 m_roles[Categories::RoleResults] = "results";
46 m_roles[Categories::RoleResults] = "results";
@@ -209,6 +210,11 @@ Categories::data(const QModelIndex& index, int role) const
209 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
210 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
210 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
211 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
211 }
212 }
213+ case RoleRendererHint:
214+ {
215+ auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
216+ return hints.contains("renderer-hint") ? hints["renderer-hint"] : QVariant(QString());
217+ }
212 case RoleProgressSource:
218 case RoleProgressSource:
213 {
219 {
214 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
220 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
plugins/Unity/categories.h+1
@@ -47,6 +47,7 @@ public:
47 RoleIcon,
47 RoleIcon,
48 RoleRenderer,
48 RoleRenderer,
49 RoleContentType,
49 RoleContentType,
50+ RoleRendererHint,
50 RoleProgressSource,
51 RoleProgressSource,
51 RoleHints,
52 RoleHints,
52 RoleResults,
53 RoleResults,
tests/mocks/Unity/fake_categories.cpp+6
@@ -42,6 +42,7 @@ Categories::Categories(QObject* parent)
42 m_roles[Categories::RoleIcon] = "icon";
42 m_roles[Categories::RoleIcon] = "icon";
43 m_roles[Categories::RoleRenderer] = "renderer";
43 m_roles[Categories::RoleRenderer] = "renderer";
44 m_roles[Categories::RoleContentType] = "contentType";
44 m_roles[Categories::RoleContentType] = "contentType";
45+ m_roles[Categories::RoleRendererHint] = "rendererHint";
45 m_roles[Categories::RoleHints] = "hints";
46 m_roles[Categories::RoleHints] = "hints";
46 m_roles[Categories::RoleResults] = "results";
47 m_roles[Categories::RoleResults] = "results";
47 m_roles[Categories::RoleCount] = "count";
48 m_roles[Categories::RoleCount] = "count";
@@ -229,6 +230,11 @@ Categories::data(const QModelIndex& index, int role) const
229 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
230 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
230 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
231 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
231 }
232 }
233+ case RoleRendererHint:
234+ {
235+ auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
236+ return hints.contains("renderer-hint") ? hints["renderer-hint"] : QVariant(QString());
237+ }
232 case RoleHints:
238 case RoleHints:
233 return DeeListModel::data(index, CategoryColumn::HINTS);
239 return DeeListModel::data(index, CategoryColumn::HINTS);
234 case RoleResults:
240 case RoleResults:
tests/mocks/Unity/fake_categories.h+1
@@ -39,6 +39,7 @@ public:
39 RoleIcon,
39 RoleIcon,
40 RoleRenderer,
40 RoleRenderer,
41 RoleContentType,
41 RoleContentType,
42+ RoleRendererHint,
42 RoleHints,
43 RoleHints,
43 RoleResults,
44 RoleResults,
44 RoleCount
45 RoleCount