- if (depth > 0) {
- var fm = f.monitor(FileMonitorFlags.SEND_MOVED,null); //Gio.FileMonitorFlags.SEND_MOVED
-
- fm.changed.connect( ( fm, f_orig, of_orig, event_type) => {
- //if (fn) {
- fn (fm, f_orig, of_orig, event_type ) ;
- // return;
- //}
- //this.onEvent (fm, f_orig, of_orig, event_type ) ;
- });
- this.monitors.add(fm);
+ if (depth > 0) {
+
+ try {
+ 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);
+
+ } catch (Error e) {
+ GLib.debug("Error adding monitor: %s", e.message);
+ // FIXME -- show error? do nothing..
+ }