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
=== modified file 'scope/clickstore/store-query.cpp'
--- scope/clickstore/store-query.cpp 2014-07-11 14:55:54 +0000
+++ scope/clickstore/store-query.cpp 2014-07-11 14:55:54 +0000
@@ -60,7 +60,8 @@
60 "schema-version" : 1,60 "schema-version" : 1,
61 "template" : {61 "template" : {
62 "category-layout" : "grid",62 "category-layout" : "grid",
63 "card-size": "small"63 "card-size": "small",
64 "collapsed-rows" : 0
64 },65 },
65 "components" : {66 "components" : {
66 "title" : "title",67 "title" : "title",
@@ -349,23 +350,29 @@
349 const PackageSet& installedPackages,350 const PackageSet& installedPackages,
350 const std::string& categoryTemplate)351 const std::string& categoryTemplate)
351{352{
352 scopes::CategoryRenderer categoryRenderer(categoryTemplate);
353 auto category = register_category(searchReply, "appstore", _("Available"), "", categoryRenderer);
354
355 scopes::CategoryRenderer recommendsCatRenderer(categoryTemplate);
356 auto recommendsCategory = register_category(searchReply, "recommends",
357 _("Recommended"), "",
358 recommendsCatRenderer);
359
360 assert(searchReply);353 assert(searchReply);
361354
362 run_under_qt([=]()355 run_under_qt([=]()
363 {356 {
364 auto search_cb = [this, searchReply,357 auto search_cb = [this, searchReply, categoryTemplate, installedPackages](Packages packages, Packages recommends) {
365 category, recommendsCategory,
366 installedPackages](Packages packages, Packages recommends) {
367 qDebug("search callback");358 qDebug("search callback");
368359
360 const scopes::CategoryRenderer categoryRenderer(categoryTemplate);
361
362 std::string cat_title(_("Available"));
363 {
364 char tmp[512];
365 if (snprintf(tmp, sizeof(tmp), _("%u results in Ubuntu Store"), static_cast<unsigned int>(packages.size())) > 0) {
366 cat_title = tmp;
367 }
368 }
369 auto category = register_category(searchReply, "appstore", cat_title, "", categoryRenderer);
370
371 const scopes::CategoryRenderer recommendsCatRenderer(categoryTemplate);
372 auto recommendsCategory = register_category(searchReply, "recommends",
373 _("Recommended"), "",
374 recommendsCatRenderer);
375
369 // handle packages data376 // handle packages data
370 foreach (auto p, packages) {377 foreach (auto p, packages) {
371 push_package(searchReply, category, installedPackages, p);378 push_package(searchReply, category, installedPackages, p);
372379
=== modified file 'scope/tests/test_query.cpp'
--- scope/tests/test_query.cpp 2014-07-03 14:58:53 +0000
+++ scope/tests/test_query.cpp 2014-07-11 14:55:54 +0000
@@ -135,6 +135,8 @@
135 q.wrap_add_available_apps(reply, no_installed_packages, FAKE_CATEGORY_TEMPLATE);135 q.wrap_add_available_apps(reply, no_installed_packages, FAKE_CATEGORY_TEMPLATE);
136}136}
137137
138MATCHER_P(CategoryHasNumberOfResults, number, "") { return arg.find(std::to_string(number)) != std::string::npos; }
139
138TEST(QueryTest, testAddAvailableAppsPushesResults)140TEST(QueryTest, testAddAvailableAppsPushesResults)
139{141{
140 click::Packages packages {142 click::Packages packages {
@@ -151,7 +153,10 @@
151153
152 scopes::CategoryRenderer renderer("{}");154 scopes::CategoryRenderer renderer("{}");
153 auto ptrCat = std::make_shared<FakeCategory>("id", "", "", renderer);155 auto ptrCat = std::make_shared<FakeCategory>("id", "", "", renderer);
154 EXPECT_CALL(q, register_category(_, _, _, _, _)).Times(2).WillRepeatedly(Return(ptrCat));156
157 ON_CALL(q, register_category(_, _, _, _, _)).WillByDefault(Return(ptrCat));
158 EXPECT_CALL(q, register_category(_, "appstore", CategoryHasNumberOfResults(1), _, _));
159 EXPECT_CALL(q, register_category(_, "recommends", _, _, _));
155160
156 scopes::testing::MockSearchReply mock_reply;161 scopes::testing::MockSearchReply mock_reply;
157 scopes::SearchReplyProxy reply(&mock_reply, [](unity::scopes::SearchReply*){});162 scopes::SearchReplyProxy reply(&mock_reply, [](unity::scopes::SearchReply*){});

Subscribers

People subscribed via source and target branches

to all changes: