Explorar o código

综合-注释、列表(书签、注释)

OYXH\oyxh hai 1 ano
pai
achega
fa6463f962

+ 35 - 4
PDF Office/ViewModels/BOTA/AnnotationContentViewModel.cs

@@ -174,6 +174,17 @@ namespace PDF_Master.ViewModels.BOTA
             }
         }
 
+        private Visibility isHideAnnotPanelVisibility = Visibility.Collapsed;
+
+        public Visibility IsHideAnnotPanelVisibility
+        {
+            get { return isHideAnnotPanelVisibility; }
+            set
+            {
+                SetProperty(ref isHideAnnotPanelVisibility, value);
+            }
+        }
+
         private ObservableCollection<AnnotationHandlerEventArgs> currentAnnotationArgs = new ObservableCollection<AnnotationHandlerEventArgs>();
         public ObservableCollection<AnnotationHandlerEventArgs> CurrentAnnotationLists { get => currentAnnotationArgs; set => currentAnnotationArgs = value; }
 
@@ -251,6 +262,11 @@ namespace PDF_Master.ViewModels.BOTA
             AnnotationListItems.Clear();
             CurrentAnnotationLists = GetDocumentAnnotionList(out ObservableCollection<AnnotationHandlerEventArgs> HideAnnots);
             AnnotationListItems.AddRange(CurrentAnnotationLists);
+            if (AnnotationListItems.Count <= 0)
+            {
+                IsEmptyPanelVisibility = Visibility.Collapsed;
+                IsHideAnnotPanelVisibility = Visibility.Visible;
+            }
             //IsEmptyPanelVisibility = Visibility.Visible;
         }
 
@@ -1127,7 +1143,6 @@ namespace PDF_Master.ViewModels.BOTA
                 if (composite.Parameter is ListBox listBox)
                 {
                     this.listBox = listBox;
-                    SetGroupHeader(listBox);
                 }
             }
         }
@@ -1151,7 +1166,7 @@ namespace PDF_Master.ViewModels.BOTA
                 ViewContentViewModel = viewContentViewModel;
                 PdfViewer = pdfview;
             }
-
+            SetGroupHeader(listBox);
             KeyEventsHelper.KeyDown -= ShortCut_KeyDown;
             KeyEventsHelper.KeyDown += ShortCut_KeyDown;
             Unicode = App.mainWindowViewModel.SelectedItem.Unicode;
@@ -1251,7 +1266,15 @@ namespace PDF_Master.ViewModels.BOTA
             }
             else
             {
-                IsEmptyPanelVisibility = Visibility.Visible;
+                if (CurrentAnnotationLists.Count <= 0 && HideAnnots.Count > 1)
+                {
+                    IsEmptyPanelVisibility = Visibility.Collapsed;
+                    IsHideAnnotPanelVisibility = Visibility.Visible;
+                }
+                else
+                {
+                    IsEmptyPanelVisibility = Visibility.Visible;
+                }
             }
         }
 
@@ -1496,12 +1519,20 @@ namespace PDF_Master.ViewModels.BOTA
                 //currentAnnotationArgs.AddRange(obsSender);
                 if (obsSender.Count < 1)
                 {
+                    //if (CurrentAnnotationLists.Count <= 0)
+                    //{
+                    //    IsHideAnnotPanelVisibility = Visibility.Visible;
+                    //}
+                    //else
+                    //{
+                    //    IsEmptyPanelVisibility = Visibility.Visible;
+                    //}
                     IsEmptyPanelVisibility = Visibility.Visible;
-                    //currentAnnotationArgs.Clear();
                 }
                 else
                 {
                     IsEmptyPanelVisibility = Visibility.Collapsed;
+                    IsHideAnnotPanelVisibility = Visibility.Collapsed;
                 }
             }
             else

+ 4 - 2
PDF Office/ViewModels/BOTA/BookmarkContentViewModel.cs

@@ -467,8 +467,10 @@ namespace PDF_Master.ViewModels.BOTA
                 IsEmptyPanelVisibility = Visibility.Visible;
                 return;
             }
-
-            Bookmarklist = new ObservableCollection<CPDFBookmark>(PDFViewer.Document.GetBookmarkList().OrderBy(d => d.PageIndex));
+            if (PDFViewer.Document.GetBookmarkList().Count > 0)
+            {
+                Bookmarklist = new ObservableCollection<CPDFBookmark>(PDFViewer.Document.GetBookmarkList().OrderBy(d => d.PageIndex));
+            }
             Bookmarklist.CollectionChanged += Bookmarklist_CollectionChanged;
             if (Bookmarklist.Count < 1)
             {

+ 2 - 2
PDF Office/ViewModels/PropertyPanel/AnnotPanel/FreetextAnnotPropertyViewModel.cs

@@ -445,8 +445,8 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
 
             FontVm.CurrentPresetFont = new ComboDataItem(item.mTag, item.mTagContent);
             SelectedPresetFont();
-            //if (BasicVm.IsMultiSelected == false)
-            //    PropertyPanel.InvokeToMyTools(BasicVm.AnnotType, Annot);
+            if (BasicVm.IsMultiSelected == false)
+                PropertyPanel.InvokeToMyTools(BasicVm.AnnotType, Annot);
         }
 
         private void RestoreDefaultStyle()

+ 2 - 2
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Command.cs

@@ -879,10 +879,10 @@ namespace PDF_Master.ViewModels.Tools
 
                             default:
                                 BtnSelecttoolIsChecked = false;
-                                BtnHandIsChecked = true;
+                                //BtnHandIsChecked = true;
                                 PDFViewer.EnableZoom(true);
                                 PDFViewer.EnableScroll(true);
-
+                                PDFViewer.SetMouseMode(MouseModes.PanTool);
                                 break;
                         }
                     }

+ 1 - 1
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Function.cs

@@ -1228,7 +1228,7 @@ namespace PDF_Master.ViewModels.Tools
             //SnapshotEditMenuViewModel = snapshotEditMenuViewModel;
 
             #endregion to do
-
+            StrAnnotToolChecked = "";
             return snapshotArgs;
         }
 

+ 2 - 0
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.cs

@@ -799,6 +799,8 @@ namespace PDF_Master.ViewModels.Tools
 
                 int index = PDFViewer.CurrentIndex;
                 //检测是否已存在相同数据
+                if (PDFViewer.Document == null) return;
+                if (PDFViewer.Document.GetBookmarkList().Count <= 0) return;
                 CPDFBookmark list = PDFViewer.Document.GetBookmarkList().FirstOrDefault(q => q.PageIndex == index);
                 if (bookmarkContentViewModel != null && bookmark != null && bOTA != null && list != null)
                 {

+ 1 - 0
PDF Office/ViewModels/ViewContentViewModel.cs

@@ -1782,6 +1782,7 @@ namespace PDF_Master.ViewModels
                             {
                                 toolContentViewModel.SnapshotEditMenuViewModel.SnapToolArgs.ReSnapshot();
                                 annotToolContent.BtnSelecttool.IsChecked = false;
+                                PDFViewer.SetMouseMode(MouseModes.PanTool);
                             }
                         }
                     }

+ 17 - 0
PDF Office/Views/BOTA/AnnotationContent.xaml

@@ -184,6 +184,23 @@
                     TextAlignment="Center"
                     TextWrapping="Wrap" />
             </StackPanel>
+            <StackPanel
+                Name="HideAnnotPanel"
+                Grid.ColumnSpan="2"
+                VerticalAlignment="Center"
+                Visibility="{Binding IsHideAnnotPanelVisibility}">
+                <Image
+                    Width="128"
+                    Height="128"
+                    Source="pack://application:,,,/Resources/BOTA/HideAnnot.png" />
+                <TextBlock
+                    Name="txtHideAnnot"
+                    Margin="0,12,0,0"
+                    FontFamily="Segoe UI"
+                    FontSize="16"
+                    Text="{Binding T_EmptyTitle}"
+                    TextAlignment="Center" />
+            </StackPanel>
         </Grid>
         <Border BorderBrush="{StaticResource color.field.border.norm}" BorderThickness="0,0,0,1">
             <Grid

+ 13 - 9
PDF Office/Views/BOTA/BookmarkContent.xaml.cs

@@ -33,7 +33,7 @@ namespace PDF_Master.Views.BOTA
         /// <summary>
         /// 上一个ListBoxItem,为选中状态做准备
         /// </summary>
-        private ListBoxItem histotyListBoxItem = null;
+        public ListBoxItem histotyListBoxItem = null;
 
         private bool isAdd = false;
 
@@ -53,11 +53,10 @@ namespace PDF_Master.Views.BOTA
 
         private void CleanSelectAll(CleanSelectAllArgs obj)
         {
-            
-            foreach (var item in BookMarkListView.SelectedItems)
+            foreach (var item in BookMarkListView.Items)
             {
                 ListViewItem listItem = (ListViewItem)(BookMarkListView.ItemContainerGenerator.ContainerFromItem(item));
-                if(listItem != null)
+                if (listItem != null)
                 {
                     TextBlock textBlock = CommonHelper.FindVisualChild<TextBlock>(listItem);
                     //TextBox text = CommonHelper.FindVisualChild<TextBox>(listItem);
@@ -82,6 +81,7 @@ namespace PDF_Master.Views.BOTA
             ListViewItem listBoxItem = (sender as ListViewItem);
             if (e.LeftButton == MouseButtonState.Pressed)
             {
+                
                 if (e.ClickCount >= 2)
                 {
                     histotyListBoxItem = listBoxItem;
@@ -188,12 +188,13 @@ namespace PDF_Master.Views.BOTA
                 BookMarkListView.ItemContainerGenerator.StatusChanged -= ItemContainerGenerator_StatusChanged;
                 viewModel.LostFocusCommand.Execute(listItem);
 
+                //CleanSelectAll(null);
                 TextBlock textBlock = CommonHelper.FindVisualChild<TextBlock>(listItem);
                 TextBox text = CommonHelper.FindVisualChild<TextBox>(listItem);
 
                 if (textBlock.Visibility != Visibility.Visible)
                 {
-                    if (isAdd == false && isRename == false)
+                    if (isAdd == false || isRename == false)
                     {
                         listItem.IsSelected = false;
                     }
@@ -215,10 +216,13 @@ namespace PDF_Master.Views.BOTA
                 //if (histotyListBoxItem != null)
                 //{
                 //    histotyListBoxItem.IsSelected = false;
-                //    TextBlock textBlock = CommonHelper.FindVisualChild<TextBlock>(histotyListBoxItem);
-                //    textBlock.Visibility = Visibility.Visible;
-                //    textBlock.Focusable = true;
+                //    TextBlock textBlock1 = CommonHelper.FindVisualChild<TextBlock>(histotyListBoxItem);
+                //    textBlock1.Visibility = Visibility.Visible;
+                //    textBlock1.Focusable = true;
                 //}
+
+                //TextBlock textBlock = CommonHelper.FindVisualChild<TextBlock>(listItem);
+                //TextBox text = CommonHelper.FindVisualChild<TextBox>(listItem);
                 //if (textBlock.Visibility == Visibility.Collapsed)
                 //{
                 //    listItem.IsSelected = false;
@@ -353,7 +357,7 @@ namespace PDF_Master.Views.BOTA
                 {
                     TextBox textBox = CommonHelper.FindVisualChild<TextBox>(myListBoxItem);
                     TextBlock textBlock = CommonHelper.FindVisualChild<TextBlock>(myListBoxItem);
-
+                    histotyListBoxItem = myListBoxItem;
                     SetSelectedStatus(myListBoxItem, textBox, textBlock);
                 }
             }