~ddieter/appcenter/appcenter-version-info

« back to all changes in this revision

Viewing changes to src/Views/CategoryView.vala

  • Committer: Dieter Debast
  • Date: 2017-02-04 17:18:30 UTC
  • mfrom: (305.1.85 appcenter)
  • Revision ID: dieter_debast@hotmail.com-20170204171830-36eymfotdz2j9wq6
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
    private Gtk.ScrolledWindow category_scrolled;
26
26
    private string current_category;
27
27
 
 
28
    public AppStream.Category currently_viewed_category;
 
29
 
28
30
    public CategoryView () {
29
31
        
30
32
    }
42
44
        category_flow.child_activated.connect ((child) => {
43
45
            var item = child as Widgets.CategoryItem;
44
46
            if (item != null) {
 
47
                currently_viewed_category = item.app_category;
45
48
                show_app_list_for_category (item.app_category);
46
49
            }
47
50
        });
64
67
    public override void return_clicked () {
65
68
        if (current_category == null) {
66
69
            set_visible_child (category_scrolled);
 
70
            currently_viewed_category = null;
67
71
        } else {
68
 
            subview_entered (_("Categories"), current_category);
 
72
            subview_entered (_("Categories"), true, current_category);
69
73
            set_visible_child_name (current_category);
70
74
            current_category = null;
71
75
        }
72
76
    }
73
77
 
74
78
    private void show_app_list_for_category (AppStream.Category category) {
75
 
        subview_entered (_("Categories"), category.name);
 
79
        subview_entered (_("Categories"), true, category.name);
76
80
        var child = get_child_by_name (category.name);
77
81
        if (child != null) {
78
82
            set_visible_child (child);
86
90
 
87
91
        app_list_view.show_app.connect ((package) => {
88
92
            current_category = category.name;
89
 
            subview_entered (category.name, "");
 
93
            subview_entered (category.name, false, "");
90
94
            show_package (package);
91
95
        });
92
96
 
117
121
        var category = new AppStream.Category ();
118
122
        category.set_name (_("Audio"));
119
123
        category.set_icon ("applications-audio-symbolic");
120
 
        var categories = new Gee.LinkedList<string> ();
121
 
        categories.add ("Audio");
122
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
124
        category.add_desktop_group ("Audio");
123
125
        var item = new Widgets.CategoryItem (category);
124
126
        item.add_category_class ("audio");
125
127
 
129
131
    private Widgets.CategoryItem get_development_category () {
130
132
        var category = new AppStream.Category ();
131
133
        category.set_name (_("Development"));
132
 
        var categories = new Gee.LinkedList<string> ();
133
 
        categories.add ("Development");
134
 
        categories.add ("IDE");
135
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
134
        category.add_desktop_group ("Development");
 
135
        category.add_desktop_group ("IDE");
136
136
        var item = new Widgets.CategoryItem (category);
137
137
        item.add_category_class ("development");
138
138
 
143
143
        var category = new AppStream.Category ();
144
144
        category.set_name (_("Accessories"));
145
145
        category.set_icon ("applications-accessories");
146
 
        var categories = new Gee.LinkedList<string> ();
147
 
        categories.add ("Utility");
148
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
146
        category.add_desktop_group ("Utility");
149
147
        var item = new Widgets.CategoryItem (category);
150
148
        item.add_category_class ("accessories");
151
149
 
156
154
        var category = new AppStream.Category ();
157
155
        category.set_name (_("Office"));
158
156
        category.set_icon ("applications-office-symbolic");
159
 
        var categories = new Gee.LinkedList<string> ();
160
 
        categories.add ("Office");
161
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
157
        category.add_desktop_group ("Office");
162
158
        var item = new Widgets.CategoryItem (category);
163
159
        item.add_category_class ("office");
164
160
 
169
165
        var category = new AppStream.Category ();
170
166
        category.set_name (_("System"));
171
167
        category.set_icon ("applications-system");
172
 
        var categories = new Gee.LinkedList<string> ();
173
 
        categories.add ("System");
174
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
168
        category.add_desktop_group ("System");
175
169
        var item = new Widgets.CategoryItem (category);
176
170
        item.add_category_class ("system");
177
171
 
182
176
        var category = new AppStream.Category ();
183
177
        category.set_name (_("Video"));
184
178
        category.set_icon ("applications-video-symbolic");
185
 
        var categories = new Gee.LinkedList<string> ();
186
 
        categories.add ("Video");
187
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
179
        category.add_desktop_group ("Video");
188
180
        var item = new Widgets.CategoryItem (category);
189
181
        item.add_category_class ("video");
190
182
 
194
186
    private Widgets.CategoryItem get_graphics_category () {
195
187
        var category = new AppStream.Category ();
196
188
        category.set_name (_("Graphics"));
197
 
        var categories = new Gee.LinkedList<string> ();
198
 
        categories.add ("Graphics");
199
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
189
        category.add_desktop_group ("Graphics");
200
190
        var item = new Widgets.CategoryItem (category);
201
191
        item.add_category_class ("graphics");
202
192
 
206
196
    private Widgets.CategoryItem get_games_category () {
207
197
        var category = new AppStream.Category ();
208
198
        category.set_name (_("Games"));
209
 
        var categories = new Gee.LinkedList<string> ();
210
 
        categories.add ("Game");
211
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
199
        category.add_desktop_group ("Game");
212
200
        category.set_icon ("applications-games-symbolic");
213
201
        var item = new Widgets.CategoryItem (category);
214
202
        item.add_category_class ("games");
219
207
    private Widgets.CategoryItem get_education_category () {
220
208
        var category = new AppStream.Category ();
221
209
        category.set_name (_("Education"));
222
 
        var categories = new Gee.LinkedList<string> ();
223
 
        categories.add ("Education");
224
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
210
        category.add_desktop_group ("Education");
225
211
        var item = new Widgets.CategoryItem (category);
226
212
        item.add_category_class ("education");
227
213
 
232
218
        var category = new AppStream.Category ();
233
219
        category.set_name (_("Internet"));
234
220
        category.set_icon ("applications-internet");
235
 
        var categories = new Gee.LinkedList<string> ();
236
 
        categories.add ("Network");
237
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
221
        category.add_desktop_group ("Network");
238
222
        var item = new Widgets.CategoryItem (category);
239
223
        item.add_category_class ("internet");
240
224
 
244
228
    private Widgets.CategoryItem get_science_category () {
245
229
        var category = new AppStream.Category ();
246
230
        category.set_name (_("Science & Engineering"));
247
 
        var categories = new Gee.LinkedList<string> ();
248
 
        categories.add ("Science");
249
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
231
        category.add_desktop_group ("Science");
250
232
        var item = new Widgets.CategoryItem (category);
251
233
        item.add_category_class ("science");
252
234
 
257
239
        var category = new AppStream.Category ();
258
240
        category.set_name (_("Universal Access"));
259
241
        category.set_icon ("applications-accessibility-symbolic");
260
 
        var categories = new Gee.LinkedList<string> ();
261
 
        categories.add ("Accessibility");
262
 
        category.set_data<Gee.LinkedList> ("categories", categories);
 
242
        category.add_desktop_group ("Accessibility");
263
243
        var item = new Widgets.CategoryItem (category);
264
244
        item.add_category_class ("accessibility");
265
245