|
@@ -4,6 +4,7 @@ using ComPDFKitViewer.PdfViewer;
|
|
|
using Microsoft.Win32;
|
|
|
using PDF_Office.Model;
|
|
|
using PDF_Office.Model.AnnotPanel;
|
|
|
+using PDF_Office.Properties;
|
|
|
using Prism.Commands;
|
|
|
using Prism.Mvvm;
|
|
|
using Prism.Regions;
|
|
@@ -33,6 +34,28 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
|
|
|
dialogs = dialogService;
|
|
|
ShowDialogCommand = new DelegateCommand(ShowDialog);
|
|
|
SignatureList = new ObservableCollection<Signature>();
|
|
|
+ LoadSettings();
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 加载缓存的签名
|
|
|
+ /// </summary>
|
|
|
+ private void LoadSettings()
|
|
|
+ {
|
|
|
+ PDFSettings.SignatureList items = Settings.Default.SignatureList;
|
|
|
+ if (items != null)
|
|
|
+ {
|
|
|
+ for (int i = 0; i < items.Count; i++)
|
|
|
+ {
|
|
|
+ Signature customStamp = new Signature();
|
|
|
+ customStamp.SourcePath = items[i].SourcePath;
|
|
|
+ customStamp.DrawingPath = items[i].DrawingPath;
|
|
|
+ customStamp.inkThickness= items[i].inkThickness;
|
|
|
+ customStamp.inkColor= items[i].inkColor;
|
|
|
+ customStamp.Type = (SignatureType)items[i].Type;
|
|
|
+ SignatureList.Add(customStamp);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
public void SetSignature(Signature signature)
|
|
|
{
|
|
@@ -52,7 +75,7 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
|
|
|
case SignatureType.Drawing:
|
|
|
{
|
|
|
StampAnnotArgs stampArgs = new StampAnnotArgs();
|
|
|
- stampArgs.SetInkData(GetPoints(signature.DrawingPath), signature.DrawingAttributesObject.Width, signature.DrawingAttributesObject.Color);
|
|
|
+ stampArgs.SetInkData(GetPoints(signature.DrawingPath), signature.inkThickness, signature.inkColor);
|
|
|
PDFViewer.SetMouseMode(MouseModes.AnnotCreate);
|
|
|
PDFViewer.SetToolParam(stampArgs);
|
|
|
}
|
|
@@ -129,8 +152,25 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
|
|
|
}
|
|
|
Signature.DrawingPath = viewModel.DrawingSaveToPath;
|
|
|
Signature.Type = (SignatureType)viewModel.TabItemIndex;
|
|
|
- Signature.DrawingAttributesObject = viewModel.DrawingAttributeObject;
|
|
|
+ Signature.inkThickness = viewModel.DrawingAttributeObject.Width;
|
|
|
+ Signature.inkColor = viewModel.DrawingAttributeObject.Color;
|
|
|
SignatureList.Add(Signature);
|
|
|
+
|
|
|
+ //缓存数据
|
|
|
+ PDFSettings.SignatureList stamps = Settings.Default.SignatureList;
|
|
|
+ if (stamps == null)
|
|
|
+ {
|
|
|
+ stamps = Settings.Default.SignatureList = new PDFSettings.SignatureList();
|
|
|
+ }
|
|
|
+
|
|
|
+ PDFSettings.SignatureItem signature = new PDFSettings.SignatureItem();
|
|
|
+ signature.DrawingPath = Signature.DrawingPath;
|
|
|
+ signature.SourcePath = Signature.SourcePath;
|
|
|
+ signature.inkThickness = Signature.inkThickness;
|
|
|
+ signature.inkColor = Signature.inkColor;
|
|
|
+ signature.Type = (PDFSettings.SignatureType)Signature.Type;
|
|
|
+ stamps.Add(signature);
|
|
|
+ Settings.Default.Save();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -186,9 +226,12 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
|
|
|
if (!string.IsNullOrEmpty(Item.DrawingPath))
|
|
|
{
|
|
|
App.CachePath.AddToDeleteFiles(Item.DrawingPath);
|
|
|
-
|
|
|
}
|
|
|
SignatureList.RemoveAt(index);
|
|
|
+
|
|
|
+ PDFSettings.SignatureList signature = Settings.Default.SignatureList;
|
|
|
+ signature.RemoveAt(index);
|
|
|
+ Settings.Default.Save();
|
|
|
}
|
|
|
public void DeleteAll()
|
|
|
{
|
|
@@ -199,10 +242,13 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
|
|
|
if (!string.IsNullOrEmpty(item.DrawingPath))
|
|
|
{
|
|
|
App.CachePath.AddToDeleteFiles(item.DrawingPath);
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
SignatureList.Clear();
|
|
|
+
|
|
|
+ PDFSettings.SignatureList signature = Settings.Default.SignatureList;
|
|
|
+ signature.Clear();
|
|
|
+ Settings.Default.Save();
|
|
|
}
|
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
|
{
|