private void SearchFolderChanged(object sender, VirtualItemChangedEventArgs e)
 {
     this.FTotalCount++;
 }
예제 #2
0
 private void SearchFolderChanged(object sender, VirtualItemChangedEventArgs e)
 {
     if ((e.ChangeType == WatcherChangeTypes.Created) && !(e.Item is IVirtualFolder))
     {
         lock (this.FSnapshotLock)
         {
             this.FTotalCount++;
             if (e.Item.IsPropertyAvailable(3))
             {
                 this.FTotalProcessed.AddTotalSize(Convert.ToInt64(e.Item[3]));
             }
         }
     }
 }
        private void FolderChanged(object sender, VirtualItemChangedEventArgs e)
        {
            Timer timer;
            if ((e.Item == null) && (e.ChangeType == WatcherChangeTypes.All))
            {
                lock ((timer = this.UpdateTimer))
                {
                    this.ChangedFolders.Add(new KeyValuePair<IVirtualFolder, WatcherChangeTypes>((IVirtualFolder) sender, e.ChangeType));
                }
            }
            else if (e.Item is IVirtualFolder)
            {
                switch (e.ChangeType)
                {
                    case WatcherChangeTypes.Created:
                    case WatcherChangeTypes.Deleted:
                    case (WatcherChangeTypes.Changed | WatcherChangeTypes.Created):
                    case WatcherChangeTypes.Renamed:
                        lock ((timer = this.UpdateTimer))
                        {
                            this.ChangedFolders.Add(new KeyValuePair<IVirtualFolder, WatcherChangeTypes>((IVirtualFolder) e.Item, e.ChangeType));
                        }
                        return;

                    case (WatcherChangeTypes.Deleted | WatcherChangeTypes.Created):
                    case (WatcherChangeTypes.Changed | WatcherChangeTypes.Deleted):
                    case (WatcherChangeTypes.Changed | WatcherChangeTypes.Deleted | WatcherChangeTypes.Created):
                        return;

                    case WatcherChangeTypes.Changed:
                        if ((this.WatchChanges && (e.PropertySet != null)) && e.PropertySet.Equals(0x15))
                        {
                            base.BeginInvoke(new Action<IVirtualFolder>(this.InvalidateNode), new object[] { e.Item });
                        }
                        return;
                }
            }
        }