|
@@ -35,7 +35,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
public CropPageUndoManager UndoManager=new CropPageUndoManager();
|
|
|
public IEventAggregator eventAggregator;
|
|
|
List<int> cropCurrentPageList = new List<int>();
|
|
|
- List<int> cropPagesList = new List<int>();
|
|
|
+
|
|
|
|
|
|
private CPDFDocument.GetPageIndexDelegate indexDelegate = null;
|
|
|
|
|
@@ -225,36 +225,53 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void CropCurrentPageWM()
|
|
|
+ private async void CropCurrentPageWM()
|
|
|
{
|
|
|
- if (PDFViewer.CurrentIndex > 0)
|
|
|
- {
|
|
|
- UndoManager.cropPageList.Add(PDFViewer.CurrentIndex);
|
|
|
- }
|
|
|
- UndoManager.ADDCropCurrentPageWM();
|
|
|
- PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
|
|
|
- PDFViewer.UndoManager.AddHistory(UndoManager);
|
|
|
- PDFViewer.UndoManager.CanSave = true;
|
|
|
+ viewContentViewModel.IsLoading = Visibility.Visible;
|
|
|
+ await WaitCropCurrentPageWM();
|
|
|
+ viewContentViewModel.IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
- private void CropAllPagesWM()
|
|
|
+ private async void CropAllPagesWM()
|
|
|
{
|
|
|
-
|
|
|
- for (int i = 0; i < PDFViewer.Document.PageCount; i++)
|
|
|
- {
|
|
|
- cropPagesList.Add(i);
|
|
|
- }
|
|
|
-
|
|
|
- UndoManager.cropPageList.AddRange(cropPagesList);
|
|
|
- UndoManager.ADDCropAllPagesWM();
|
|
|
- PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
|
|
|
- PDFViewer.UndoManager.AddHistory(UndoManager);
|
|
|
- PDFViewer.UndoManager.CanSave = true;
|
|
|
-
|
|
|
+ viewContentViewModel.IsLoading = Visibility.Visible;
|
|
|
+ await WaitCropAllPagesWM();
|
|
|
+ viewContentViewModel.IsLoading = Visibility.Collapsed;
|
|
|
+
|
|
|
//PDFViewer.UndoManager.AddHistory();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ private async Task WaitCropCurrentPageWM() {
|
|
|
+ await Task.Run(() => {
|
|
|
+ if (PDFViewer.CurrentIndex > 0)
|
|
|
+ {
|
|
|
+ UndoManager.cropPageList.Add(PDFViewer.CurrentIndex);
|
|
|
+ }
|
|
|
+ UndoManager.ADDCropCurrentPageWM();
|
|
|
+ PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
|
|
|
+ PDFViewer.UndoManager.AddHistory(UndoManager);
|
|
|
+ PDFViewer.UndoManager.CanSave = true;
|
|
|
+ });
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ private async Task WaitCropAllPagesWM() {
|
|
|
+ await Task.Run(() => {
|
|
|
+ List<int> cropPagesList = new List<int>();
|
|
|
+ for (int i = 0; i < PDFViewer.Document.PageCount; i++)
|
|
|
+ {
|
|
|
+ cropPagesList.Add(i);
|
|
|
+ }
|
|
|
+
|
|
|
+ UndoManager.cropPageList.AddRange(cropPagesList);
|
|
|
+ UndoManager.ADDCropAllPagesWM();
|
|
|
+ PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
|
|
|
+ PDFViewer.UndoManager.AddHistory(UndoManager);
|
|
|
+ PDFViewer.UndoManager.CanSave = true;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
|
{
|
|
|
return true;
|