149
private void populate_sections ()
148
/* Pre-populates the type queries so it's easier/faster to build our search */
149
private void populate_type_queries ()
151
var sections = applications.sections_model;
153
if (sections.get_n_rows() != 0)
155
debug ("Sections model already populated. We probably cloned it off Unity. Rebuilding.");
159
sections.append (_("All Applications"), "");
160
sections.append (_("Accessories"), "");
161
sections.append (_("Universal Access"), "");
162
sections.append (_("Developer Tools"), "");
163
sections.append (_("Education"), "");
164
sections.append (_("Science & Engineering"), "");
165
sections.append (_("Games"), "");
166
sections.append (_("Graphics"), "");
167
sections.append (_("Internet"), "");
168
sections.append (_("Multimedia"), "");
169
sections.append (_("Office"), "");
170
sections.append (_("Themes & Tweaks"), "");
171
sections.append (_("System"), "");
151
type_queries = new HashTable<string, string> (null, null);
152
type_queries.insert ("all", "NOT category:XYZ");
154
type_queries.insert ("accessories", "(category:Utility AND NOT category:Accessibility)");
155
type_queries.insert ("education", "(category:Education AND NOT category:Science)");
156
type_queries.insert ("game", "category:Game");
157
type_queries.insert ("graphics", "category:Graphics");
158
type_queries.insert ("internet", "category:Network");
159
type_queries.insert ("fonts", "category:Fonts"); // FIXME: wtf?
160
type_queries.insert ("office", "category:Office");
161
type_queries.insert ("media", "category:AudioVideo");
162
type_queries.insert ("customization", "category:Settings");
163
type_queries.insert ("accessibility", "(category:Accessibility AND NOT category:Settings)");
164
type_queries.insert ("developer", "category:Development"); // FIXME emacs.desktop should be added
165
type_queries.insert ("science-and-engineering", "(category:Science OR category:Engineering)");
166
type_queries.insert ("system", "(category:System OR category:Security)");
175
169
private void populate_categories ()
177
171
Unity.Category[] categories = {};
179
var cat = new Unity.GridCategory (_("Most Frequently Used"),
180
ICON_PATH + "group-mostused.svg");
183
cat = new Unity.GridCategory (_("Installed"),
184
ICON_PATH + "group-installed.svg");
187
cat = new Unity.GridCategory (_("Apps Available for Download"),
188
ICON_PATH + "group-available.svg");
173
var cat = new Unity.Category (_("Most Frequently Used"),
174
ICON_PATH + "category-mostused.svg");
177
cat = new Unity.Category (_("Installed"),
178
ICON_PATH + "category-installed.svg");
181
cat = new Unity.Category (_("Apps Available for Download"),
182
ICON_PATH + "category-available.svg");
189
183
categories += cat;
191
185
lens.categories = categories;
193
/* Always expand the Installed group */
195
applications.entry_renderer_info.set_hint ("ExpandedGroups",
196
@"$((uint)Category.INSTALLED)");
200
private void populate_section_queries ()
188
private void populate_filters()
202
/* XDG category names. Not for translation. */
203
/* We need the hack for ALL_APPLICATIONS below because Xapian doesn't
204
* like '' or '*' queries */
205
section_queries.add ("NOT category:XYZ"); //ALL_APPLICATIONS
206
section_queries.add ("(category:Utility AND NOT category:Accessibility)"); //ACCESSORIES
207
section_queries.add ("(category:Accessibility AND NOT category:Settings)"); //UNIVERSAL_ACCESS
208
section_queries.add ("category:Development"); //DEVELOPER_TOOLS FIXME emacs.desktop should be added
209
section_queries.add ("(category:Education AND NOT category:Science)"); // EDUCATION
210
section_queries.add ("(category:Science OR category:Engineering)"); // SCIENCE
211
section_queries.add ("category:Game"); // GAMES
212
section_queries.add ("category:Graphics"); // GRAPHICS
213
section_queries.add ("category:Network"); // INTERNET
214
section_queries.add ("category:AudioVideo"); // MULTIMEDIA
215
section_queries.add ("category:Office"); // OFFICE
216
section_queries.add ("category:Settings"); // THEMES
217
section_queries.add ("(category:System OR category:Security)"); // SYSTEM
192
var filter = new RadioOptionFilter ("type", _("Type"));
193
filter.add_option ("accessories", _("Accessories"));
194
filter.add_option ("education", _("Education"));
195
filter.add_option ("games", _("Games"));
196
filter.add_option ("graphics", _("Graphics"));
197
filter.add_option ("internet", _("Internet"));
198
filter.add_option ("fonts", _("Fonts"));
199
filter.add_option ("office", _("Office"));
200
filter.add_option ("media", _("Media"));
201
filter.add_option ("customization", _("Customization"));
202
filter.add_option ("accessibility", _("Accessibility"));
203
filter.add_option ("developer", _("Developer"));
204
filter.add_option ("science-and-engineering", _("Science & Engineering"));
205
filter.add_option ("system", _("System"));
220
209
/* Load xdg menu info and build a Xapian index over it.
221
210
* Do throttled re-index if the menu changes */
222
211
private bool build_app_menu_index ()