Merge lp:~fabiozaramella/switchboard-plug-security-privacy/fix-usage-cleaning into lp:~elementary-apps/switchboard-plug-security-privacy/trunk

Proposed by Fabio Zaramella
Status: Merged
Approved by: Cody Garver
Approved revision: 167
Merged at revision: 166
Proposed branch: lp:~fabiozaramella/switchboard-plug-security-privacy/fix-usage-cleaning
Merge into: lp:~elementary-apps/switchboard-plug-security-privacy/trunk
Diff against target: 131 lines (+76/-11)
1 file modified
src/TrackPanel.vala (+76/-11)
To merge this branch: bzr merge lp:~fabiozaramella/switchboard-plug-security-privacy/fix-usage-cleaning
Reviewer Review Type Date Requested Status
elementary Apps team Pending
Review via email: mp+255716@code.launchpad.net

Commit message

Fix deletion of files with Gtk.RecentManager

Description of the change

Actually delete recent files with Gtk.RecentManager.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/TrackPanel.vala'
2--- src/TrackPanel.vala 2014-12-02 21:20:07 +0000
3+++ src/TrackPanel.vala 2015-04-09 17:09:43 +0000
4@@ -21,6 +21,10 @@
5 */
6
7 public class SecurityPrivacy.TrackPanel : Gtk.Grid {
8+
9+ private Gtk.RecentManager recent;
10+ private List<Gtk.RecentInfo> items;
11+
12 private Gtk.Popover info_popover;
13 private Gtk.Popover remove_popover;
14 private Dialogs.AppChooser app_chooser;
15@@ -51,6 +55,7 @@
16 app_blacklist = new ApplicationBlacklist (blacklist);
17 path_blacklist = new PathBlacklist (blacklist);
18 filetype_blacklist = new FileTypeBlacklist (blacklist);
19+ recent = new Gtk.RecentManager ();
20
21 var privacy_settings = new GLib.Settings ("org.gnome.desktop.privacy");
22
23@@ -153,37 +158,97 @@
24 clear_button.get_style_context ().add_class (Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION);
25 clear_button.clicked.connect (() => {
26 Zeitgeist.TimeRange tr;
27- if (past_hour_radio.active = true) {
28+
29+ if (past_hour_radio.active == true) {
30 int range = 360000;//60*60*1000;
31 int64 end = Zeitgeist.Timestamp.from_now ();
32 int64 start = end - range;
33 tr = new Zeitgeist.TimeRange (start, end);
34 delete_history.begin (tr);
35- } else if (past_day_radio.active = true) {
36+
37+ // Deletes files added in the last hour
38+ if (recent.size > 0) {
39+ items = recent.get_items ();
40+
41+ try {
42+ foreach (var item in items) {
43+ if (item.get_added () >= start/1000)
44+ recent.remove_item (item.get_uri ());
45+ }
46+ } catch (Error err) {
47+ critical (err.message);
48+ }
49+ }
50+ } else if (past_day_radio.active == true) {
51 int range = 8640000;//24*60*60*1000;
52 int64 end = Zeitgeist.Timestamp.from_now ();
53 int64 start = end - range;
54 tr = new Zeitgeist.TimeRange (start, end);
55 delete_history.begin (tr);
56- } else if (past_week_radio.active = true) {
57+
58+ // Deletes files added in the last day
59+ if (recent.size > 0) {
60+ items = recent.get_items ();
61+
62+ try {
63+ foreach (var item in items) {
64+ if (item.get_age () <= 1)
65+ recent.remove_item (item.get_uri ());
66+ }
67+ } catch (Error err) {
68+ critical (err.message);
69+ }
70+ }
71+ } else if (past_week_radio.active == true) {
72 int range = 60480000;//7*24*60*60*1000;
73 int64 end = Zeitgeist.Timestamp.from_now ();
74 int64 start = end - range;
75 tr = new Zeitgeist.TimeRange (start, end);
76 delete_history.begin (tr);
77- } else if (from_radio.active = true) {
78+
79+ // Deletes files added in the last week
80+ if (recent.size > 0) {
81+ items = recent.get_items ();
82+
83+ try {
84+ foreach (var item in items) {
85+ if (item.get_age () <= 7)
86+ recent.remove_item (item.get_uri ());
87+ }
88+ } catch (Error err) {
89+ critical (err.message);
90+ }
91+ }
92+ } else if (from_radio.active == true) {
93 int64 start = from_datepicker.date.to_unix ()*1000;
94- int64 end = from_datepicker.date.to_unix ()*1000;
95+ int64 end = to_datepicker.date.to_unix ()*1000;
96 tr = new Zeitgeist.TimeRange (start, end);
97 delete_history.begin (tr);
98- } else if (all_time_radio.active = true) {
99+
100+ // Deletes files added during the given period
101+ if (recent.size > 0) {
102+ items = recent.get_items ();
103+
104+ try {
105+ foreach (var item in items) {
106+ if (item.get_added () >= start/1000 && item.get_added () <= end/1000)
107+ recent.remove_item (item.get_uri ());
108+ }
109+ } catch (Error err) {
110+ critical (err.message);
111+ }
112+ }
113+ } else if (all_time_radio.active == true) {
114 tr = new Zeitgeist.TimeRange.anytime ();
115 delete_history.begin (tr);
116- Gtk.RecentManager recent = new Gtk.RecentManager ().get_default ();
117- try {
118- recent.purge_items ();
119- } catch (Error err) {
120- critical (err.message);
121+
122+ // Deletes all recent files
123+ if (recent.size > 0) {
124+ try {
125+ recent.purge_items ();
126+ } catch (Error err) {
127+ critical (err.message);
128+ }
129 }
130 }
131 remove_popover.hide ();

Subscribers

People subscribed via source and target branches