|
@@ -1723,64 +1723,68 @@ namespace PDF_Master.ViewModels.Tools
|
|
|
|
|
|
if (e.Key == Key.Escape)
|
|
|
{
|
|
|
- PropertyPanel.IsAddLink = false;
|
|
|
- if (PDFViewer.MouseMode == MouseModes.AnnotCreate)
|
|
|
+ if (PropertyPanel != null)
|
|
|
+ PropertyPanel.IsAddLink = false;
|
|
|
+ if (PDFViewer != null)
|
|
|
{
|
|
|
- if (PDFViewer.ToolManager != null && PDFViewer.ToolManager.CurrentAnnotArgs != null)
|
|
|
+ if (PDFViewer.MouseMode == MouseModes.AnnotCreate)
|
|
|
{
|
|
|
- AnnotHandlerEventArgs annotArgs = PDFViewer.ToolManager.CurrentAnnotArgs;
|
|
|
- switch (annotArgs.EventType)
|
|
|
+ if (PDFViewer.ToolManager != null && PDFViewer.ToolManager.CurrentAnnotArgs != null)
|
|
|
{
|
|
|
- case AnnotArgsType.AnnotErase:
|
|
|
- case AnnotArgsType.AnnotLine:
|
|
|
- case AnnotArgsType.AnnotSquare:
|
|
|
- case AnnotArgsType.AnnotCircle:
|
|
|
- case AnnotArgsType.AnnotFreeText:
|
|
|
- //case AnnotArgsType.AnnotSticky:
|
|
|
- Trace.WriteLine(StrAnnotToolChecked);
|
|
|
+ AnnotHandlerEventArgs annotArgs = PDFViewer.ToolManager.CurrentAnnotArgs;
|
|
|
+ switch (annotArgs.EventType)
|
|
|
+ {
|
|
|
+ case AnnotArgsType.AnnotErase:
|
|
|
+ case AnnotArgsType.AnnotLine:
|
|
|
+ case AnnotArgsType.AnnotSquare:
|
|
|
+ case AnnotArgsType.AnnotCircle:
|
|
|
+ case AnnotArgsType.AnnotFreeText:
|
|
|
+ //case AnnotArgsType.AnnotSticky:
|
|
|
+ Trace.WriteLine(StrAnnotToolChecked);
|
|
|
|
|
|
- if (PDFViewer.ToolManager.HasTool)
|
|
|
- {
|
|
|
- PDFViewer.RemoveTool(false);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ExitAnnotationTool();
|
|
|
- }
|
|
|
- break;
|
|
|
+ if (PDFViewer.ToolManager.HasTool)
|
|
|
+ {
|
|
|
+ PDFViewer.RemoveTool(false);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ExitAnnotationTool();
|
|
|
+ }
|
|
|
+ break;
|
|
|
|
|
|
- case AnnotArgsType.AnnotSticky:
|
|
|
- if (PDFViewer.ToolManager.HasTool)
|
|
|
- {
|
|
|
- //PDFViewer.RemoveTool(false);
|
|
|
- events.GetEvent<StickyNoteEvent>().Subscribe(UnStickyNote, q => q.Unicode == Unicode);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ExitAnnotationTool();
|
|
|
- }
|
|
|
- break;
|
|
|
+ case AnnotArgsType.AnnotSticky:
|
|
|
+ if (PDFViewer.ToolManager.HasTool)
|
|
|
+ {
|
|
|
+ //PDFViewer.RemoveTool(false);
|
|
|
+ events.GetEvent<StickyNoteEvent>().Subscribe(UnStickyNote, q => q.Unicode == Unicode);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ExitAnnotationTool();
|
|
|
+ }
|
|
|
+ break;
|
|
|
|
|
|
- case AnnotArgsType.AnnotHighlight:
|
|
|
- case AnnotArgsType.AnnotUnderline:
|
|
|
- case AnnotArgsType.AnnotStrikeout:
|
|
|
- case AnnotArgsType.AnnotStamp:
|
|
|
- case AnnotArgsType.AnnotFreehand:
|
|
|
- case AnnotArgsType.AnnotSelectTool:
|
|
|
- ExitAnnotationTool();
|
|
|
- break;
|
|
|
+ case AnnotArgsType.AnnotHighlight:
|
|
|
+ case AnnotArgsType.AnnotUnderline:
|
|
|
+ case AnnotArgsType.AnnotStrikeout:
|
|
|
+ case AnnotArgsType.AnnotStamp:
|
|
|
+ case AnnotArgsType.AnnotFreehand:
|
|
|
+ case AnnotArgsType.AnnotSelectTool:
|
|
|
+ ExitAnnotationTool();
|
|
|
+ break;
|
|
|
|
|
|
- case AnnotArgsType.AnnotLink:
|
|
|
- ExitAnnotationTool();
|
|
|
+ case AnnotArgsType.AnnotLink:
|
|
|
+ ExitAnnotationTool();
|
|
|
|
|
|
- events.GetEvent<LinkAnnotTipCloseEvent>().Publish(new LinkAnnotTipCloseArgs() { UniCode = App.mainWindowViewModel.SelectedItem.Unicode });
|
|
|
- break;
|
|
|
+ events.GetEvent<LinkAnnotTipCloseEvent>().Publish(new LinkAnnotTipCloseArgs() { UniCode = App.mainWindowViewModel.SelectedItem.Unicode });
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ExitAnnotationTool();
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ExitAnnotationTool();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else if (KeyEventsHelper.IsModifierKey(ModifierKeys.Shift, Key.None))
|
|
@@ -1838,7 +1842,7 @@ namespace PDF_Master.ViewModels.Tools
|
|
|
private void AnnotToolCtrlAltKey()
|
|
|
{
|
|
|
var tuple = GetCtrlAltKey();
|
|
|
- if (tuple != null)
|
|
|
+ if (tuple != null && PDFViewer != null)
|
|
|
{
|
|
|
//进入快捷键时清除选中
|
|
|
PDFViewer.ClearSelectAnnots();
|