Bladeren bron

页面编辑 -拆分文档命名逻辑补充、按钮显示隐藏、置灰与否

OYXH\oyxh 1 jaar geleden
bovenliggende
commit
385377b658

+ 3 - 3
PDF Office/Model/Dialog/HomePageToolsDialogs/HomePageSplitDialogModel.cs

@@ -251,14 +251,14 @@ namespace PDF_Master.Model.HomePageToolsDialogs
         public void RefreshFileName()
         {
             string label = HasLabel ? FileNameLabel : "";
-            string deimiter = hasDeimiter ? FileNameDeimiter : "";
+            string deimiter = HasDeimiter ? FileNameDeimiter : "";
             if(isSourceNameFront)
             {
-                FileName = SourceFileName + deimiter + label + ".pdf";
+                FileName = SourceFileName + deimiter + label +"1"+ ".pdf";
             }
             else
             {
-                FileName = label + deimiter + SourceFileName + ".pdf";
+                FileName = label + "1" + deimiter + SourceFileName + ".pdf";
             }
         }
 

+ 56 - 15
PDF Office/ViewModels/PageEdit/PageEditContentViewModel.cs

@@ -492,7 +492,7 @@ namespace PDF_Master.ViewModels.PageEdit
             DeleteCommand = new DelegateCommand(DeleteCommandEvent, CanFileCommandExcute).ObservesProperty(() => ListSelectedIndex);
             LeftRotateCommand = new DelegateCommand(LeftRotateCommandEvent, CanFileCommandExcute).ObservesProperty(() => ListSelectedIndex);
             RightRotateCommand = new DelegateCommand(RightRotateCommandEvent, CanFileCommandExcute).ObservesProperty(() => ListSelectedIndex);
-            ReverseCommand = new DelegateCommand(ReverseCommandEvent, CanFileCommandExcute).ObservesProperty(() => ListSelectedIndex);
+            ReverseCommand = new DelegateCommand(ReverseCommandEvent, CanReverseFileCommandExcute).ObservesProperty(() => IsMultiSelected);
             ZoomInCommand = new DelegateCommand(ZoomInCommandEvent, CanZoomIn).ObservesProperty(() => ZoomIndex);
             ZoomOutCommand = new DelegateCommand(ZoomOutCommandEvent, CanZoomOut).ObservesProperty(() => ZoomIndex);
             ShowPageSizeCommand = new DelegateCommand(ShowPageSize);
@@ -885,8 +885,20 @@ namespace PDF_Master.ViewModels.PageEdit
             {
                 return true;
             }
-        }
-
+        }
+
+        private bool CanReverseFileCommandExcute()
+        {
+            if (ListSelectedIndex > 0 && IsMultiSelected)
+            {
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
         /// <summary>
         /// 校验是否可以替换
         /// </summary>
@@ -1685,7 +1697,14 @@ namespace PDF_Master.ViewModels.PageEdit
 
                 var data = model;
                 int PageCount = pdfViewer.Document.PageCount;
-                string selectedfile = "";
+                string selectedfile = "";
+
+                string directory = System.IO.Path.Combine(dialog.SelectedPath, pdfViewer.Document.FileName);
+                if (Directory.Exists(directory) == false)
+                {
+                    Directory.CreateDirectory(directory);
+                }
+                string filename = "";
                 if (data.Mode == HomePageSplitDialogModel.SplitMode.AveragePages)
                 {
                     int perPages = Convert.ToInt32(data.GetModeCount);
@@ -1703,9 +1722,10 @@ namespace PDF_Master.ViewModels.PageEdit
                         {
                             savedoc.Release();
                             continue;
-                        }
-                        string filename = data.FileName + " " + (i + 1) + ".pdf";
-                        string path = System.IO.Path.Combine(dialog.SelectedPath, filename);
+                        }
+                        filename = GetFileName(data, i);
+
+                        string path = System.IO.Path.Combine(directory, filename);
                         path = CommonHelper.CreateFilePath(path);
                         result = savedoc.WriteToFilePath(path);
                         if (!result)
@@ -1732,8 +1752,8 @@ namespace PDF_Master.ViewModels.PageEdit
                         endNum = Math.Min(endNum, PageCount);
                         string range = startNum + "-" + endNum;
                         startNum = endNum + 1;
-                        string fileName = data.FileName + " " + (i + 1) + ".pdf";
-                        string path = System.IO.Path.Combine(dialog.SelectedPath, fileName);
+                        filename = GetFileName(data, i);
+                        string path = System.IO.Path.Combine(directory, filename);
                         path = CommonHelper.CreateFilePath(path);
                         CPDFDocument savedoc = CPDFDocument.CreateDocument();
                         bool result = savedoc.ImportPages(pdfViewer.Document, range);
@@ -1785,8 +1805,9 @@ namespace PDF_Master.ViewModels.PageEdit
 
                     selectedfile = "";
                     CPDFDocument saveDoc1 = CPDFDocument.CreateDocument();
-                    string filepath = data.FileName + " " + "1.pdf";
-                    string path1 = Path.Combine(dialog.SelectedPath, filepath);
+                    //string filepath = data.FileName + " " + "1.pdf";
+                    filename = GetFileName(data, 1);
+                    string path1 = Path.Combine(directory, filename);
                     path1 = CommonHelper.CreateFilePath(path1);
                     bool result = saveDoc1.ImportPages(pdfViewer.Document, pageRange);
                     if (!result)
@@ -1805,9 +1826,10 @@ namespace PDF_Master.ViewModels.PageEdit
                     saveDoc1.Release();
                     selectedfile = path1;
 
-                    #endregion //part1
+                    #endregion 方案一 //part1
 
                     #region 方案二 //Part2
+
                     //List<int> pageList2 = new List<int>();
                     //for (int i = 1; i <= pdfViewer.Document.PageCount; i++)
                     //{
@@ -1835,7 +1857,8 @@ namespace PDF_Master.ViewModels.PageEdit
                     //}
                     //saveDoc2.Release();
                     //selectedfile = path2;
-                    #endregion
+
+                    #endregion 方案二 //Part2
                 }
                 //显示文件夹,并选中一个文件
                 Process.Start("explorer", "/select,\"" + selectedfile + "\"");
@@ -1843,8 +1866,26 @@ namespace PDF_Master.ViewModels.PageEdit
             catch (Exception ex)
             {
             }
-        }
-
+        }
+
+        private string GetFileName(HomePageSplitDialogModel model, int index)
+        {
+            string filename = "";
+            string label = model.HasLabel ? model.FileNameLabel : "";
+            string deimiter = model.HasDeimiter ? model.FileNameDeimiter : "";
+
+            if (model.IsSourceNameFront)
+            {
+                filename = model.SourceFileName + deimiter + label + (index + 1) + ".pdf";
+            }
+            else
+            {
+                filename = label + (index + 1) + deimiter + model.SourceFileName + ".pdf";
+            }
+
+            return filename;
+        }
+
         /// <summary>
         /// 将文件插入到指定位置
         /// </summary>

+ 1 - 3
PDF Office/Views/Dialog/PageEditDialogs/SplitDialog.xaml

@@ -72,7 +72,6 @@
                             Width="110"
                             Height="32"
                             Margin="8,0"
-                            
                             IsAllPageVisible="Collapsed"
                             IsEnabled="{Binding ElementName=RbtnPagerange, Path=IsChecked}"
                             MaxPageRange="{Binding PageCount}"
@@ -103,7 +102,6 @@
                         FontSize="14"
                         IsChecked="{Binding Model.IsSourceNameFront}" />
 
-
                     <StackPanel Margin="0,8" Orientation="Horizontal">
                         <CheckBox
                             Name="ChkSign"
@@ -159,4 +157,4 @@
             </Grid>
         </cus:DialogContent.BottmBar>
     </cus:DialogContent>
-</UserControl>
+</UserControl>

+ 1 - 1
PDF Office/Views/PageEdit/PageEditContent.xaml

@@ -119,7 +119,7 @@
                 <MenuItem
                     Command="{Binding ReplaceCommand}"
                     Header="替换页面"
-                    Visibility="Visible" />
+                    Visibility="{Binding IsBOTAThumb,Converter={StaticResource UnvisibleConvert}}" />
                 <MenuItem Command="{Binding DeleteCommand}" Header="{x:Static mainpage:MainPage.PageEdit_MenuDelete}" />
                 <MenuItem
                     Command="{Binding EnterPageEditCommand}"