X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Monitor.vala;h=d86d99d71fe4379529c4005368b28b4666fa1551;hb=48b3d2b4281bfa78ae11b4dfb5f91d5475aefd90;hp=9b3f41989f6dc1d49f2bcebf6e054931f153c605;hpb=79b628aef23a54509e78b1aead6480c721d13a4d;p=gitlive diff --git a/Monitor.vala b/Monitor.vala index 9b3f4198..d86d99d7 100644 --- a/Monitor.vala +++ b/Monitor.vala @@ -139,7 +139,7 @@ public class Monitor : Object public void monitor(string path, int depth = 0) { - stdout.printf("ADD: (%d): %s\n", depth, path); + //GLib.debug("ADD: (%d): %s\n", depth, path); //depth = typeof(depth) == 'number' ? depth *1 : 0; depth = depth > 0 ? depth *1 : 0; @@ -148,15 +148,14 @@ public class Monitor : Object //fn = fn || function (fm, f, of, event_type, uh) { // _this.onEvent(fm, f, of, event_type, uh); //} - - + var f = File.new_for_path(path); //var cancel = new Gio.Cancellable (); if (depth > 0) { try { - - var fm = f.monitor(FileMonitorFlags.SEND_MOVED + FileMonitorFlags.WATCH_MOVES,null); //Gio.FileMonitorFlags.SEND_MOVED + var fm = f.monitor(FileMonitorFlags.SEND_MOVED + FileMonitorFlags.WATCH_MOVES,null); + //var fm = f.monitor(FileMonitorFlags.WATCH_MOVES,null); fm.changed.connect( this.onEvent ); this.monitors.append_val(fm); @@ -325,19 +324,23 @@ public class Monitor : Object return; case FileMonitorEvent.MOVED: // eg. chmod/chatt + case FileMonitorEvent.MOVED_IN: // eg. chmod/chatt + case FileMonitorEvent.MOVED_OUT: // eg. chmod/chatt + case FileMonitorEvent.RENAMED: // eg. chmod/chatt - var of = this.realpath(of_orig); - var dest = new MonitorNamePathDir( - of.get_basename(), - of.get_path(), - Path.get_dirname(of.get_path()) - ); - + var of = this.realpath(of_orig); + var dest = new MonitorNamePathDir( + of.get_basename(), + of.get_path(), + Path.get_dirname(of.get_path()) + ); src.action = "moved"; dest.action = "moved"; this.onMoved(src,dest); return; + + default: stdout.printf("event type not handled %u", event_type); break;