|
@@ -9,8 +9,10 @@ using PDF_Office.Model;
|
|
|
using PDF_Office.Model.EditTools.Background;
|
|
|
using PDF_Office.Model.EditTools.Watermark;
|
|
|
using PDF_Office.Properties;
|
|
|
+using PDF_Office.ViewModels.Tools;
|
|
|
using PDFSettings;
|
|
|
using Prism.Commands;
|
|
|
+using Prism.Common;
|
|
|
using Prism.Events;
|
|
|
using Prism.Mvvm;
|
|
|
using Prism.Regions;
|
|
@@ -26,7 +28,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
public WatermarkInfo WatermarkInfo = new WatermarkInfo();
|
|
|
|
|
|
- private WatermarkInfo TemplateWatermarkInfo;
|
|
|
+ private WatermarkItem TemplateWatermarkItem;
|
|
|
|
|
|
IEventAggregator eventAggregator;
|
|
|
|
|
@@ -173,7 +175,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _rotationValue, value);
|
|
|
WatermarkInfo.Rotation = ((float)RotationValue / 180) * 3.1415926f;
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -185,7 +191,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _opacityValue, value);
|
|
|
WatermarkInfo.Opacity = (byte)(((float)OpacityValue / 100) * 225);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -207,7 +217,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _vertOffsetValue, value);
|
|
|
WatermarkInfo.VertOffset = float.Parse(VertOffsetValue);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -219,7 +233,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _horizOffsetValue, value);
|
|
|
WatermarkInfo.HorizOffset = float.Parse(HorizOffsetValue);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -231,7 +249,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _verticalSpacingValue, value);
|
|
|
WatermarkInfo.VerticalSpacing = float.Parse(VerticalSpacingValue);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -243,7 +265,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _horizontalSpacingValue, value);
|
|
|
WatermarkInfo.HorizontalSpacing = float.Parse(HorizontalSpacingValue);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -255,7 +281,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _fontSizeSelectedIndex, value);
|
|
|
SetFontSize(FontSizeSelectedIndex);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -267,7 +297,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _fontNameSelectedIndex, value);
|
|
|
SetFontName(FontNameSelectedIndex);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -279,7 +313,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _isFrontSelectedIndex, value);
|
|
|
SetIsFront(IsFrontSelectedIndex);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -291,7 +329,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
SetProperty(ref _isFullValue, value);
|
|
|
WatermarkInfo.Isfull = IsFullValue;
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
private SolidColorBrush _solidColorBrush = null;
|
|
@@ -320,7 +362,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
SetProperty(ref _stringColor, value);
|
|
|
WatermarkInfo.TextColor = EditToolsHelper.ConvertColor(value);
|
|
|
SolidColorBrush = new SolidColorBrush(_stringColor);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
public string _pageRangeText = "0";
|
|
@@ -331,7 +377,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
_pageRangeText = value;
|
|
|
EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -344,7 +394,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
SetProperty(ref _pageRangeSelectIndex, value);
|
|
|
WatermarkInfo.PageRangeIndex = PageRangeSelectIndex;
|
|
|
EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -361,9 +415,12 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
|
|
|
public DelegateCommand<object> TextValueChangedCommand { get; set; }
|
|
|
|
|
|
+ public string Unicode = null;
|
|
|
+
|
|
|
public WatermarkCreateTextContentViewModel(IEventAggregator eventAggregator)
|
|
|
{
|
|
|
this.eventAggregator = eventAggregator;
|
|
|
+ Unicode = App.mainWindowViewModel.SelectedItem.Unicode;
|
|
|
WatermarkInfo.WatermarkType = C_Watermark_Type.WATERMARK_TYPE_TEXT;
|
|
|
ChangeLocationCommand = new DelegateCommand<object>(ChangeLocation);
|
|
|
SelectedColorChangedCommand = new DelegateCommand<object>(ChangedColor);
|
|
@@ -372,12 +429,13 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
InitList();
|
|
|
InitWatermarkInfo();
|
|
|
InitLocationButtonMatrix();
|
|
|
- eventAggregator.GetEvent<SaveWatermarkTemplateEvent>().Subscribe(SaveWatermarkTemplate);
|
|
|
- eventAggregator.GetEvent<ConfirmEditWatermarkTemplateItemEvent>().Subscribe(ConfirmEditWatermarkTemplateItem);
|
|
|
+ eventAggregator.GetEvent<SaveWatermarkTemplateEvent>().Subscribe(SaveWatermarkTemplate, e => e.Unicode == Unicode);
|
|
|
+ eventAggregator.GetEvent<ConfirmEditWatermarkTemplateItemEvent>().Subscribe(ConfirmEditWatermarkTemplateItem, e => e.Unicode == Unicode);
|
|
|
}
|
|
|
|
|
|
- public void SaveWatermarkTemplate(EnumTextOrFile enumTextOrFile)
|
|
|
+ public void SaveWatermarkTemplate(EnumTextOrFileUnicode enumTextOrFileunicode)
|
|
|
{
|
|
|
+ EnumTextOrFile enumTextOrFile = enumTextOrFileunicode.Status;
|
|
|
if (enumTextOrFile == EnumTextOrFile.StatusText)
|
|
|
{
|
|
|
SaveCurrentTemplate();
|
|
@@ -408,6 +466,30 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void ConvertItemToInfo(WatermarkItem watermarkItem, ref WatermarkInfo watermarkInfo)
|
|
|
+ {
|
|
|
+ if (watermarkItem != null)
|
|
|
+ {
|
|
|
+ watermarkInfo.WatermarkType = C_Watermark_Type.WATERMARK_TYPE_TEXT;
|
|
|
+ watermarkInfo.Text = watermarkItem.text;
|
|
|
+ watermarkInfo.TextSize = watermarkItem.fontSize;
|
|
|
+ watermarkInfo.FontName = watermarkItem.fontName;
|
|
|
+ watermarkInfo.TextColor = watermarkItem.textcolor;
|
|
|
+ watermarkInfo.WatermarkHorizalign = watermarkItem.horizalign;
|
|
|
+ watermarkInfo.WatermarkVertalign = watermarkItem.vertalign;
|
|
|
+ watermarkInfo.Isfull = watermarkItem.isFullScreen;
|
|
|
+ watermarkInfo.IsFront = watermarkItem.isfront;
|
|
|
+ watermarkInfo.Opacity = watermarkItem.opacity;
|
|
|
+ watermarkInfo.Rotation = watermarkItem.rotation;
|
|
|
+ watermarkInfo.VertOffset = watermarkItem.vertOffset;
|
|
|
+ watermarkInfo.HorizOffset = watermarkItem.horizOffset;
|
|
|
+ watermarkInfo.VerticalSpacing = watermarkItem.verticalSpacing;
|
|
|
+ watermarkInfo.HorizontalSpacing = watermarkItem.horizontalSpacing;
|
|
|
+ EditToolsHelper.GetPageRange(watermarkItem.pageRangeIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, watermarkItem.pageRange);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public void SaveCurrentTemplate()
|
|
|
{
|
|
@@ -416,7 +498,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
watermarkItem.templateName += Settings.Default.WatermarkIndex.ToString();
|
|
|
Settings.Default.WatermarkTemplateList.Add(watermarkItem);
|
|
|
Settings.Default.Save();
|
|
|
- this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
|
|
|
+ this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(new EnumTemplateListOrCreateUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = EnumTemplateListOrCreate.StatusTemplate
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private void InitLocationButtonMatrix()
|
|
@@ -442,7 +528,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
WatermarkInfo.WatermarkVertalign = (C_Watermark_Vertalign)(int.Parse(args) / 10);
|
|
|
WatermarkInfo.WatermarkHorizalign = (C_Watermark_Horizalign)(int.Parse(args) % 10);
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
InitLocationButtonMatrix();
|
|
|
}
|
|
|
}
|
|
@@ -469,7 +559,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
|
|
|
TextValue = textValue.Text;
|
|
|
WatermarkInfo.Text = TextValue;
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -506,7 +600,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
|
|
|
public void ConfirmEditToolsWatermark()
|
|
|
{
|
|
|
- eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = WatermarkInfo
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private void InitList()
|
|
@@ -543,18 +641,24 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
/// </summary>
|
|
|
public void InitComponentBySelectedInfo()
|
|
|
{
|
|
|
-
|
|
|
+ ConvertItemToInfo(TemplateWatermarkItem, ref WatermarkInfo);
|
|
|
}
|
|
|
|
|
|
- public void ConfirmEditWatermarkTemplateItem(EnumTextOrFile enumTextOrFile)
|
|
|
+ public void ConfirmEditWatermarkTemplateItem(EnumTextOrFileUnicode enumTextOrFileunicode)
|
|
|
{
|
|
|
+ EnumTextOrFile enumTextOrFile = enumTextOrFileunicode.Status;
|
|
|
if (enumTextOrFile == EnumTextOrFile.StatusText)
|
|
|
{
|
|
|
var watermarkItem = new WatermarkItem();
|
|
|
ConvertInfoToItem(ref watermarkItem, WatermarkInfo);
|
|
|
-
|
|
|
- this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
|
|
|
- this.eventAggregator.GetEvent<SaveEditedWatermarkTemplateItemEvent>().Publish(watermarkItem);
|
|
|
+ Settings.Default.WatermarkTemplateList[TemplateWatermarkItem.listIndex] = watermarkItem;
|
|
|
+ Settings.Default.Save();
|
|
|
+ this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(new EnumTemplateListOrCreateUnicode
|
|
|
+ {
|
|
|
+ Unicode = Unicode,
|
|
|
+ Status = EnumTemplateListOrCreate.StatusTemplate
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -571,7 +675,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
|
|
|
EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
|
|
|
- if (navigationContext.Parameters.TryGetValue<WatermarkInfo>("WatermarkInfo", out TemplateWatermarkInfo))
|
|
|
+ if (navigationContext.Parameters.TryGetValue<WatermarkItem>("WatermarkItem", out TemplateWatermarkItem))
|
|
|
{
|
|
|
InitComponentBySelectedInfo();
|
|
|
}
|