87
sections_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.SectionsModel",
88
2, typeof (string), typeof (string));
90
pathbar_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.PathBarModel",
91
2, typeof (string), typeof (string));
93
var groups_model = new Dee.SharedModel(
94
"com.canonical.Unity.FilesPlace.GroupsModel",
95
3, typeof (string), typeof (string),
98
var global_groups_model = new Dee.SharedModel(
99
"com.canonical.Unity.FilesPlace.GlobalGroupsModel",
100
3, typeof (string), typeof (string),
103
var results_model = new Dee.SharedModel(
104
"com.canonical.Unity.FilesPlace.ResultsModel",
105
6, typeof (string), typeof (string),
106
typeof (uint), typeof (string),
107
typeof (string), typeof (string));
109
var global_results_model = new Dee.SharedModel(
110
"com.canonical.Unity.FilesPlace.GlobalResultsModel",
111
6, typeof (string), typeof (string),
112
typeof (uint), typeof (string),
113
typeof (string), typeof (string));
86
sections_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.SectionsModel");
87
sections_model.set_schema ("s", "s");
89
pathbar_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.PathBarModel");
90
pathbar_model.set_schema ("s", "s");
92
var groups_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.GroupsModel");
93
groups_model.set_schema ("s", "s", "s");
95
var global_groups_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.GlobalGroupsModel");
96
global_groups_model.set_schema ("s", "s", "s");
98
var results_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.ResultsModel");
99
results_model.set_schema ("s", "s", "u", "s", "s", "s");
101
var global_results_model = new Dee.SharedModel("com.canonical.Unity.FilesPlace.GlobalResultsModel");
102
global_results_model.set_schema ("s", "s", "u", "s", "s", "s");
115
104
section_templates = new Gee.ArrayList<PtrArray> ();
116
105
prepare_section_templates();
308
286
sections.clear ();
311
sections.append (SectionsColumn.DISPLAY_NAME, _("All Files"),
312
SectionsColumn.ICON_HINT, "", -1);
313
sections.append (SectionsColumn.DISPLAY_NAME, _("Documents"),
314
SectionsColumn.ICON_HINT, "", -1);
315
sections.append (SectionsColumn.DISPLAY_NAME, _("Folders"),
316
SectionsColumn.ICON_HINT, "", -1);
317
sections.append (SectionsColumn.DISPLAY_NAME, _("Images"),
318
SectionsColumn.ICON_HINT, "", -1);
319
sections.append (SectionsColumn.DISPLAY_NAME, _("Audio"),
320
SectionsColumn.ICON_HINT, "", -1);
321
sections.append (SectionsColumn.DISPLAY_NAME, _("Videos"),
322
SectionsColumn.ICON_HINT, "", -1);
323
sections.append (SectionsColumn.DISPLAY_NAME, _("Presentations"),
324
SectionsColumn.ICON_HINT, "", -1);
325
sections.append (SectionsColumn.DISPLAY_NAME, _("Other"),
326
SectionsColumn.ICON_HINT, "", -1);
289
sections.append (_("All Files"), "");
290
sections.append ( _("Documents"), "");
291
sections.append (_("Folders"), "");
292
sections.append (_("Images"), "");
293
sections.append (_("Audio"), "");
294
sections.append (_("Videos"), "");
295
sections.append (_("Presentations"), "");
296
sections.append (_("Other"), "");
329
299
private void populate_groups ()
340
310
files.entry_renderer_info.set_hint ("ExpandedGroups",
341
311
@"$((uint)Group.FAVORITE_FOLDERS)");
343
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
344
GroupsColumn.DISPLAY_NAME, _("Top Results"),
345
GroupsColumn.ICON_HINT, ICON_PATH + "group-mostused.svg", -1);
346
groups.append (GroupsColumn.RENDERER, "UnityDefaultRenderer",
347
GroupsColumn.DISPLAY_NAME, _("Recent"),
348
GroupsColumn.ICON_HINT, ICON_PATH + "group-recent.svg", -1);
349
groups.append (GroupsColumn.RENDERER, "UnityDefaultRenderer",
350
GroupsColumn.DISPLAY_NAME, _("Downloads"),
351
GroupsColumn.ICON_HINT, ICON_PATH + "group-downloads.svg", -1);
352
groups.append (GroupsColumn.RENDERER, "UnityDefaultRenderer",
353
GroupsColumn.DISPLAY_NAME, _("Favorite Folders"),
354
GroupsColumn.ICON_HINT, ICON_PATH + "group-favoritefolders.svg", -1);
355
groups.append (GroupsColumn.RENDERER, "UnityDefaultRenderer",
356
GroupsColumn.DISPLAY_NAME, _("Files"),
357
GroupsColumn.ICON_HINT, ICON_PATH + "group-recent.svg", -1);
358
groups.append (GroupsColumn.RENDERER, "UnityEmptySearchRenderer",
359
GroupsColumn.DISPLAY_NAME, "No search results", /* No i18n. Should never be rendered */
360
GroupsColumn.ICON_HINT, "", -1);
361
groups.append (GroupsColumn.RENDERER, "UnityEmptySectionRenderer",
362
GroupsColumn.DISPLAY_NAME, "Empty section", /* No i18n. Should never be rendered */
363
GroupsColumn.ICON_HINT, "", -1);
364
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
365
GroupsColumn.DISPLAY_NAME, _("Today"),
366
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
367
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
368
GroupsColumn.DISPLAY_NAME, _("Yesterday"),
369
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
370
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
371
GroupsColumn.DISPLAY_NAME, _("This week"),
372
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
373
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
374
GroupsColumn.DISPLAY_NAME, _("Last Week"),
375
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
376
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
377
GroupsColumn.DISPLAY_NAME, _("This Month"),
378
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
379
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
380
GroupsColumn.DISPLAY_NAME, _("Past Six Months"),
381
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
382
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
383
GroupsColumn.DISPLAY_NAME, _("This Year"),
384
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
385
groups.append (GroupsColumn.RENDERER, "UnityFileInfoRenderer",
386
GroupsColumn.DISPLAY_NAME, _("Last Year"),
387
GroupsColumn.ICON_HINT, ICON_PATH + "group-daterange.svg", -1);
313
groups.append ("UnityFileInfoRenderer",
315
ICON_PATH + "group-mostused.svg");
316
groups.append ("UnityDefaultRenderer",
318
ICON_PATH + "group-recent.svg");
319
groups.append ("UnityDefaultRenderer",
321
ICON_PATH + "group-downloads.svg");
322
groups.append ("UnityDefaultRenderer",
323
_("Favorite Folders"),
324
ICON_PATH + "group-favoritefolders.svg");
325
groups.append ("UnityDefaultRenderer",
327
ICON_PATH + "group-recent.svg");
328
groups.append ("UnityEmptySearchRenderer",
329
"No search results", /* No i18n. Should never be rendered */
331
groups.append ("UnityEmptySectionRenderer",
332
"Empty section", /* No i18n. Should never be rendered */
334
groups.append ("UnityFileInfoRenderer",
336
ICON_PATH + "group-daterange.svg");
337
groups.append ("UnityFileInfoRenderer",
339
ICON_PATH + "group-daterange.svg");
340
groups.append ("UnityFileInfoRenderer",
342
ICON_PATH + "group-daterange.svg");
343
groups.append ("UnityFileInfoRenderer",
345
ICON_PATH + "group-daterange.svg");
346
groups.append ("UnityFileInfoRenderer",
348
ICON_PATH + "group-daterange.svg");
349
groups.append ("UnityFileInfoRenderer",
350
_("Past Six Months"),
351
ICON_PATH + "group-daterange.svg");
352
groups.append ("UnityFileInfoRenderer",
354
ICON_PATH + "group-daterange.svg");
355
groups.append ("UnityFileInfoRenderer",
357
ICON_PATH + "group-daterange.svg");
388
358
// FIXME: For prehistoric items use actual year, eg "2009"
855
799
// FIXME: We only use the first subject...
856
800
Zeitgeist.Subject su = ev.get_subject(0);
857
if (File.new_for_uri (su.get_uri ()).query_exists ( null ) == true)
801
string mimetype = su.get_mimetype() != null ?
802
su.get_mimetype() : "application/octet-stream";
804
if (File.new_for_uri (su.get_uri ()).query_exists () == true)
859
string icon = Utils.get_icon_for_uri (su.get_uri (),
806
string icon = Utils.get_icon_for_uri (su.get_uri (), mimetype);
861
807
uint group_id = Utils.get_time_group (ev, groups_model);
863
debug ("Notify %s, %s, %u", su.get_uri(), su.get_mimetype(), group_id);
809
debug ("Notify %s, %s, %u", su.get_uri(), mimetype, group_id);
865
results_model.prepend (ResultsColumn.URI, su.get_uri(),
866
ResultsColumn.ICON_HINT, icon,
867
ResultsColumn.GROUP_ID, group_id,
868
ResultsColumn.MIMETYPE, su.get_mimetype(),
869
ResultsColumn.DISPLAY_NAME, su.get_text(),
870
ResultsColumn.COMMENT, su.get_uri (),
811
results_model.prepend (su.get_uri(), icon, group_id,
812
mimetype, su.get_text(),
1075
1013
if (search_is_invalid(search))
1078
results_model.append (ResultsColumn.URI, "",
1079
ResultsColumn.ICON_HINT, "",
1080
ResultsColumn.GROUP_ID, Group.EMPTY_SEARCH,
1081
ResultsColumn.MIMETYPE, "",
1082
ResultsColumn.DISPLAY_NAME, _("Your search did not match any files"),
1083
ResultsColumn.COMMENT, "",
1016
results_model.append ("", "", Group.EMPTY_SEARCH,
1017
"", _("Your search did not match any files"), "");
1086
1019
// FIXME: Use prefered browser
1087
1020
// FIXME: URL escape search string
1088
results_model.append (ResultsColumn.URI, @"http://google.com/#q=$(search.get_search_string())",
1089
ResultsColumn.ICON_HINT, "",
1090
ResultsColumn.GROUP_ID, Group.EMPTY_SEARCH,
1091
ResultsColumn.MIMETYPE, "",
1092
ResultsColumn.DISPLAY_NAME, _("Search the web"),
1093
ResultsColumn.COMMENT, "",
1021
results_model.append (@"http://google.com/#q=$(search.get_search_string())",
1022
"", Group.EMPTY_SEARCH,
1023
"", _("Search the web"), "");
1097
1026
public void check_empty_section (Section section,