private void unrar_ExtractionProgress(object sender, ExtractionProgressEventArgs e) { if (e.PercentComplete == 100) { this.fileIndex++; int value = (int)(this.fileIndex * 100 / (this.fileCount * 1.0)); this.setProcess(value); this.setMessage("正在解压文件。(第" + this.fileIndex + "个,共" + this.fileCount + "个)。" + value + "%"); logger.Info("ExtractionProgress - fileName=" + e.FileName + ", PercentComplete=" + e.PercentComplete + "。(第" + this.fileIndex + "个,共" + this.fileCount + "个), value=" + value); } }
private void unrar_ExtractionProgress(object sender, ExtractionProgressEventArgs e) { if (stopEvent.WaitOne(0)) { e.ContinueOperation = false; } if (OnUnrarProgress != null) { OnUnrarProgress(e.BytesExtracted, e.FileSize, string.Format("Распаковка {0}", e.FileName)); } }
//private void UpdateFileSystemElementTreeState(FileSystemItemModel fileSystemItemModel) //{ // this.IsExplorerInDefaultState = (fileSystemItemModel.IsEmptyElement || // fileSystemItemModel.IsSystemDirectory && !fileSystemItemModel.IsExpanded) // && this.VirtualExplorerRootDirectory.ChildFileSystemItems // .All((topLevelElement) => topLevelElement.IsSystemDirectory // && !topLevelElement.IsExpanded // || !this.VirtualExplorerRootDirectory.ChildFileSystemItems.Any()); //} //public void ObserveTopLevelDirectoryIsExpanded(FileSystemItemModel topLevelDirectory) => topLevelDirectory.ExpandedChanged += ToggleDragDropHintOnTopLevelDirectoryExpanded; //private void ToggleDragDropHintOnTopLevelDirectoryExpanded(object sender, ValueChangedEventArgs<bool> e) //{ // UpdateFileSystemElementTreeState(sender as FileSystemItemModel); //} private void ReportExtractionProgress(ExtractionProgressEventArgs e) { Application.Current.Dispatcher?.InvokeAsync( () => { if (!this.ExtractionProgressTable.ContainsKey(e.ArchiveInfo)) { this.ExtractionProgressTable.Add(e.ArchiveInfo, e); return; } if (e.PercentageRead <= this.ExtractionProgressTable[e.ArchiveInfo].PercentageRead) { return; } this.ExtractionProgressTable[e.ArchiveInfo] = e; }, DispatcherPriority.Render); }
private void unrar_ExtractionProgress(object sender, ExtractionProgressEventArgs e) { RaiseSubProgressEvent("Extracting file: " + e.FileName, e.PercentComplete, e.BytesExtracted, e.FileSize); }
private void unrar_ExtractionProgress(object sender, ExtractionProgressEventArgs e) { if (stopEvent.WaitOne(0)) e.ContinueOperation = false; if (OnUnrarProgress != null) OnUnrarProgress(e.BytesExtracted,e.FileSize,string.Format("Распаковка {0}", e.FileName)); }