Browse Source

综合-注释 文本注释添加后不选中、手绘优化

OYXH\oyxh 1 year ago
parent
commit
a7f45ca79f

+ 21 - 21
PDF Office/ViewModels/BottomToolContentViewModel.cs

@@ -349,27 +349,27 @@ namespace PDF_Master.ViewModels
             ViewContentViewModel.IsPropertyOpen = true;
             if (region.Regions.ContainsRegionWithName(ViewContentViewModel.PropertyRegionName))
             {
-                //NavigationParameters param = new NavigationParameters();
-                //param.Add(ParameterNames.PDFViewer, PDFViewer);
-                //param.Add(ParameterNames.BottomToolContentViewModel, this);
-                //region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
-                var views = region.Regions[ViewContentViewModel.PropertyRegionName].Views;
-                var item = views.FindFirst(p => p is ViewModularContent);
-                if (item == null)
-                {
-                    NavigationParameters param = new NavigationParameters();
-                    param.Add(ParameterNames.PDFViewer, PDFViewer);
-                    param.Add(ParameterNames.BottomToolContentViewModel, this);
-                    region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
-                }
-                else
-                {
-                    if (item is ViewModularContent viewModular)
-                    {
-                        var contentRegion = region.Regions[ViewContentViewModel.PropertyRegionName];
-                        contentRegion.Activate(viewModular);
-                    }
-                }
+                NavigationParameters param = new NavigationParameters();
+                param.Add(ParameterNames.PDFViewer, PDFViewer);
+                param.Add(ParameterNames.BottomToolContentViewModel, this);
+                region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
+                //var views = region.Regions[ViewContentViewModel.PropertyRegionName].Views;
+                //var item = views.FindFirst(p => p is ViewModularContent);
+                //if (item == null)
+                //{
+                //    NavigationParameters param = new NavigationParameters();
+                //    param.Add(ParameterNames.PDFViewer, PDFViewer);
+                //    param.Add(ParameterNames.BottomToolContentViewModel, this);
+                //    region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
+                //}
+                //else
+                //{
+                //    if (item is ViewModularContent viewModular)
+                //    {
+                //        var contentRegion = region.Regions[ViewContentViewModel.PropertyRegionName];
+                //        contentRegion.Activate(viewModular);
+                //    }
+                //}
             }
 
             IsShowViewModular = ViewContentViewModel.IsPropertyOpen;

+ 4 - 0
PDF Office/ViewModels/PropertyPanel/AnnotPanel/FreehandAnnotPropertyViewModel.cs

@@ -21,6 +21,7 @@ using System.Windows.Controls;
 using System.Windows.Controls.Primitives;
 using System.Windows.Data;
 using System.Windows.Media;
+using static Dropbox.Api.UsersCommon.AccountType;
 
 namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
 {
@@ -199,7 +200,10 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
                 PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, tran);
 
                 if (BasicVm.IsMultiSelected == false)
+                {
+                    BasicVm.AnnotType = Annot.EventType;
                     PropertyPanel.InvokeToMyTools(BasicVm.AnnotType, Annot);
+                }
             }
         }
 

+ 25 - 48
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Command.cs

@@ -562,6 +562,8 @@ namespace PDF_Master.ViewModels.Tools
                     }
                     else
                     {
+                        //框选注释
+                        PropertyPanel.annotlists = e.AnnotItemsList;
                         bool isDifferentAnnotTyle = AnnotTransfer.IsDifferentTypeAnnots(e.AnnotItemsList);
 
                         if (isDifferentAnnotTyle)
@@ -571,23 +573,6 @@ namespace PDF_Master.ViewModels.Tools
                     }
                 }
             }
-            //else
-            //{
-            //if (StrAnnotToolChecked == "Link")
-            //{
-            //    if (PDFViewer.MouseMode != MouseModes.AnnotCreate)
-            //    {
-            //        if (PDFViewer.MouseMode == MouseModes.PanTool && propertyPanel.IsAddLink == false && propertyPanel.IsLocationLink == false)
-            //        {
-            //            viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null);
-            //        }
-            //    }
-            //}
-            //if (string.IsNullOrWhiteSpace(StrAnnotToolChecked))
-            //{
-            //    viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null);
-            //}
-            //}
         }
 
         /// <summary>
@@ -1009,9 +994,8 @@ namespace PDF_Master.ViewModels.Tools
                     switch (editEvent.EditAction)
                     {
                         case ActionType.Add:
-                            if (annot.EventType == AnnotArgsType.AnnotSquare || annot.EventType == AnnotArgsType.AnnotCircle ||
-                                annot.EventType == AnnotArgsType.AnnotLine || annot.EventType == AnnotArgsType.AnnotStamp ||
-                                annot.EventType == AnnotArgsType.AnnotFreeText || annot.EventType == AnnotArgsType.AnnotSticky/*|| annot.EventType == AnnotArgsType.AnnotFreehand*/)
+                            //多选注释
+                            if (PropertyPanel.IsMultiSelected)
                             {
                                 if (selectAnnotDicts.ContainsKey(editEvent.PageIndex) == false)
                                 {
@@ -1024,10 +1008,25 @@ namespace PDF_Master.ViewModels.Tools
                                 }
                                 isMultiple = true;
                             }
-
-                            //if (viewContentViewModel.OpenBOTA == true && bOTAContent.TabItemAnnotation.IsSelected)
-                            //{
-                            //    AnnotationContentViewModel viewModel = GetAnnotationContentViewModel(bOTAContentViewModel, out AnnotationContent annotation);
+                            else
+                            {
+                                if (annot.EventType == AnnotArgsType.AnnotSquare || annot.EventType == AnnotArgsType.AnnotCircle ||
+                               annot.EventType == AnnotArgsType.AnnotLine || annot.EventType == AnnotArgsType.AnnotStamp ||
+                               annot.EventType == AnnotArgsType.AnnotSticky/*||
+                               annot.EventType == AnnotArgsType.AnnotFreeText ||  annot.EventType == AnnotArgsType.AnnotFreehand*/)
+                                {
+                                    if (selectAnnotDicts.ContainsKey(editEvent.PageIndex) == false)
+                                    {
+                                        selectAnnotDicts.Add(editEvent.PageIndex, new List<int>());
+                                        selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                    }
+                                    else
+                                    {
+                                        selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
+                                    }
+                                    isMultiple = true;
+                                }
+                            }
 
                             if (viewModel != null)
                             {
@@ -1035,7 +1034,6 @@ namespace PDF_Master.ViewModels.Tools
                                 int annotindex = editEvent.AnnotIndex;
                                 viewModel.UpdateAddedAnnot(pageindex, annotindex);
                             }
-                            //}
 
                             //添加书签注释,用于未保存前跟图章手绘注释的区分
                             if (StrAnnotToolChecked == "Signature")
@@ -1052,35 +1050,15 @@ namespace PDF_Master.ViewModels.Tools
 
                         case ActionType.Modify:
 
-                            //             if (annot.EventType == AnnotArgsType.AnnotSquare || annot.EventType == AnnotArgsType.AnnotCircle ||
-                            //annot.EventType == AnnotArgsType.AnnotLine || annot.EventType == AnnotArgsType.AnnotStamp || annot.EventType == AnnotArgsType.AnnotFreeText || annot.EventType == AnnotArgsType.AnnotFreehand)
-                            //             {
-                            //                 if (selectAnnotDicts.ContainsKey(editEvent.PageIndex) == false)
-                            //                 {
-                            //                     selectAnnotDicts.Add(editEvent.PageIndex, new List<int>());
-                            //                     selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
-                            //                 }
-                            //                 else
-                            //                 {
-                            //                     selectAnnotDicts[editEvent.PageIndex].Add(editEvent.AnnotIndex);
-                            //                 }
-                            //                 isMultiple = true;
-                            //             }
-
                             if (viewModel != null)
                             {
                                 int pageindex = editEvent.PageIndex;
                                 int annotindex = editEvent.AnnotIndex;
                                 viewModel.UpdateModifiedAnnot(pageindex, annotindex);
                             }
-                            //}
                             break;
 
                         case ActionType.Del:
-                            //isTabItemAnnotation = IsBOTATabItemShow(out bOTAContentViewModel, out bOTAContent, "TabItemAnnotation");
-                            //if (viewContentViewModel.OpenBOTA == true && bOTAContent.TabItemAnnotation.IsSelected)
-                            //{
-                            //    AnnotationContentViewModel viewModel = GetAnnotationContentViewModel(bOTAContentViewModel, out AnnotationContent annotation);
 
                             if (viewModel != null)
                             {
@@ -1088,7 +1066,6 @@ namespace PDF_Master.ViewModels.Tools
                                 int annotindex = editEvent.AnnotIndex;
                                 viewModel.DeleteModifiedAnnot(pageindex, annotindex);
                             }
-                            //}
                             ExitAnnotationTool();
                             viewContentViewModel.SelectedPrpoertyPanel("PropertyPanelContent", null);
                             break;
@@ -1188,9 +1165,9 @@ namespace PDF_Master.ViewModels.Tools
                 {
                     hoverRect = new Rect(
                    e.PaintRect.Left - 2,
-                   e.PaintRect.Top + 4,
+                   e.PaintRect.Top + 5,
                    e.PaintRect.Width + 4,
-                   e.PaintRect.Height + 4);
+                   e.PaintRect.Height + 2);
                 }
 
                 Pen hoverPen = new Pen(new SolidColorBrush(Color.FromArgb(0xff, 0x11, 0x8A, 0xff)), 1);

+ 8 - 9
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.cs

@@ -206,21 +206,20 @@ namespace PDF_Master.ViewModels.Tools
             dictVar.Add("isTemplateAnnot", false);
             dictVar.Add("isSnapshotEdit", false);
             AnnotHandlerEventArgs annotArgs = null;
-            var tag = annotBtn.Tag.ToString();
-
-            //if (annotBtn.Name == "BtnShowAnnot")
-            //{
-            //    //显示/隐藏注释
-            //    PDFViewer.SetDrawAnnot((bool)annotBtn.IsChecked);
-            //    return;
-            //}
-
+            var tag = annotBtn.Tag.ToString();
+
             if (annotBtn.IsChecked == true)
             {
                 PDFViewer.ToolManager.DisableStickyCreate = false;
                 PropertyPanel.AnnotSelect = StrAnnotToolChecked;
                 PropertyPanel.IsSharpAnnotSelected = true;
                 PropertyPanel.SaveLastAnnot();
+
+                PropertyPanel.annot = null;
+                PropertyPanel.AnnotEvents = null;
+                PropertyPanel.AnnotEvent = null;
+                PropertyPanel.annotlists = null;
+
                 MyToolCheckedDoing(dictVar, tag);
                 FindAnnotTypeKey(tag, ref annotArgs);
 

+ 3 - 0
PDF Office/Views/PropertyPanel/AnnotPanel/StickyNotePopup.xaml.cs

@@ -402,6 +402,9 @@ namespace PDF_Master.Views.PropertyPanel.AnnotPanel
             return StickyText;
         }
 
+        /// <summary>
+        /// 鼠标滚动后,图标消失,弹框消失
+        /// </summary>
         public override void Close()
         {
             //base.Close();