Monitor.vala
authorAlan Knowles <alan@roojs.com>
Wed, 4 Jul 2018 09:26:40 +0000 (17:26 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 4 Jul 2018 09:26:40 +0000 (17:26 +0800)
Monitor.vala

index 9b3f419..2d049ca 100644 (file)
@@ -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,6 +324,9 @@ 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(
@@ -332,12 +334,13 @@ public class Monitor : Object
                                     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;