|
@@ -669,7 +669,8 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
DialogParameters valuePairs = new DialogParameters();
|
|
|
valuePairs.Add(ParameterNames.PDFViewer, PDFViewer);
|
|
|
- valuePairs.Add(ParameterNames.ListSelectedIndex, ListSelectedIndex);
|
|
|
+ valuePairs.Add(ParameterNames.PageEditSelectedIndex, ListSelectedIndex);
|
|
|
+ valuePairs.Add(ParameterNames.PageEditSelectedItems, TbPageRange);
|
|
|
dialogs.ShowDialog(DialogNames.SplitDialog, valuePairs, e =>
|
|
|
{
|
|
|
if (e.Result == ButtonResult.OK && e.Parameters != null)
|
|
@@ -685,7 +686,18 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// </summary>
|
|
|
private void ExtractCommandEvent()
|
|
|
{
|
|
|
- dialogs.ShowDialog(DialogNames.ExtractDialog, null, e =>
|
|
|
+ DialogParameters keyValuePairs = new DialogParameters();
|
|
|
+
|
|
|
+ //因无法删除所有页面,若选中所有页面提取,则需要将「提取后删除页面」复选项置灰
|
|
|
+ if (selectedPageList.Count == PageEditItems.Count)
|
|
|
+ {
|
|
|
+ keyValuePairs.Add(ParameterNames.IsDeleteAfterExtract, false);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ keyValuePairs.Add(ParameterNames.IsDeleteAfterExtract, true);
|
|
|
+ }
|
|
|
+ dialogs.ShowDialog(DialogNames.ExtractDialog, keyValuePairs, e =>
|
|
|
{
|
|
|
if (e.Result == ButtonResult.OK && e.Parameters != null)
|
|
|
{
|
|
@@ -802,7 +814,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
size.Width = CommonHelper.GetUnitsFromPageSize(PDFViewer.Document.GetPageSize(listSelecedIndex).Width);
|
|
|
size.Height = CommonHelper.GetUnitsFromPageSize(PDFViewer.Document.GetPageSize(listSelecedIndex).Height);
|
|
|
keyValuePairs.Add(ParameterNames.CurrentPageSize, size);
|
|
|
- keyValuePairs.Add(ParameterNames.ListSelectedIndex, ListSelectedIndex);
|
|
|
+ keyValuePairs.Add(ParameterNames.PageEditSelectedIndex, ListSelectedIndex);
|
|
|
//int o = ListSelectedIndex;
|
|
|
//插入自定义页面
|
|
|
dialogs.ShowDialog(DialogNames.InsertDialog, keyValuePairs, e =>
|
|
@@ -2083,9 +2095,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
#endregion 方案一 //part1
|
|
|
|
|
|
#region 方案二 //Part2 奇数页、偶数页需要拆分成两个
|
|
|
+
|
|
|
if (data.PageMode == HomePageSplitDialogModel.PageRangeMode.OddPage || data.PageMode == HomePageSplitDialogModel.PageRangeMode.EvenPage)
|
|
|
{
|
|
|
-
|
|
|
List<int> pageList2 = new List<int>();
|
|
|
for (int i = 1; i <= pdfViewer.Document.PageCount; i++)
|
|
|
{
|
|
@@ -2114,7 +2126,8 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
saveDoc2.Release();
|
|
|
selectedfile = path2;
|
|
|
}
|
|
|
- #endregion 方案二 //Part2
|
|
|
+
|
|
|
+ #endregion 方案二 //Part2 奇数页、偶数页需要拆分成两个
|
|
|
}
|
|
|
//显示文件夹,并选中一个文件
|
|
|
Process.Start("explorer", "/select,\"" + selectedfile + "\"");
|
|
@@ -2344,8 +2357,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
//从页面编辑退出的值,根据内容走,进页面编辑是这一页内容,退出来还是
|
|
|
if (CurrentPageEditItem != null)
|
|
|
{
|
|
|
- PDFViewer.GoToPage(CurrentPageEditItem.PageNumber-1);
|
|
|
+ int pageIndex = CurrentPageEditItem.PageNumber - 1;
|
|
|
+ if (pageIndex != PDFViewer.CurrentIndex)
|
|
|
+ {
|
|
|
+ PDFViewer.GoToPage(pageIndex);
|
|
|
+ }
|
|
|
}
|
|
|
+ //插入、替换等更新页码,页码输入框的值未更新
|
|
|
+ RefreshTbPageRange();
|
|
|
}
|
|
|
if (needClearUndoHistory)
|
|
|
{
|
|
@@ -2392,6 +2411,39 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void RefreshTbPageRange()
|
|
|
+ {
|
|
|
+ List<int> indexList = GetSelectedItemPageNumbers();
|
|
|
+
|
|
|
+ if (indexList.Count > 0)
|
|
|
+ {
|
|
|
+ //只选中单个页面是,listselectedIndex 更准确
|
|
|
+ if (indexList.Count == 1)
|
|
|
+ {
|
|
|
+ TbPageRange = (listSelecedIndex + 1).ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //根据选中的页面转换成1,3-10类似的字符串
|
|
|
+ string pageparm = CommonHelper.GetPageParmFromList(indexList);
|
|
|
+ TbPageRange = pageparm;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<int> GetSelectedItemPageNumbers()
|
|
|
+ {
|
|
|
+ List<int> indexList = new List<int>();
|
|
|
+ for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
+ {
|
|
|
+ if (PageEditItems[i].Selected)
|
|
|
+ {
|
|
|
+ indexList.Add(PageEditItems[i].PageNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return indexList;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 旋转所有选中页面
|
|
|
/// </summary>
|