浏览代码

压缩-bug

liyijie 2 年之前
父节点
当前提交
888fc93a28

+ 9 - 1
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterProgressBarDialogViewModel.cs

@@ -14,6 +14,7 @@ using System.Linq;
 using System.Net.Mime;
 using System.Windows.Media;
 using static Dropbox.Api.Sharing.ListFileMembersIndividualResult;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
 
 namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 {
@@ -52,17 +53,24 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         }
         #endregion
 
+        public DelegateCommand CloseCompressCommand { get; set; }
+
         public ConverterProgressBarDialogViewModel()
         {
 
+            CloseCompressCommand = new DelegateCommand(Close);
         }
         #region 逻辑函数
         private void SetProgress(int pageIndex)
         {
             PageIndex=pageIndex.ToString();
         }
+        public void Close()
+        {
+            RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
+        }
         #endregion
-        
+
         #region 构架行为
 
         public bool CanCloseDialog()

+ 13 - 24
PDF Office/ViewModels/Dialog/ToolsDialogs/CompressDialogs/CompressDialogViewModel.cs

@@ -104,32 +104,22 @@ namespace PDF_Office.ViewModels.Dialog.ToolsDialogs.CompressDialogs
         private void Compress()
         {
 
-            FolderBrowserDialog folderDialog = new FolderBrowserDialog();
-            System.Windows.Forms.SaveFileDialog sfd = new System.Windows.Forms.SaveFileDialog();
-            /*
-             *设置这个对话框的起始保存路径
-             */
-            sfd.InitialDirectory = document.FilePath;
+            FolderBrowserDialog dlg = new FolderBrowserDialog();
+            string saveSelectedPath = "";
+            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+            {
+                saveSelectedPath = dlg.SelectedPath.Trim();
+                saveSelectedPath = saveSelectedPath + "\\"+document.FileName+"_Compress.pdf";
+                saveSelectedPath = CommonHelper.CreateFilePath(saveSelectedPath);
             /*
-             *设置保存的文件的类型,注意过滤器的语法 例子:“文件类型|*.后缀名;*.后缀名;”
+             * 做一些工作
              */
-            sfd.Filter = "PDF|*.pdf;";
-            /*
-             *调用ShowDialog()方法显示该对话框,该方法的返回值代表用户是否点击了确定按钮
-             **/
-            sfd.FileName = document.FileName + "_CompressFile.pdf";
-
-            if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
-            {
-                /*
-                 * 做一些工作
-                 */
 
-                Trace.WriteLine("compressDialogModel.CompressQuality:  " + compressDialogModel.CompressQuality);
+            Trace.WriteLine("compressDialogModel.CompressQuality:  " + compressDialogModel.CompressQuality);
                 DialogParameters value = new DialogParameters();
                 value.Add(ParameterNames.PDFDocument, document);
                 value.Add(ParameterNames.PassWord, pdfviewer.Tag);
-                value.Add(ParameterNames.FilePath, sfd.FileName);
+                value.Add(ParameterNames.FilePath, saveSelectedPath);
                 value.Add("compressDialogModel.CompressQuality", (int)compressDialogModel.CompressQuality);
                 RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
                 dialogs.ShowDialog(DialogNames.CompressProgressBarDialog, value, e =>
@@ -137,11 +127,10 @@ namespace PDF_Office.ViewModels.Dialog.ToolsDialogs.CompressDialogs
 
                 });
             }
-            else
-            {
-                MessageBox.Show("Cancel.");
-            }
+            else { return; }
         }
+            
+        
         #endregion
 
         #region 框架行为