示例#1
0
        private void FileSystem_Deleted(object sender, FileSystemEventArgs e)
        {
            if (!CheckAccess())
            {
                BeginInvoke(() => FileSystem_Deleted(sender, e));
                return;
            }

            FileView fv = FileCollection.Find(e.Name);

            if (null != fv)
            {
                DirectorySizeBytes -= fv.Size ?? 0;
                FileCollection.Remove(fv);
            }
        }
示例#2
0
        private void FileSystem_Renamed(object sender, RenamedEventArgs e)
        {
            if (!CheckAccess())
            {
                BeginInvoke(() => FileSystem_Renamed(sender, e));
                return;
            }

            FileView fileView = FileCollection.Find(e.OldName);

            if (fileView != null)
            {
                long diff = 0 - fileView.Size ?? 0;
                fileView.Refresh(GetFileSystemInfo(e.FullPath));
                diff += fileView.Size ?? 0;
                DirectorySizeBytes += diff;
                //ResetItem(IndexOf(fv)); // TODO: This shouldn't be necessary with ObservableCollection
            }
        }
示例#3
0
        private void FileSystem_Changed(object sender, FileSystemEventArgs e)
        {
            if (!CheckAccess())
            {
                BeginInvoke(() => FileSystem_Changed(sender, e));
                return;
            }

            FileView fv = FileCollection.Find(e.Name);

            if (null != fv)
            {
                long diff = 0 - fv.Size ?? 0;
                fv.Refresh();
                diff += fv.Size ?? 0;
                DirectorySizeBytes += diff;
                //ResetItem(IndexOf(fv));  // TODO: This shouldn't be necessary with ObservableCollection
            }
        }