on 551c708 help sign in
unity8/tests/mocks/Unity/fake_applications_scope.cpp
76 lines 2.6 kB history raw
1/*
2 * Copyright (C) 2013, 2014 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#include "fake_applications_scope.h"
19static const gchar * categories_model_schema[] = {
20 "s", //ID
21 "s", // DISPLAY_NAME
22 "s", // ICON_HINT
23 "s", // RENDERER_NAME
24 "a{sv}" // HINTS
25};
27ApplicationsScope::ApplicationsScope(bool visible, QObject* parent)
28 : Scope(parent)
30 m_id = "applications.scope";
31 m_name = "Applications";
32 m_visible = visible;
33 m_previewRendererName = "preview-application";
34 m_categories->setModel(createCategoriesModel());
37DeeModel* ApplicationsScope::createCategoriesModel()
39 DeeModel* category_model = dee_sequence_model_new();
40 dee_model_set_schema_full(category_model, categories_model_schema, G_N_ELEMENTS(categories_model_schema));
41 GVariant* hints = g_variant_new_array(g_variant_type_element(G_VARIANT_TYPE_VARDICT), NULL, 0);
43 GVariant* children[1];
44 children[0] = g_variant_new_dict_entry(g_variant_new_string("content-type"),
45 g_variant_new_variant(g_variant_new_string("apps")));
46 GVariant* recentHints = g_variant_new_array(g_variant_type_element(G_VARIANT_TYPE_VARDICT), children, 1);
47 dee_model_append(category_model,
48 "recent",
49 "Recent",
50 "gtk-apply",
51 "special",
52 recentHints);
54 dee_model_append(category_model,
55 "installed",
56 "Installed",
57 "gtk-apply",
58 "grid",
59 hints);
61 dee_model_append(category_model,
62 "suggested",
63 "Suggested",
64 "gtk-apply",
65 "grid",
66 hints);
68 dee_model_append(category_model,
69 "outdated",
70 "Outdaded",
71 "gtk-apply",
72 "grid",
73 hints);
75 return category_model;