|
@@ -28,6 +28,8 @@ using PDF_Master.CustomControl;
|
|
|
using PDF_Master.Model.HomePageToolsDialogs;
|
|
|
using System.IO;
|
|
|
using System.Text.RegularExpressions;
|
|
|
+using static PDF_Master.Model.Dialog.ToolsDialogs.SaftyDialogs.DeleteSafetySettintgsModel;
|
|
|
+using PDF_Master.Model.Dialog.ToolsDialogs.SaftyDialogs;
|
|
|
|
|
|
namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
@@ -142,7 +144,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
TbPageRangeVisibility = Visibility.Visible;
|
|
|
TbPageRange = (ListSelectedIndex + 1).ToString();
|
|
|
TxtPageInputVisibility = Visibility.Collapsed;
|
|
|
- if(IsBOTAThumb==Visibility.Visible&&PDFViewer!=null)
|
|
|
+ if (IsBOTAThumb == Visibility.Visible && PDFViewer != null)
|
|
|
{
|
|
|
PDFViewer.GoToPage(listSelecedIndex);
|
|
|
}
|
|
@@ -208,7 +210,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
set
|
|
|
{
|
|
|
SetProperty(ref tbPageRange, value);
|
|
|
- if(string.IsNullOrEmpty(TbPageRange))
|
|
|
+ if (string.IsNullOrEmpty(TbPageRange))
|
|
|
{
|
|
|
TbPageRange = "请输入范围";
|
|
|
}
|
|
@@ -312,11 +314,11 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
set
|
|
|
{
|
|
|
SetProperty(ref canRedo, value);
|
|
|
- if(viewContentViewModel!=null)
|
|
|
+ if (viewContentViewModel != null)
|
|
|
{
|
|
|
viewContentViewModel.CanRedo = this.CanRedo;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -336,7 +338,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// <summary>
|
|
|
/// 页面缩放的范围
|
|
|
/// </summary>
|
|
|
- private List<Size> ItemSizes = new List<Size>() {
|
|
|
+ private List<Size> ItemSizes = new List<Size>() {
|
|
|
new Size(104,142),
|
|
|
new Size(208, 294),
|
|
|
new Size(312,441)
|
|
@@ -472,7 +474,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
ZoomOutCommand = new DelegateCommand(ZoomOutCommandEvent, CanZoomOut).ObservesProperty(() => ZoomIndex);
|
|
|
ShowPageSizeCommand = new DelegateCommand(ShowPageSize);
|
|
|
CopyCommand = new DelegateCommand(copy);
|
|
|
- PasteCommand = new DelegateCommand(paste,CanPasteExcute).ObservesProperty(() => CanPaste);
|
|
|
+ PasteCommand = new DelegateCommand(paste, CanPasteExcute).ObservesProperty(() => CanPaste);
|
|
|
CutCommand = new DelegateCommand(cut);
|
|
|
PrintCommand = new DelegateCommand(print);
|
|
|
ClearSelectedCommand = new DelegateCommand(clearSelected);
|
|
@@ -494,9 +496,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
private void Instance_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
|
|
{
|
|
|
- if(e.PropertyName=="CopyDoc")
|
|
|
+ if (e.PropertyName == "CopyDoc")
|
|
|
{
|
|
|
- if(CacheFilePath.Instance.CopyDoc!=null)
|
|
|
+ if (CacheFilePath.Instance.CopyDoc != null)
|
|
|
{
|
|
|
CanPaste = true;
|
|
|
}
|
|
@@ -519,14 +521,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
int insertIndex = listSelecedIndex;
|
|
|
|
|
|
//从文件插入到指定位置
|
|
|
- var result = await InsertFromFile(listSelecedIndex+1,dialog.FileName);
|
|
|
- if(result)
|
|
|
+ var result = await InsertFromFile(listSelecedIndex + 1, dialog.FileName);
|
|
|
+ if (result)
|
|
|
{
|
|
|
//插入成功后再删除原有页面
|
|
|
DoRemoveSelectedPages(new List<int>() { listSelecedIndex });
|
|
|
}
|
|
|
|
|
|
- ReloadAfterOption(true, true, Tuple.Create(insertIndex-1, insertIndex + pageCount));
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(insertIndex - 1, insertIndex + pageCount));
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
}
|
|
@@ -538,8 +540,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
DialogParameters valuePairs = new DialogParameters();
|
|
|
valuePairs.Add(ParameterNames.PDFViewer, PDFViewer);
|
|
|
- dialogs.ShowDialog(DialogNames.SplitDialog, valuePairs,e=> {
|
|
|
- if(e.Result==ButtonResult.OK&&e.Parameters!=null)
|
|
|
+ dialogs.ShowDialog(DialogNames.SplitDialog, valuePairs, e =>
|
|
|
+ {
|
|
|
+ if (e.Result == ButtonResult.OK && e.Parameters != null)
|
|
|
{
|
|
|
var model = e.Parameters.GetValue<HomePageSplitDialogModel>(ParameterNames.DataModel);
|
|
|
DoSplitPages(model);
|
|
@@ -552,11 +555,12 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// </summary>
|
|
|
private void ExtractCommandEvent()
|
|
|
{
|
|
|
- dialogs.ShowDialog(DialogNames.ExtractDialog,null,e=> {
|
|
|
- if(e.Result==ButtonResult.OK&&e.Parameters!=null)
|
|
|
+ dialogs.ShowDialog(DialogNames.ExtractDialog, null, e =>
|
|
|
+ {
|
|
|
+ if (e.Result == ButtonResult.OK && e.Parameters != null)
|
|
|
{
|
|
|
var model = e.Parameters.GetValue<ExtractModel>(ParameterNames.DataModel);
|
|
|
- DoExtractPages(model.IsEveryPageToFile,model.IsDeleteAfterExtract);
|
|
|
+ DoExtractPages(model.IsEveryPageToFile, model.IsDeleteAfterExtract);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -566,22 +570,22 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// </summary>
|
|
|
private async void InsertCommandEvent(object type)
|
|
|
{
|
|
|
- if((string)type==null)
|
|
|
+ if ((string)type == null)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
//获取插入位置
|
|
|
int insertIndex = 0;
|
|
|
- if(listSelecedIndex<0)
|
|
|
+ if (listSelecedIndex < 0)
|
|
|
{
|
|
|
insertIndex = 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- insertIndex = listSelecedIndex+1;
|
|
|
- if(isMultiSelected)
|
|
|
+ insertIndex = listSelecedIndex + 1;
|
|
|
+ if (isMultiSelected)
|
|
|
{
|
|
|
- insertIndex = maxSelectedIndex+1;
|
|
|
+ insertIndex = maxSelectedIndex + 1;
|
|
|
}
|
|
|
}
|
|
|
IsLoading = Visibility.Visible;
|
|
@@ -589,7 +593,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
PageEditHistory history = new PageEditHistory();
|
|
|
history.InsertIndex = insertIndex;
|
|
|
- if((string)type==ParameterNames.InsertType_Blank)
|
|
|
+ if ((string)type == ParameterNames.InsertType_Blank)
|
|
|
{
|
|
|
history.Type = ActionType.InsertCustomPages;
|
|
|
history.InsertFilePath = "";
|
|
@@ -602,10 +606,10 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- result = PDFViewer.Document.InsertPage(insertIndex, PageEditItems[insertIndex-1].Size.Width, PageEditItems[insertIndex-1].Size.Height, null);
|
|
|
+ result = PDFViewer.Document.InsertPage(insertIndex, PageEditItems[insertIndex - 1].Size.Width, PageEditItems[insertIndex - 1].Size.Height, null);
|
|
|
history.PageSize = PageEditItems[insertIndex - 1].Size;
|
|
|
}
|
|
|
- if(!result)
|
|
|
+ if (!result)
|
|
|
{
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
ShowToast();
|
|
@@ -614,15 +618,15 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
//UI层插入Item
|
|
|
var item = GetNewPageEditItem(insertIndex);
|
|
|
- PageEditItems.Insert(insertIndex,item);
|
|
|
-
|
|
|
+ PageEditItems.Insert(insertIndex, item);
|
|
|
+
|
|
|
|
|
|
- ReloadAfterOption(true,true,Tuple.Create(insertIndex,insertIndex+1));
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(insertIndex, insertIndex + 1));
|
|
|
await Task.Delay(10);
|
|
|
//选中插入的页面
|
|
|
ListSelectedIndex = insertIndex;
|
|
|
}
|
|
|
- else if((string)type == ParameterNames.InsertType_File)
|
|
|
+ else if ((string)type == ParameterNames.InsertType_File)
|
|
|
{
|
|
|
OpenFileDialog dialog = new OpenFileDialog();
|
|
|
dialog.Multiselect = false;
|
|
@@ -630,15 +634,15 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
if ((bool)dialog.ShowDialog())
|
|
|
{
|
|
|
//插入文件
|
|
|
- var result = await InsertFromFile(insertIndex,dialog.FileName);
|
|
|
- if(!result)
|
|
|
+ var result = await InsertFromFile(insertIndex, dialog.FileName);
|
|
|
+ if (!result)
|
|
|
{
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
ShowToast();
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- ReloadAfterOption(true,true,Tuple.Create(0,PDFViewer.Document.PageCount));
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(0, PDFViewer.Document.PageCount));
|
|
|
}
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
//里面附带了Undo栈记录,需要提前返回,避免重复记录
|
|
@@ -648,24 +652,25 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
DialogParameters keyValuePairs = new DialogParameters();
|
|
|
Size size = new Size();
|
|
|
- size.Width =CommonHelper.GetUnitsFromPageSize(PDFViewer.Document.GetPageSize(listSelecedIndex).Width);
|
|
|
+ size.Width = CommonHelper.GetUnitsFromPageSize(PDFViewer.Document.GetPageSize(listSelecedIndex).Width);
|
|
|
size.Height = CommonHelper.GetUnitsFromPageSize(PDFViewer.Document.GetPageSize(listSelecedIndex).Height);
|
|
|
keyValuePairs.Add("CurrentPageSize", size);
|
|
|
//插入自定义页面
|
|
|
- dialogs.ShowDialog(DialogNames.InsertDialog, keyValuePairs,e=> {
|
|
|
- if(e.Result == ButtonResult.OK&&e.Parameters!=null)
|
|
|
+ dialogs.ShowDialog(DialogNames.InsertDialog, keyValuePairs, e =>
|
|
|
+ {
|
|
|
+ if (e.Result == ButtonResult.OK && e.Parameters != null)
|
|
|
{
|
|
|
var model = e.Parameters.GetValue<CustomInsertModel>(ParameterNames.DataModel);
|
|
|
|
|
|
var result = InsertFromCustomPage(insertIndex, model.width, model.height, model.filepath);
|
|
|
- if(!result)
|
|
|
+ if (!result)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
history.Type = ActionType.InsertCustomPages;
|
|
|
history.InsertFilePath = model.filepath;
|
|
|
- history.PageSize = new Size(model.width,model.height);
|
|
|
+ history.PageSize = new Size(model.width, model.height);
|
|
|
|
|
|
}
|
|
|
});
|
|
@@ -685,7 +690,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
IsLoading = Visibility.Visible;
|
|
|
await Task.Delay(3);
|
|
|
DoRemoveSelectedPages();
|
|
|
- ReloadAfterOption(true, true, Tuple.Create(0,PDFViewer.Document.PageCount));
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(0, PDFViewer.Document.PageCount));
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
|
|
@@ -713,7 +718,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
IsLoading = Visibility.Visible;
|
|
|
await Task.Delay(3);
|
|
|
List<int> pages = new List<int>();
|
|
|
- for (int i = 0; i <PageEditItems.Count; i++)
|
|
|
+ for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
{
|
|
|
if (PageEditItems[i].Selected)
|
|
|
{
|
|
@@ -721,7 +726,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
}
|
|
|
DoReverse(pages);
|
|
|
-
|
|
|
+
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
|
|
@@ -750,8 +755,8 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- var result = ExchangeItem(preindex,laterIndex);
|
|
|
- if(!result)
|
|
|
+ var result = ExchangeItem(preindex, laterIndex);
|
|
|
+ if (!result)
|
|
|
{
|
|
|
ShowToast();
|
|
|
IsLoading = Visibility.Collapsed;
|
|
@@ -774,7 +779,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
ReloadAfterOption(true, true, null);
|
|
|
|
|
|
- if(!isFromUndoRedo)
|
|
|
+ if (!isFromUndoRedo)
|
|
|
{
|
|
|
PageEditHistory history = new PageEditHistory();
|
|
|
history.Type = ActionType.Reverse;
|
|
@@ -789,7 +794,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// <param name="preiIndex"></param>
|
|
|
/// <param name="laterIndex"></param>
|
|
|
/// <returns></returns>
|
|
|
- private bool ExchangeItem(int preiIndex,int laterIndex)
|
|
|
+ private bool ExchangeItem(int preiIndex, int laterIndex)
|
|
|
{
|
|
|
if (preiIndex == laterIndex)
|
|
|
{
|
|
@@ -847,7 +852,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
private void ZoomInCommandEvent()
|
|
|
{
|
|
|
ZoomIndex++;
|
|
|
- ChangeItemSize(ItemSizes[ZoomIndex+1]);
|
|
|
+ ChangeItemSize(ItemSizes[ZoomIndex + 1]);
|
|
|
|
|
|
NotifyUIToRefresh();
|
|
|
}
|
|
@@ -858,7 +863,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
private void ZoomOutCommandEvent()
|
|
|
{
|
|
|
ZoomIndex--;
|
|
|
- ChangeItemSize(ItemSizes[ZoomIndex+1]);
|
|
|
+ ChangeItemSize(ItemSizes[ZoomIndex + 1]);
|
|
|
NotifyUIToRefresh();
|
|
|
}
|
|
|
|
|
@@ -950,15 +955,15 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
string pageparm = CommonHelper.GetPageParmFromList(selectedPageList);
|
|
|
TbPageRange = pageparm;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//Ctrl+A时让所有item选中
|
|
|
- var isCtrlorShiftDown =( (Keyboard.IsKeyDown(Key.LeftCtrl) && Keyboard.IsKeyDown(Key.A))|| (Keyboard.IsKeyDown(Key.RightCtrl) && Keyboard.IsKeyDown(Key.A)));
|
|
|
+ var isCtrlorShiftDown = ((Keyboard.IsKeyDown(Key.LeftCtrl) && Keyboard.IsKeyDown(Key.A)) || (Keyboard.IsKeyDown(Key.RightCtrl) && Keyboard.IsKeyDown(Key.A)));
|
|
|
if (isCtrlorShiftDown)
|
|
|
{
|
|
|
for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
-
|
|
|
+
|
|
|
{
|
|
|
PageEditItems[i].Selected = true;
|
|
|
}
|
|
@@ -989,7 +994,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (args.Key != Key.Enter && args.Key != Key.Back && args.Key != Key.OemComma && args.Key!=Key.OemMinus && args.Key != Key.Subtract && !((args.Key >= Key.D0 && args.Key <= Key.D9) || (args.Key >= Key.NumPad0 && args.Key <= Key.NumPad9)))
|
|
|
+ if (args.Key != Key.Enter && args.Key != Key.Back && args.Key != Key.OemComma && args.Key != Key.OemMinus && args.Key != Key.Subtract && !((args.Key >= Key.D0 && args.Key <= Key.D9) || (args.Key >= Key.NumPad0 && args.Key <= Key.NumPad9)))
|
|
|
{
|
|
|
args.Handled = true;
|
|
|
}
|
|
@@ -1010,10 +1015,10 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
List<int> TargetPageIndexs = new List<int>();
|
|
|
var result = CommonHelper.GetPagesInRange(ref TargetPageIndexs, (args.OriginalSource as TextBox).Text, PDFViewer.Document.PageCount, new char[] { ',', ',' }, new char[] { '-' });
|
|
|
- if (!result&&ComboxSelectIndex==5)
|
|
|
+ if (!result && ComboxSelectIndex == 5)
|
|
|
{
|
|
|
AlertsMessage alertsMessage = new AlertsMessage();
|
|
|
- alertsMessage.ShowDialog("","请输入有效范围","OK");
|
|
|
+ alertsMessage.ShowDialog("", "请输入有效范围", "OK");
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -1023,7 +1028,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
if (TargetPageIndexs.Contains(PageEditItems[i].PageNumber - 1))
|
|
|
{
|
|
|
- pageRange.Add(i+1);
|
|
|
+ pageRange.Add(i + 1);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1038,13 +1043,13 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
private void lostfocus(object obj)
|
|
|
{
|
|
|
var args = obj as RoutedEventArgs;
|
|
|
- if (args == null||(args.OriginalSource as TextBox)==null)
|
|
|
+ if (args == null || (args.OriginalSource as TextBox) == null)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
List<int> TargetPageIndexs = new List<int>();
|
|
|
|
|
|
- if(PageRangeItems.Contains((args.OriginalSource as TextBox).Text)&&ComboxSelectIndex!=5)
|
|
|
+ if (PageRangeItems.Contains((args.OriginalSource as TextBox).Text) && ComboxSelectIndex != 5)
|
|
|
{
|
|
|
//选中其他项,失去焦点时不报错
|
|
|
return;
|
|
@@ -1092,7 +1097,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
printValue.Add(ParameterNames.PDFViewer, PDFViewer);
|
|
|
printValue.Add(ParameterNames.FilePath, PDFViewer.Document.FileName);
|
|
|
printValue.Add(ParameterNames.PrintCurrentPage, PDFViewer.CurrentIndex);
|
|
|
- printValue.Add(ParameterNames.PageList,selectedPageList);
|
|
|
+ printValue.Add(ParameterNames.PageList, selectedPageList);
|
|
|
dialogs.ShowDialog(DialogNames.HomePagePrinterDialog, printValue, e => { });
|
|
|
}
|
|
|
|
|
@@ -1135,20 +1140,32 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
dialogs.ShowDialog(DialogNames.IAPCompareDialog);
|
|
|
return;
|
|
|
}
|
|
|
- CacheFilePath.Instance.CopyDoc = null;
|
|
|
- CacheFilePath.Instance.CopyDoc = CPDFDocument.CreateDocument();
|
|
|
- List<int> pages = new List<int>();
|
|
|
- for(int i=0;i<PageEditItems.Count;i++)
|
|
|
+ VerifyPasswordResult verifyResult = SecurityHelper.VerifyPasswordForSelectedPermissions(PDFViewer.Document, EnumPermissionsSet.StatusAllowsCopying, dialogs);
|
|
|
+ if (verifyResult.IsDiscryptied)
|
|
|
{
|
|
|
- if(PageEditItems[i].Selected)
|
|
|
+ if (verifyResult.Password != null)
|
|
|
{
|
|
|
- pages.Add(i + 1);
|
|
|
+ PDFViewer.Document.CheckOwnerPassword(verifyResult.Password);
|
|
|
+ }
|
|
|
+
|
|
|
+ CacheFilePath.Instance.CopyDoc = null;
|
|
|
+ CacheFilePath.Instance.CopyDoc = CPDFDocument.CreateDocument();
|
|
|
+ List<int> pages = new List<int>();
|
|
|
+ for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
+ {
|
|
|
+ if (PageEditItems[i].Selected)
|
|
|
+ {
|
|
|
+ pages.Add(i + 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bool result = CacheFilePath.Instance.CopyDoc.ImportPages(PDFViewer.Document, String.Join(",", pages));
|
|
|
+ if (!result)
|
|
|
+ {
|
|
|
+ ShowToast("复制失败");
|
|
|
+ return;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
- bool result = CacheFilePath.Instance.CopyDoc.ImportPages(PDFViewer.Document, String.Join(",",pages));
|
|
|
- if (!result)
|
|
|
+ else
|
|
|
{
|
|
|
ShowToast("复制失败");
|
|
|
return;
|
|
@@ -1161,7 +1178,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// <returns></returns>
|
|
|
private bool CanPasteExcute()
|
|
|
{
|
|
|
- return this.CanPaste;
|
|
|
+ return this.CanPaste;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -1205,7 +1222,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
//刷新页码等
|
|
|
ReloadAfterOption(true, true, new Tuple<int, int>(0, PDFViewer.Document.PageCount));
|
|
|
- NotifyUIToRefresh(pageRange);
|
|
|
+ NotifyUIToRefresh(pageRange);
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
|
|
@@ -1220,29 +1237,29 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
case ActionType.RightRotate:
|
|
|
var rightlist = history.SourceTargetValue.Keys.ToList<int>();
|
|
|
- RotateSelectedPages(false, rightlist,true);
|
|
|
+ RotateSelectedPages(false, rightlist, true);
|
|
|
|
|
|
redoHistory.SourceTargetValue = history.SourceTargetValue;
|
|
|
redoHistory.Type = ActionType.LeftRotate;
|
|
|
break;
|
|
|
case ActionType.LeftRotate:
|
|
|
var leftlist = history.SourceTargetValue.Keys.ToList<int>();
|
|
|
- RotateSelectedPages(true, leftlist,true);
|
|
|
+ RotateSelectedPages(true, leftlist, true);
|
|
|
|
|
|
redoHistory.SourceTargetValue = history.SourceTargetValue;
|
|
|
redoHistory.Type = ActionType.RightRotate;
|
|
|
break;
|
|
|
case ActionType.InsertFromFile:
|
|
|
List<int> pageList = new List<int>();
|
|
|
- for(int i=0;i<history.InsertPageCount;i++)
|
|
|
+ for (int i = 0; i < history.InsertPageCount; i++)
|
|
|
{
|
|
|
- pageList.Add(history.InsertIndex+i);
|
|
|
+ pageList.Add(history.InsertIndex + i);
|
|
|
}
|
|
|
DoRemoveSelectedPages(pageList, true);
|
|
|
redoHistory = history;
|
|
|
break;
|
|
|
case ActionType.InsertCustomPages:
|
|
|
- DoRemoveSelectedPages(new List<int> {history.InsertIndex},true);
|
|
|
+ DoRemoveSelectedPages(new List<int> { history.InsertIndex }, true);
|
|
|
redoHistory = history;
|
|
|
break;
|
|
|
case ActionType.DragSort:
|
|
@@ -1250,18 +1267,18 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
var SourceTargets = history.SourceTargetValue;
|
|
|
var keys = SourceTargets.Keys.ToArray();
|
|
|
Array.Reverse(keys);
|
|
|
- foreach(var key in keys)
|
|
|
+ foreach (var key in keys)
|
|
|
{
|
|
|
MoveItemToIndex(SourceTargets[key], key);
|
|
|
}
|
|
|
//刷新页码等
|
|
|
- ReloadAfterOption(true,true,new Tuple<int, int>(0,PDFViewer.Document.PageCount));
|
|
|
+ ReloadAfterOption(true, true, new Tuple<int, int>(0, PDFViewer.Document.PageCount));
|
|
|
|
|
|
List<int> selectedPages = new List<int>();
|
|
|
//将索引集合转换成页码集合
|
|
|
- foreach(var key in SourceTargets.Keys)
|
|
|
+ foreach (var key in SourceTargets.Keys)
|
|
|
{
|
|
|
- selectedPages.Add(key+1);
|
|
|
+ selectedPages.Add(key + 1);
|
|
|
}
|
|
|
//通知UI选中Item
|
|
|
NotifyUIToRefresh(selectedPages);
|
|
@@ -1289,7 +1306,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
Pages.Add(key + 1);
|
|
|
}
|
|
|
- foreach(var key in SourceTarget.Values)
|
|
|
+ foreach (var key in SourceTarget.Values)
|
|
|
{
|
|
|
Pages.Add(key + 1);
|
|
|
}
|
|
@@ -1303,7 +1320,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
RedoStack.Push(redoHistory);
|
|
|
CanRedo = true;
|
|
|
//检查是否可以再进行Undo
|
|
|
- if(UndoStack.Count<=0)
|
|
|
+ if (UndoStack.Count <= 0)
|
|
|
{
|
|
|
this.CanUndo = false;
|
|
|
}
|
|
@@ -1320,20 +1337,20 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
case ActionType.RightRotate:
|
|
|
var rightlist = history.SourceTargetValue.Keys.ToList<int>();
|
|
|
- RotateSelectedPages(false, rightlist,true);
|
|
|
+ RotateSelectedPages(false, rightlist, true);
|
|
|
|
|
|
undoHistory.SourceTargetValue = history.SourceTargetValue;
|
|
|
undoHistory.Type = ActionType.LeftRotate;
|
|
|
break;
|
|
|
case ActionType.LeftRotate:
|
|
|
var leftlist = history.SourceTargetValue.Keys.ToList<int>();
|
|
|
- RotateSelectedPages(true, leftlist,true);
|
|
|
+ RotateSelectedPages(true, leftlist, true);
|
|
|
undoHistory.SourceTargetValue = history.SourceTargetValue;
|
|
|
undoHistory.Type = ActionType.RightRotate;
|
|
|
break;
|
|
|
case ActionType.InsertFromFile:
|
|
|
- await InsertFromFile(history.InsertIndex,history.InsertFilePath,history.InsertFilePassWord,true);
|
|
|
- ReloadAfterOption(true, true, Tuple.Create(history.InsertIndex-1, history.InsertIndex+history.InsertPageCount));
|
|
|
+ await InsertFromFile(history.InsertIndex, history.InsertFilePath, history.InsertFilePassWord, true);
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(history.InsertIndex - 1, history.InsertIndex + history.InsertPageCount));
|
|
|
undoHistory = history;
|
|
|
break;
|
|
|
case ActionType.InsertCustomPages:
|
|
@@ -1342,7 +1359,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
undoHistory = history;
|
|
|
break;
|
|
|
case ActionType.DragSort:
|
|
|
- DragToSort(history.InsertIndex,history.SourceTargetValue.Keys.ToList<int>(),true);
|
|
|
+ DragToSort(history.InsertIndex, history.SourceTargetValue.Keys.ToList<int>(), true);
|
|
|
undoHistory = history;
|
|
|
break;
|
|
|
case ActionType.Reverse:
|
|
@@ -1373,7 +1390,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// <summary>
|
|
|
/// 显示Toast提示
|
|
|
/// </summary>
|
|
|
- private void ShowToast(string content="")
|
|
|
+ private void ShowToast(string content = "")
|
|
|
{
|
|
|
if (!string.IsNullOrEmpty(content))
|
|
|
{
|
|
@@ -1390,7 +1407,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// 通知UI刷新页面范围
|
|
|
/// 或通过xaml来设置选中项
|
|
|
/// </summary>vb nmjvcx
|
|
|
- private void NotifyUIToRefresh(List<int> pageRange=null)
|
|
|
+ private void NotifyUIToRefresh(List<int> pageRange = null)
|
|
|
{
|
|
|
if (pageRange == null || pageRange.Count <= 0)
|
|
|
{
|
|
@@ -1400,7 +1417,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
else
|
|
|
{
|
|
|
//通知UI刷新页面范围
|
|
|
- eventor.GetEvent<PageEditNotifyEvent>().Publish(new PageEditNotifyEventArgs(unicode,NotifyType.SelectItems,pageRange));
|
|
|
+ eventor.GetEvent<PageEditNotifyEvent>().Publish(new PageEditNotifyEventArgs(unicode, NotifyType.SelectItems, pageRange));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1440,9 +1457,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
if (PageEditItems[i].Selected)
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
indexList.Add(i);
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1450,18 +1467,18 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
indexList = pageList;
|
|
|
}
|
|
|
-
|
|
|
- if(indexList.Count>0&& indexList.Count==PDFViewer.Document.PageCount)
|
|
|
+
|
|
|
+ if (indexList.Count > 0 && indexList.Count == PDFViewer.Document.PageCount)
|
|
|
{
|
|
|
AlertsMessage alertsMessage = new AlertsMessage();
|
|
|
- alertsMessage.ShowDialog("","不能删除所有页面","OK");
|
|
|
+ alertsMessage.ShowDialog("", "不能删除所有页面", "OK");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var result = PDFViewer.Document.RemovePages(indexList.ToArray());
|
|
|
if (!result)
|
|
|
{
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -1486,7 +1503,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// </summary>
|
|
|
/// <param name="isEveryPageToFile">是否每页生成一个文件</param>
|
|
|
/// <param name="isDeleteAfterExtract">是否提取后删除页面</param>
|
|
|
- private async void DoExtractPages(bool isEveryPageToFile,bool isDeleteAfterExtract)
|
|
|
+ private async void DoExtractPages(bool isEveryPageToFile, bool isDeleteAfterExtract)
|
|
|
{
|
|
|
System.Windows.Forms.FolderBrowserDialog dialog = new System.Windows.Forms.FolderBrowserDialog();
|
|
|
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
|
@@ -1494,7 +1511,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
if (string.IsNullOrEmpty(dialog.SelectedPath))
|
|
|
{
|
|
|
AlertsMessage alertsMessage = new AlertsMessage();
|
|
|
- alertsMessage.ShowDialog("","","OK");//补充提示文案
|
|
|
+ alertsMessage.ShowDialog("", "", "OK");//补充提示文案
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -1505,9 +1522,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
IsLoading = Visibility.Visible;
|
|
|
await Task.Delay(3);
|
|
|
List<int> pagenums = new List<int>();
|
|
|
- for(int i=0;i<PageEditItems.Count;i++)
|
|
|
+ for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
{
|
|
|
- if(PageEditItems[i].Selected)
|
|
|
+ if (PageEditItems[i].Selected)
|
|
|
{
|
|
|
pagenums.Add(PageEditItems[i].PageNumber);
|
|
|
}
|
|
@@ -1549,22 +1566,22 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
bool result = savedoc.ImportPages(PDFViewer.Document, range);
|
|
|
if (!result)
|
|
|
{
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
return;
|
|
|
}
|
|
|
result = savedoc.WriteToFilePath(path);
|
|
|
if (!result)
|
|
|
{
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
}
|
|
|
savedoc.Release();//释放内存
|
|
|
}
|
|
|
|
|
|
- if(isDeleteAfterExtract)
|
|
|
+ if (isDeleteAfterExtract)
|
|
|
{
|
|
|
DoRemoveSelectedPages();
|
|
|
- ReloadAfterOption(true,true,Tuple.Create(0,PDFViewer.Document.PageCount));
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(0, PDFViewer.Document.PageCount));
|
|
|
}
|
|
|
|
|
|
CommonHelper.ShowFileBrowser(selectedfile);
|
|
@@ -1662,7 +1679,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
else//自定义页码范围
|
|
|
{
|
|
|
- string pageRange="";
|
|
|
+ string pageRange = "";
|
|
|
if (data.PageMode == HomePageSplitDialogModel.PageRangeMode.OddPage)
|
|
|
{
|
|
|
int[] page = new int[(PageCount + 1) / 2];
|
|
@@ -1694,14 +1711,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
if (!result)
|
|
|
{
|
|
|
saveDoc1.Release();
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
return;
|
|
|
}
|
|
|
result = saveDoc1.WriteToFilePath(path1);
|
|
|
if (!result)
|
|
|
{
|
|
|
saveDoc1.Release();
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
return;
|
|
|
}
|
|
|
saveDoc1.Release();
|
|
@@ -1721,14 +1738,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
if (!result)
|
|
|
{
|
|
|
saveDoc2.Release();
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
return;
|
|
|
}
|
|
|
result = saveDoc2.WriteToFilePath(path2);
|
|
|
if (!result)
|
|
|
{
|
|
|
saveDoc2.Release();
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
return;
|
|
|
}
|
|
|
selectedfile = path1;
|
|
@@ -1752,16 +1769,16 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
CPDFDocument doc = CPDFDocument.InitWithFilePath(filePath);
|
|
|
if (doc == null)
|
|
|
{
|
|
|
- ShowToast();
|
|
|
+ ShowToast();
|
|
|
return false;
|
|
|
}
|
|
|
string password = "";
|
|
|
if (doc.IsLocked)
|
|
|
{
|
|
|
- if(!string.IsNullOrEmpty(oldPassWord))
|
|
|
+ if (!string.IsNullOrEmpty(oldPassWord))
|
|
|
{
|
|
|
- var result = doc.UnlockWithPassword(oldPassWord);
|
|
|
- if(result)
|
|
|
+ var result = doc.UnlockWithPassword(oldPassWord);
|
|
|
+ if (result)
|
|
|
{
|
|
|
password = oldPassWord;
|
|
|
}
|
|
@@ -1788,7 +1805,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- int pageCount = doc.PageCount;
|
|
|
+ int pageCount = doc.PageCount;
|
|
|
|
|
|
//插入整个新文档
|
|
|
//文档层插入
|
|
@@ -1815,7 +1832,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
List<int> pageRange = new List<int>();
|
|
|
for (int i = 0; i < pageCount; i++)
|
|
|
{
|
|
|
- pageRange.Add(insertIndex+i+1);
|
|
|
+ pageRange.Add(insertIndex + i + 1);
|
|
|
}
|
|
|
NotifyUIToRefresh(pageRange);
|
|
|
|
|
@@ -1855,7 +1872,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// <param name="height"></param>
|
|
|
/// <param name="filePath"></param>
|
|
|
/// <returns></returns>
|
|
|
- private bool InsertFromCustomPage(int insertIndex,double width,double height,string filePath)
|
|
|
+ private bool InsertFromCustomPage(int insertIndex, double width, double height, string filePath)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
@@ -1948,7 +1965,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// 旋转所有选中页面
|
|
|
/// </summary>
|
|
|
/// <param name="rightRotate"></param>
|
|
|
- private async void RotateSelectedPages(bool rightRotate = true,List<int> pageitems=null,bool isFromUndoRedo = false)
|
|
|
+ private async void RotateSelectedPages(bool rightRotate = true, List<int> pageitems = null, bool isFromUndoRedo = false)
|
|
|
{
|
|
|
//付费锁
|
|
|
if (!App.IsLogin)
|
|
@@ -2020,7 +2037,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
PageEditItems[i].PageNumber = i + 1;
|
|
|
PageEditItems[i].ShowPageSize = HasShowPageSize == Visibility.Visible ? true : false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -2050,7 +2067,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
case 0:
|
|
|
for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
{
|
|
|
- pageRange.Add(i+1);
|
|
|
+ pageRange.Add(i + 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
@@ -2101,7 +2118,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
- if(pageRange.Count>0)
|
|
|
+ if (pageRange.Count > 0)
|
|
|
{
|
|
|
NotifyUIToRefresh(pageRange);
|
|
|
}
|
|
@@ -2123,7 +2140,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
private void ShowPageSize()
|
|
|
{
|
|
|
bool show = true;
|
|
|
- if(HasShowPageSize== Visibility.Visible)
|
|
|
+ if (HasShowPageSize == Visibility.Visible)
|
|
|
{
|
|
|
show = false;
|
|
|
HasShowPageSize = Visibility.Collapsed;
|
|
@@ -2145,7 +2162,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// </summary>
|
|
|
private void GetSourceItems(bool isFirstLoad)
|
|
|
{
|
|
|
- if (isFirstLoad||IsBOTAThumb==Visibility.Visible)
|
|
|
+ if (isFirstLoad || IsBOTAThumb == Visibility.Visible)
|
|
|
{
|
|
|
PageEditItems.Clear();
|
|
|
for (int i = 0; i < PDFViewer.Document.PageCount; i++)
|
|
@@ -2203,7 +2220,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
for (int i = startIndex; i <= endIndex; i++)
|
|
|
{
|
|
|
- if (i <= PageEditItems.Count- 1 && i >= 0 && PageEditItems.Count > 0)
|
|
|
+ if (i <= PageEditItems.Count - 1 && i >= 0 && PageEditItems.Count > 0)
|
|
|
{
|
|
|
//宽高为样式中图片控件宽高
|
|
|
if (PageEditItems[i].isVertical)
|
|
@@ -2239,7 +2256,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// </summary>
|
|
|
/// <param name="targetIndex"></param>
|
|
|
/// <param name="pageIndexs"></param>
|
|
|
- public void DragToSort(int targetIndex,List<int> pageIndexs,bool IsFromUndoRedo =false)
|
|
|
+ public void DragToSort(int targetIndex, List<int> pageIndexs, bool IsFromUndoRedo = false)
|
|
|
{
|
|
|
//拖拽排序后需要重新选中项的集合
|
|
|
List<int> selectedPages = new List<int>();
|
|
@@ -2260,12 +2277,12 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
// list.Add(PageEditListBox.Items[pageIndexs[i]] as ListBoxItem);
|
|
|
//sourceindex.Add(pageIndexs[i]);
|
|
|
result = MoveItemToIndex(pageIndexs[i], targetIndex + i);
|
|
|
- if(!result)
|
|
|
+ if (!result)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
SourceTargetValue.Add(pageIndexs[i], targetIndex + i);
|
|
|
- selectedPages.Add(targetIndex + i+1);
|
|
|
+ selectedPages.Add(targetIndex + i + 1);
|
|
|
}
|
|
|
}
|
|
|
else if (targetIndex > pageIndexs[pageIndexs.Count - 1])
|
|
@@ -2323,7 +2340,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
//通知UI选中Items
|
|
|
//NotifyUIToRefresh(selectedPages);
|
|
|
//刷新页码和图片
|
|
|
- ReloadAfterOption(true,true,new Tuple<int, int>(0,PDFViewer.Document.PageCount));
|
|
|
+ ReloadAfterOption(true, true, new Tuple<int, int>(0, PDFViewer.Document.PageCount));
|
|
|
|
|
|
if (!IsFromUndoRedo)
|
|
|
{
|
|
@@ -2421,14 +2438,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
PDFViewer.AnnotEditHandler += PDFViewer_AnnotEditHandler;
|
|
|
|
|
|
ZoomIndex = 0;
|
|
|
- if(viewContentViewModel!=null)
|
|
|
+ if (viewContentViewModel != null)
|
|
|
{
|
|
|
viewContentViewModel.PageEditUndo = Undo;
|
|
|
viewContentViewModel.PageEditRedo = Redo;
|
|
|
}
|
|
|
}
|
|
|
//BOTA缩略图时,显示不同的菜单栏
|
|
|
- if(isBOTA)
|
|
|
+ if (isBOTA)
|
|
|
{
|
|
|
IsBOTAThumb = Visibility.Visible;
|
|
|
}
|
|
@@ -2458,9 +2475,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
private void PDFViewer_InfoChanged(object sender, KeyValuePair<string, object> e)
|
|
|
{
|
|
|
- if(e.Key== "PageNum")
|
|
|
+ if (e.Key == "PageNum")
|
|
|
{
|
|
|
- NotifyUIToRefresh(new List<int> { (e.Value as ComPDFKitViewer.RenderData).PageIndex});
|
|
|
+ NotifyUIToRefresh(new List<int> { (e.Value as ComPDFKitViewer.RenderData).PageIndex });
|
|
|
}
|
|
|
}
|
|
|
#endregion
|