Selaa lähdekoodia

文本注释--本地缓存修改

OYXH\oyxh 1 vuosi sitten
vanhempi
commit
0617abba6e

+ 82 - 25
PDF Office/Model/PropertyPanel/AnnotPanel/FontStyleItem.cs

@@ -19,9 +19,12 @@ namespace PDF_Master.Model.PropertyPanel.AnnotPanel
             List<PresetFontItem> cacheTempList = new List<PresetFontItem>();
 
             if (Settings.Default.PresetFontList == null)
-                Settings.Default.PresetFontList = new PresetFontList();
+                Settings.Default.PresetFontList = new PresetFontList();
+
+            if (Settings.Default.PreinstallFontList == null)
+                Settings.Default.PreinstallFontList = new PreinstallFontList();
 
-            if (Settings.Default.PresetFontList.Count == 0)
+            if (Settings.Default.PreinstallFontList.Count == 0/*Settings.Default.PresetFontList.Count == 0*/ )
             {
                 cacheTempList = GetPresetFontStyle();
                 foreach (var cacheItem in cacheTempList)
@@ -34,23 +37,66 @@ namespace PDF_Master.Model.PropertyPanel.AnnotPanel
                     newItem.mFontSize = cacheItem.mFontSize;
                     newItem.mFontFamily = cacheItem.mFontFamily;
                     Settings.Default.PresetFontList.Add(newItem);
+
+                    var newItem1 = new PreinstallItem();
+                    newItem1.mTag = cacheItem.mTag;
+                    newItem1.mTagContent = cacheItem.mTagContent;
+                    newItem1.mFontStyle = cacheItem.mFontStyle.ToString();
+                    newItem1.mFontWeight = cacheItem.mFontWeight.ToString();
+                    newItem1.mFontSize = cacheItem.mFontSize;
+                    newItem1.mFontFamily = cacheItem.mFontFamily.Source;
+                    Settings.Default.PreinstallFontList.Add(newItem1);
                 }
 
                 Settings.Default.Save();
             }
             else
             {
-                foreach (var item in Settings.Default.PresetFontList)
-                {
+                foreach (var item in Settings.Default.PreinstallFontList)
+                {
                     var newItem = new PresetFontItem();
                     newItem.mTag = item.mTag;
                     newItem.mTagContent = item.mTagContent;
-                    newItem.mFontStyle = item.mFontStyle;
-                    newItem.mFontWeight = item.mFontWeight;
+                    switch (item.mFontStyle)
+                    {
+                        case "Normal":
+                            newItem.mFontStyle = FontStyles.Normal;
+                            break;
+
+                        case "Italic":
+                            newItem.mFontStyle = FontStyles.Italic;
+                            break;
+
+                        case "Oblique":
+                            newItem.mFontStyle = FontStyles.Oblique;
+                            break;
+                    }
+                    switch (item.mFontWeight)
+                    {
+                        case "Bold":
+                            newItem.mFontWeight = FontWeights.Bold;
+                            break;
+
+                        case "Normal":
+                            newItem.mFontWeight = FontWeights.Normal;
+                            break;
+                    }
                     newItem.mFontSize = item.mFontSize;
-                    newItem.mFontFamily = item.mFontFamily;
-                    cacheTempList.Add(newItem);
+                    newItem.mFontFamily = new FontFamily(item.mFontFamily);
+
+                    cacheTempList.Add(newItem);
                 }
+                //foreach (var item in Settings.Default.PresetFontList)
+                //{
+                //    var newItem = new PresetFontItem();
+                //    newItem.mTag = item.mTag;
+                //    newItem.mTagContent = item.mTagContent;
+                //    newItem.mFontStyle = item.mFontStyle;
+                //    newItem.mFontWeight = item.mFontWeight;
+                //    newItem.mFontSize = item.mFontSize;
+                //    newItem.mFontFamily = item.mFontFamily;
+                //    cacheTempList.Add(newItem);
+                //}
             }
 
             return cacheTempList;
@@ -62,28 +108,39 @@ namespace PDF_Master.Model.PropertyPanel.AnnotPanel
             if (list == null) return;
 
             if (Settings.Default.PresetFontList == null)
-                Settings.Default.PresetFontList = new PresetFontList();
-
+                Settings.Default.PresetFontList = new PresetFontList();
+
+            if (Settings.Default.PreinstallFontList == null)
+                Settings.Default.PreinstallFontList = new PreinstallFontList();
+
             bool isCanSave = false;
             List<PresetFontItem> TempLists = new List<PresetFontItem>();
 
             foreach (var item in list)
             {
-                var cacheItem = Settings.Default.PresetFontList.FirstOrDefault(temp => temp.mTag == item.mTag);
+                var cacheItem = Settings.Default.PreinstallFontList.FirstOrDefault(temp => temp.mTag == item.mTag);
                 if (cacheItem != null)
                 {
-                    if (cacheItem.mFontFamily.Source != item.mFontFamily.Source ||
+                    if (cacheItem.mFontFamily != item.mFontFamily.Source ||
                        cacheItem.mFontSize != item.mFontSize ||
-                       cacheItem.mFontStyle != item.mFontStyle ||
-                       cacheItem.mFontWeight != item.mFontWeight
+                       cacheItem.mFontStyle != item.mFontStyle.ToString() ||
+                       cacheItem.mFontWeight != item.mFontWeight.ToString()
                         )
                     {
                         isCanSave = true;
-                        var index = Settings.Default.PresetFontList.FindIndex(temp => temp.mTag == cacheItem.mTag);
+                        var index = Settings.Default.PreinstallFontList.FindIndex(temp => temp.mTag == cacheItem.mTag);
                         if (index != -1)
                         {
-                            Settings.Default.PresetFontList.Remove(cacheItem);
-                            Settings.Default.PresetFontList.Insert(index, item);
+                            Settings.Default.PreinstallFontList.Remove(cacheItem);
+
+                            var newItem1 = new PreinstallItem();
+                            newItem1.mTag = item.mTag;
+                            newItem1.mTagContent = item.mTagContent;
+                            newItem1.mFontStyle = item.mFontStyle.ToString();
+                            newItem1.mFontWeight = item.mFontWeight.ToString();
+                            newItem1.mFontSize = item.mFontSize;
+                            newItem1.mFontFamily = item.mFontFamily.Source;
+                            Settings.Default.PreinstallFontList.Insert(index, newItem1);
                         }
                         //cacheItem.mFontFamily = new FontFamily(item.mFontFamily.Source);
                         //cacheItem.mFontSize = item.mFontSize;
@@ -93,16 +150,16 @@ namespace PDF_Master.Model.PropertyPanel.AnnotPanel
                         break;
                     }
                 }
-                else
-                {
-                    TempLists.Add(item);
-                }
+                //else
+                //{
+                //    TempLists.Add(item);
+                //}
             }
 
-            foreach (var itemTemp in TempLists)
-            {
-                Settings.Default.PresetFontList.Add(itemTemp);
-            }
+            //foreach (var itemTemp in TempLists)
+            //{
+            //    Settings.Default.PresetFontList.Add(itemTemp);
+            //}
 
             if (isCanSave)
                 Settings.Default.Save();

+ 12 - 1
PDF Office/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace PDF_Master.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -294,5 +294,16 @@ namespace PDF_Master.Properties {
                 this["IsNewInViewContent"] = value;
             }
         }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        public global::PDFSettings.PreinstallFontList PreinstallFontList {
+            get {
+                return ((global::PDFSettings.PreinstallFontList)(this["PreinstallFontList"]));
+            }
+            set {
+                this["PreinstallFontList"] = value;
+            }
+        }
     }
 }

+ 3 - 0
PDF Office/Properties/Settings.settings

@@ -74,5 +74,8 @@
     <Setting Name="IsNewInViewContent" Type="System.Boolean" Scope="User">
       <Value Profile="(Default)">True</Value>
     </Setting>
+    <Setting Name="PreinstallFontList" Type="PDFSettings.PreinstallFontList" Scope="User">
+      <Value Profile="(Default)" />
+    </Setting>
   </Settings>
 </SettingsFile>

+ 3 - 1
PDF Office/ViewModels/PropertyPanel/AnnotPanel/FreetextAnnotPropertyViewModel.cs

@@ -683,7 +683,9 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
                         FontVm.GetFontWeights_Style(currentItem.mFontStyle, currentItem.mFontWeight);
 
                         FontVm.CurrentPresetFont = new ComboDataItem(defaulItem.mTag, defaulItem.mTagContent);
-                        SelectedPresetFont();
+                        SelectedPresetFont();
+                        //更改后 保存到本地缓存
+                        TextFont.SavePresetFontList(FontVm.PresetFontList);
                     }
                 }
             }

+ 13 - 2
PDFSettings/PresetFontList.cs

@@ -10,7 +10,6 @@ namespace PDFSettings
 {
     public class PresetFontList : List<PresetFontItem>
     {
-
     }
 
     public class PresetFontItem
@@ -21,7 +20,19 @@ namespace PDFSettings
         public FontFamily mFontFamily { get; set; }
         public FontStyle mFontStyle { get; set; }
         public FontWeight mFontWeight { get; set; }
+    }
 
+    public class PreinstallFontList : List<PreinstallItem>
+    {
     }
 
-}
+    public class PreinstallItem
+    {
+        public string mTag { get; set; }
+        public string mTagContent { get; set; }
+        public int mFontSize { get; set; }
+        public string mFontFamily { get; set; }
+        public string mFontStyle { get; set; }
+        public string mFontWeight { get; set; }
+    }
+}