|
@@ -76,7 +76,7 @@ namespace PDF_Office.Helper
|
|
|
/// </summary>
|
|
|
public void SetImagePath(string path)
|
|
|
{
|
|
|
- toolItem.Image = path;
|
|
|
+ toolItem.FnImg = path;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -84,8 +84,8 @@ namespace PDF_Office.Helper
|
|
|
/// </summary>
|
|
|
public void SetContent(string fnName,string fnInfo)
|
|
|
{
|
|
|
- toolItem.Title = fnName;
|
|
|
- toolItem.TitleInfo = fnInfo;
|
|
|
+ toolItem.FnName = fnName;
|
|
|
+ toolItem.FnInfo = fnInfo;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -93,8 +93,7 @@ namespace PDF_Office.Helper
|
|
|
/// </summary>
|
|
|
public void SetFnType(PDFFnType fnType)
|
|
|
{
|
|
|
- toolItem.FnType = (int)fnType;
|
|
|
- toolItem.strFnType = Enum.GetName(typeof(PDFFnType), fnType);
|
|
|
+ toolItem.FnType = fnType;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -105,6 +104,8 @@ namespace PDF_Office.Helper
|
|
|
public List<ToolItem> QuickTools = null;
|
|
|
public List<ToolItem> MoreTools = null;
|
|
|
private static PDFToolsHelper pDFToolsHelper;
|
|
|
+
|
|
|
+ public const int QuickToolCount = 8;//快捷工具显示的个数
|
|
|
public static PDFToolsHelper GetInstance()
|
|
|
{
|
|
|
if (pDFToolsHelper == null)
|
|
@@ -127,9 +128,10 @@ namespace PDF_Office.Helper
|
|
|
//Settings.Default.QuickPDFToolsList.Clear();
|
|
|
//Settings.Default.Save();
|
|
|
InitAllTools();
|
|
|
- ContianNewTools();
|
|
|
InitQuickTools();
|
|
|
InitMoreTools();
|
|
|
+
|
|
|
+ // ContianNewTools();
|
|
|
}
|
|
|
|
|
|
private void InitAllTools()
|
|
@@ -258,12 +260,35 @@ namespace PDF_Office.Helper
|
|
|
AllTools.Add(compareDoc.toolItem);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 检查是否为新增工具
|
|
|
+ /// </summary>
|
|
|
private void ContianNewTools()
|
|
|
{
|
|
|
- Settings.Default.AllPDFToolsList.Clear();
|
|
|
+ var cacheList = Settings.Default.AllPDFToolsList;
|
|
|
foreach (var item in AllTools)
|
|
|
{
|
|
|
- Settings.Default.AllPDFToolsList.Add(item);
|
|
|
+ ToolItem toolItem = null;
|
|
|
+ foreach (var cacheItem in cacheList)
|
|
|
+ {
|
|
|
+ var strFnTye = Enum.GetName(typeof(PDFFnType), item.FnType);
|
|
|
+ if (cacheItem.FnTypeStr != strFnTye && cacheItem.IsNewTool == true)
|
|
|
+ {
|
|
|
+ toolItem = item;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(toolItem != null && toolItem.IsNewTool == true)
|
|
|
+ {
|
|
|
+ CacheToolItem cacheTool = new CacheToolItem();
|
|
|
+ cacheTool.IsNewTool = true;
|
|
|
+ cacheTool.ToolTypeId = toolItem.ToolTypeId;
|
|
|
+ cacheTool.ToolTypeStr = Enum.GetName(typeof(PDFToolType), toolItem.ToolType);
|
|
|
+ cacheTool.FnTypeStr = Enum.GetName(typeof(PDFFnType), toolItem.FnType);
|
|
|
+ Settings.Default.AllPDFToolsList.Add(cacheTool);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
Settings.Default.Save();
|
|
|
|
|
@@ -274,66 +299,121 @@ namespace PDF_Office.Helper
|
|
|
/// </summary>
|
|
|
private void InitQuickTools()
|
|
|
{
|
|
|
- var settingQuickToolslist = Settings.Default.QuickPDFToolsList;
|
|
|
|
|
|
- int quickToolCount = 0;
|
|
|
- if (settingQuickToolslist != null && settingQuickToolslist.Count > 0)
|
|
|
+ var cacheList = Settings.Default.AllPDFToolsList;
|
|
|
+
|
|
|
+ if (cacheList == null)
|
|
|
+ cacheList = new AllPDFToolsList();
|
|
|
+
|
|
|
+ if(cacheList.Count > 0)
|
|
|
{
|
|
|
- foreach (var item in AllTools)
|
|
|
+ int currentCount = 0;
|
|
|
+ foreach (var cacheItem in cacheList)
|
|
|
{
|
|
|
- if (quickToolCount == 8)
|
|
|
- break;
|
|
|
-
|
|
|
- var pdfToolItem = settingQuickToolslist.FirstOrDefault(tool => tool.strFnType == item.strFnType);
|
|
|
- if (pdfToolItem != null)
|
|
|
+ if (cacheItem.ToolLayOutType == 1 && currentCount < QuickToolCount)
|
|
|
{
|
|
|
- quickToolCount++;
|
|
|
- pdfToolItem.FnType = item.FnType;
|
|
|
- QuickTools.Add(pdfToolItem);
|
|
|
+ foreach (var allItem in AllTools)
|
|
|
+ {
|
|
|
+ if (cacheItem.FnTypeStr == Enum.GetName(typeof(PDFFnType), allItem.FnType))
|
|
|
+ {
|
|
|
+ allItem.IsQuickTool = true;
|
|
|
+
|
|
|
+ var index = QuickTools.FindIndex(t => t.ToolTypeId > allItem.ToolTypeId);
|
|
|
+ if (index == -1)
|
|
|
+ {
|
|
|
+ allItem.ToolTypeId = cacheItem.ToolTypeId;
|
|
|
+ QuickTools.Add(allItem);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ allItem.ToolTypeId = index;
|
|
|
+ QuickTools.Insert(index, allItem);
|
|
|
+ }
|
|
|
+
|
|
|
+ currentCount++;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (quickToolCount < 8 && AllTools.Count > 8)
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //当所有工具大于等于快捷工具显示的个数时
|
|
|
+ if (AllTools.Count >= QuickToolCount)
|
|
|
{
|
|
|
- var count = 8 - quickToolCount;
|
|
|
- for (int i = count - 1; i < count; i++)
|
|
|
+ for (int i = 0; i < QuickToolCount; i++)
|
|
|
{
|
|
|
+ AllTools[i].ToolTypeId = i;
|
|
|
+ AllTools[i].IsQuickTool = true;
|
|
|
QuickTools.Add(AllTools[i]);
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for (int i = 0; i < AllTools.Count; i++)
|
|
|
+ {
|
|
|
+ AllTools[i].ToolTypeId = i;
|
|
|
+ AllTools[i].IsQuickTool = true;
|
|
|
+ QuickTools.Add(AllTools[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SaveAllTools();
|
|
|
+
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- if (settingQuickToolslist == null)
|
|
|
- Settings.Default.QuickPDFToolsList = new QuickPDFToolsList();
|
|
|
|
|
|
- QuickTools = AllTools.Take(8).ToList<ToolItem>();
|
|
|
|
|
|
- foreach(var item in QuickTools)
|
|
|
- {
|
|
|
- Settings.Default.QuickPDFToolsList.Add(item);
|
|
|
- }
|
|
|
|
|
|
- Settings.Default.Save();
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
+ private void SaveAllTools()
|
|
|
+ {
|
|
|
+ var cacheList = Settings.Default.AllPDFToolsList;
|
|
|
|
|
|
+ foreach (var item in AllTools)
|
|
|
+ {
|
|
|
+ CacheToolItem cacheItem = new CacheToolItem();
|
|
|
+ cacheItem.ToolLayOutType = (item.IsQuickTool == true ? 1 : 0);
|
|
|
+ cacheItem.IsNewTool = item.IsNewTool;
|
|
|
+ cacheItem.ToolTypeId = item.ToolTypeId;
|
|
|
+ cacheItem.ToolTypeStr = Enum.GetName(typeof(PDFToolType), item.ToolType);
|
|
|
+ cacheItem.FnTypeStr = Enum.GetName(typeof(PDFFnType), item.FnType);
|
|
|
+ cacheList.Add(cacheItem);
|
|
|
+ }
|
|
|
+ Settings.Default.Save();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private void InitMoreTools()
|
|
|
{
|
|
|
- List<ToolItem> more = new List<ToolItem>();
|
|
|
+ int currentCount = 0;
|
|
|
+ foreach (var allItem in AllTools)
|
|
|
+ {
|
|
|
+ if (allItem.IsQuickTool == false)
|
|
|
+ {
|
|
|
+ allItem.ToolTypeId = currentCount;
|
|
|
+ MoreTools.Add(allItem);
|
|
|
+ currentCount++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void SaveCacheList()
|
|
|
+ {
|
|
|
+ var cacheLists = Settings.Default.AllPDFToolsList;
|
|
|
+ CacheToolItem cacheItem = null;
|
|
|
foreach (var item in AllTools)
|
|
|
{
|
|
|
- var pdfToolItem = QuickTools.FirstOrDefault(tool => tool.strFnType == item.strFnType);
|
|
|
- if (pdfToolItem == null)
|
|
|
+ cacheItem = cacheLists.Find(t => t.FnTypeStr == Enum.GetName(typeof(PDFFnType), item.FnType));
|
|
|
+ if (cacheItem != null)
|
|
|
{
|
|
|
- more.Add(item);
|
|
|
+ cacheItem.ToolTypeId = item.ToolTypeId;
|
|
|
+ cacheItem.ToolLayOutType = (item.IsQuickTool == true ? 1 : 0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- MoreTools = more;
|
|
|
+ Settings.Default.Save();
|
|
|
}
|
|
|
}
|
|
|
|