on ccce83f help sign in
unity8/tests/mocks/Unity/fake_applications_scope.cpp
68 lines 2.3 kB history raw
1/*
2 * Copyright (C) 2013 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_categories->setModel(createCategoriesModel());
36DeeModel* ApplicationsScope::createCategoriesModel()
38 DeeModel* category_model = dee_sequence_model_new();
39 dee_model_set_schema_full(category_model, categories_model_schema, G_N_ELEMENTS(categories_model_schema));
40 GVariant* hints = g_variant_new_array(g_variant_type_element(G_VARIANT_TYPE_VARDICT), NULL, 0);
42 GVariant* children[1];
43 children[0] = g_variant_new_dict_entry(g_variant_new_string("content-type"),
44 g_variant_new_variant(g_variant_new_string("apps")));
45 GVariant* recentHints = g_variant_new_array(g_variant_type_element(G_VARIANT_TYPE_VARDICT), children, 1);
46 dee_model_append(category_model,
47 "recent",
48 "Recent",
49 "gtk-apply",
50 "special",
51 recentHints);
53 dee_model_append(category_model,
54 "installed",
55 "Installed",
56 "gtk-apply",
57 "grid",
58 hints);
60 dee_model_append(category_model,
61 "suggested",
62 "Suggested",
63 "gtk-apply",
64 "grid",
65 hints);
67 return category_model;