Merge lp:~stolowski/unity-scope-click/number-of-store-results into lp:unity-scope-click/devel

Proposed by Paweł Stołowski
Status: Merged
Approved by: Alejandro J. Cura
Approved revision: 325
Merged at revision: 326
Proposed branch: lp:~stolowski/unity-scope-click/number-of-store-results
Merge into: lp:unity-scope-click/devel
Prerequisite: lp:~stolowski/unity-scope-click/update-for-design
Diff against target: 79 lines (+25/-13)
2 files modified
scope/clickstore/store-query.cpp (+19/-12)
scope/tests/test_query.cpp (+6/-1)
To merge this branch: bzr merge lp:~stolowski/unity-scope-click/number-of-store-results
Reviewer Review Type Date Requested Status
Alejandro J. Cura (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+226436@code.launchpad.net

Commit message

Display number of results found in the Store when performing search

Description of the change

Display number of results found in the Store when performing search, as per current designs.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alejandro J. Cura (alecu) wrote :

Please add tests to this branch.

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

We need better handling of plurals here: _("%u results in Ubuntu Store"), but I suggest opening a bug and doing it in a separate branch.
Otherwise it looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'scope/clickstore/store-query.cpp'
2--- scope/clickstore/store-query.cpp 2014-07-11 14:55:54 +0000
3+++ scope/clickstore/store-query.cpp 2014-07-11 14:55:54 +0000
4@@ -60,7 +60,8 @@
5 "schema-version" : 1,
6 "template" : {
7 "category-layout" : "grid",
8- "card-size": "small"
9+ "card-size": "small",
10+ "collapsed-rows" : 0
11 },
12 "components" : {
13 "title" : "title",
14@@ -349,23 +350,29 @@
15 const PackageSet& installedPackages,
16 const std::string& categoryTemplate)
17 {
18- scopes::CategoryRenderer categoryRenderer(categoryTemplate);
19- auto category = register_category(searchReply, "appstore", _("Available"), "", categoryRenderer);
20-
21- scopes::CategoryRenderer recommendsCatRenderer(categoryTemplate);
22- auto recommendsCategory = register_category(searchReply, "recommends",
23- _("Recommended"), "",
24- recommendsCatRenderer);
25-
26 assert(searchReply);
27
28 run_under_qt([=]()
29 {
30- auto search_cb = [this, searchReply,
31- category, recommendsCategory,
32- installedPackages](Packages packages, Packages recommends) {
33+ auto search_cb = [this, searchReply, categoryTemplate, installedPackages](Packages packages, Packages recommends) {
34 qDebug("search callback");
35
36+ const scopes::CategoryRenderer categoryRenderer(categoryTemplate);
37+
38+ std::string cat_title(_("Available"));
39+ {
40+ char tmp[512];
41+ if (snprintf(tmp, sizeof(tmp), _("%u results in Ubuntu Store"), static_cast<unsigned int>(packages.size())) > 0) {
42+ cat_title = tmp;
43+ }
44+ }
45+ auto category = register_category(searchReply, "appstore", cat_title, "", categoryRenderer);
46+
47+ const scopes::CategoryRenderer recommendsCatRenderer(categoryTemplate);
48+ auto recommendsCategory = register_category(searchReply, "recommends",
49+ _("Recommended"), "",
50+ recommendsCatRenderer);
51+
52 // handle packages data
53 foreach (auto p, packages) {
54 push_package(searchReply, category, installedPackages, p);
55
56=== modified file 'scope/tests/test_query.cpp'
57--- scope/tests/test_query.cpp 2014-07-03 14:58:53 +0000
58+++ scope/tests/test_query.cpp 2014-07-11 14:55:54 +0000
59@@ -135,6 +135,8 @@
60 q.wrap_add_available_apps(reply, no_installed_packages, FAKE_CATEGORY_TEMPLATE);
61 }
62
63+MATCHER_P(CategoryHasNumberOfResults, number, "") { return arg.find(std::to_string(number)) != std::string::npos; }
64+
65 TEST(QueryTest, testAddAvailableAppsPushesResults)
66 {
67 click::Packages packages {
68@@ -151,7 +153,10 @@
69
70 scopes::CategoryRenderer renderer("{}");
71 auto ptrCat = std::make_shared<FakeCategory>("id", "", "", renderer);
72- EXPECT_CALL(q, register_category(_, _, _, _, _)).Times(2).WillRepeatedly(Return(ptrCat));
73+
74+ ON_CALL(q, register_category(_, _, _, _, _)).WillByDefault(Return(ptrCat));
75+ EXPECT_CALL(q, register_category(_, "appstore", CategoryHasNumberOfResults(1), _, _));
76+ EXPECT_CALL(q, register_category(_, "recommends", _, _, _));
77
78 scopes::testing::MockSearchReply mock_reply;
79 scopes::SearchReplyProxy reply(&mock_reply, [](unity::scopes::SearchReply*){});

Subscribers

People subscribed via source and target branches

to all changes: