Ejemplo n.º 1
0
        private void FileExplorerCommandOnProcessingEntryUpdateReceived(object sender, ProcessingEntryUpdate processingEntryUpdate)
        {
            if (processingEntryUpdate.Progress != 1 && processingEntryUpdate.Progress != -1)
            {
                return;
            }

            if (
                _cachedEntries.TryGetValue(Path.GetDirectoryName(processingEntryUpdate.Path).NormalizePath(),
                                           out var cachedEntry) && !cachedEntry.DirectoriesOnly)
            {
                lock (cachedEntry)
                {
                    var entry =
                        cachedEntry.Entries.FirstOrDefault(x => x.Path == processingEntryUpdate.Path) as ProcessingEntry;
                    if (entry != null)
                    {
                        cachedEntry.Entries.Remove(entry);
                        if (processingEntryUpdate.Progress == 1)
                        {
                            cachedEntry.Entries.Add(entry.ToFileExplorerEntry());
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public void Update(ProcessingEntryUpdate processingEntryUpdate)
 {
     Size     = processingEntryUpdate.Size;
     Progress = processingEntryUpdate.Progress;
     ((ProcessingEntry)Value).Size = processingEntryUpdate.Size;
 }