From e44d7bff649b4ebbfe8ec530efe10e16a77a6cfc Mon Sep 17 00:00:00 2001 From: Enrico Zini Date: Sat, 27 Mar 2010 23:59:17 +0000 Subject: [PATCH 1/1] Archive/unarchive entries --- src/app_log.vala | 4 ++++ src/log.vala | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/app_log.vala b/src/app_log.vala index fa247b4..6092a77 100644 --- a/src/app_log.vala +++ b/src/app_log.vala @@ -125,6 +125,10 @@ public class Log : Applet model.set(cur_iter, 2, cur_log.acked, -1); update_read_unread(cur_log.acked); + + Value vname; + model.get_value(cur_iter, 1, out vname); + zavai.log.log.set_acknowledged(vname.get_string(), cur_log.acked); } private void update_read_unread(bool acked) diff --git a/src/log.vala b/src/log.vala index 2bbb5d4..6b9c069 100644 --- a/src/log.vala +++ b/src/log.vala @@ -370,8 +370,27 @@ public class Logger : Resource, Object return parser.result; } - public delegate bool EntriesVisitor(string dir, string name); + public void set_acknowledged(string name, bool acked) + { + string from, to; + if (acked) + { + from = config.homedir + "/log/" + name; + to = config.homedir + "/archive/" + name; + DirUtils.create(config.homedir + "/archive", 0777); + } else { + from = config.homedir + "/archive/" + name; + to = config.homedir + "/log/" + name; + DirUtils.create(config.homedir + "/log", 0777); + } + if (FileUtils.test(from, FileTest.EXISTS)) + { + FileUtils.rename(from, to); + entries_changed(); + } + } + public delegate bool EntriesVisitor(string dir, string name); protected void list_dir(string dir, EntriesVisitor visitor) { -- 2.39.5