]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/log.vala
Add tag into log metadata so it's easier to read
[gregoa/zavai.git] / src / log.vala
index 2bbb5d40c3651d95e3af922896acdc0cd459be78..cd894715d7563c7a15acec4ff01407c1a124f16b 100644 (file)
@@ -180,6 +180,7 @@ public class Log : Object
         outfd.puts("     xsi:schemaLocation=\"http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd\">\n");
         outfd.puts("  <metadata>\n");
         outfd.printf("    <name>%s</name>\n", Markup.escape_text(title));
+        outfd.printf("    <keywords>%s</keywords>\n", Markup.escape_text(tag));
         outfd.puts("  </metadata>\n");
         if (track != null) writeTrack(outfd);
         if (entries != null) writeEntries(outfd);
@@ -290,6 +291,10 @@ class LogParser: Object
                     break;
             }
         }
+        else if (name == "keywords")
+        {
+            result.tag = cur_text;
+        }
         else if (name == "time")
         {
             Time t = Time();
@@ -370,8 +375,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)
     {