|
@@ -681,6 +681,17 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
}
|
|
|
|
|
|
this.Close();
|
|
|
+ bool cancel = false;
|
|
|
+ // Dispatcher.Invoke(() =>
|
|
|
+ // {
|
|
|
+ CompareProgressControl progressControl = new CompareProgressControl();
|
|
|
+ progressControl.CloseClick += (s, r) =>
|
|
|
+ {
|
|
|
+ cancel = true;
|
|
|
+ OnCompareStatusChanged?.Invoke(this, null);
|
|
|
+ };
|
|
|
+ OnCompareStatusChanged?.Invoke(this, progressControl);
|
|
|
+ // });
|
|
|
if (CompareType == CompareType.ContentCompare)
|
|
|
{
|
|
|
ObjectCompareType = CPDFCompareType.CPDFCompareTypeAll;
|
|
@@ -720,6 +731,7 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
|
|
|
for (int i = 0; i < maxCount; i++)
|
|
|
{
|
|
|
+ if (cancel) return;
|
|
|
if (i < OldDocument.PageCount)
|
|
|
{
|
|
|
oldTemp.Add(i);
|
|
@@ -748,6 +760,7 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
{
|
|
|
for (int i = oldTemp.Count; i < newTemp.Count; i++)
|
|
|
{
|
|
|
+ if (cancel) return;
|
|
|
oldTemp.Add(OldDocument.PageCount);
|
|
|
}
|
|
|
}
|
|
@@ -767,19 +780,17 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
CPDFCompareResults result = CPdfContent.Compare(oldTemp[i], newTemp[i], ObjectCompareType, true);
|
|
|
if (result != null && (result.TextResults.Count > 0 || result.ImageResults.Count > 0))
|
|
|
{
|
|
|
- // if (viewCtrl.ParentPage.loadingConceal.Visibility == Visibility.Collapsed)
|
|
|
- // {
|
|
|
- // return;
|
|
|
- // }
|
|
|
+ if (cancel) return;
|
|
|
resultList.Add(result);
|
|
|
- // Dispatcher.Invoke(() =>
|
|
|
- // {
|
|
|
- // if (minLength != 0)
|
|
|
- // {
|
|
|
- // viewCtrl.ParentPage.loadingConcealBar.Value = (0.3 + ((double)i / (double)minLength) / (double)2);
|
|
|
- // }
|
|
|
- // });
|
|
|
+ Dispatcher.Invoke(() =>
|
|
|
+ {
|
|
|
+ if (minLength != 0)
|
|
|
+ {
|
|
|
+ progressControl.SetValue((0.3 + ((double)i / (double)minLength) / (double)2));
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
string tempPath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), Guid.NewGuid().ToString() + ".pdf");
|
|
@@ -809,6 +820,7 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
|
|
|
if (CompareType == CompareType.OverwriteCompare)
|
|
|
{
|
|
|
+ Dispatcher.Invoke(() => { progressControl.SetValue(0.3); });
|
|
|
List<int> oldTemp = new List<int>(OldRange);
|
|
|
List<int> newTemp = new List<int>(NewRange);
|
|
|
|
|
@@ -834,6 +846,7 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
}
|
|
|
Task.Factory.StartNew(() =>
|
|
|
{
|
|
|
+ Dispatcher.Invoke(() => { progressControl.SetValue(0.6); });
|
|
|
CPDFCompareOverlay CPdfOverlay = null;
|
|
|
if (string.IsNullOrEmpty(oldRnage) || string.IsNullOrEmpty(newRnage))
|
|
|
{
|
|
@@ -863,7 +876,7 @@ namespace ComPDFKit.Controls.Comparison
|
|
|
// {
|
|
|
// return;
|
|
|
// }
|
|
|
- // viewCtrl.ParentPage.loadingConcealBar.Value = 0.6;
|
|
|
+ progressControl.SetValue(0.9);
|
|
|
FileCompareGrid.Visibility = Visibility.Collapsed;
|
|
|
CompareOverwriteResultControl resultPage = new CompareOverwriteResultControl();
|
|
|
resultPage.SetCompareColor(new SolidColorBrush(NewMarkColor), new SolidColorBrush(OldMarkColor));
|