diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo
index e918858..e05b1bd 100644
Binary files a/.vs/AIProofread/v17/.suo and b/.vs/AIProofread/v17/.suo differ
diff --git a/AIProofread/Bridge.cs b/AIProofread/Bridge.cs
index 48a509e..f3aa980 100644
--- a/AIProofread/Bridge.cs
+++ b/AIProofread/Bridge.cs
@@ -233,13 +233,17 @@ namespace AIProofread
item.ResetMarkStyle();
}
}
- marks.Clear();
DocumentUtil.ClearProofreadMarks();
}
catch (Exception ex)
{
Logger.Log("ClearAllProofreadMark", ex);
}
+ try
+ {
+ // 清空marks
+ marks.Clear();
+ }catch (Exception) { }
}
public void removeBookmark(string markId)
@@ -416,7 +420,7 @@ namespace AIProofread
// 先滚动到可视区域
//doc.ActiveWindow.ScrollIntoView(mark.Range);
marks[proofreadId].Select();
- Globals.ThisAddIn.SendMessageToWeb("select", proofreadId);
+ //Globals.ThisAddIn.SendMessageToWeb("select", proofreadId);
}
Globals.ThisAddIn.SendMessageToWeb("select_proofread", proofreadId);
}
@@ -438,7 +442,6 @@ namespace AIProofread
//var app = Globals.ThisAddIn.Application;
//var cur = app.Selection;
//
- int aIndex = 0;
foreach (var correct in list)
{
//cur.TypeText(correct.Insert);
@@ -451,16 +454,8 @@ namespace AIProofread
// return it.start + correct.Insert_len;
//}).ToList();
int index = 0;
- if (aIndex++ > 20)
- {
- Console.WriteLine(aIndex);
- }
foreach (var item in correct.Diffs)
{
- if(item.id == 109288)
- {
- Console.WriteLine("xxx");
- }
var mark = AddBookmark(item, index, correct.Sentence_offset, correct.Insert_len, correct.Paragraph_offset);
if (item.tag != "i") index++;
if (mark != null)
@@ -522,7 +517,10 @@ namespace AIProofread
// 判断是否已经存在
if (controls.Contains(markName))
{
- controls.Remove(markName);
+ try
+ {
+ controls.Remove(markName);
+ }catch (Exception) { }
}
Range findRange = null;
if (paragraphIndex > document.Paragraphs.Count) return null;
diff --git a/AIProofread/Config.cs b/AIProofread/Config.cs
index b4d11dd..15f78b0 100644
--- a/AIProofread/Config.cs
+++ b/AIProofread/Config.cs
@@ -8,15 +8,17 @@ namespace AIProofread
public static readonly string APP_NAME = "AI校对王";
public static readonly string APP_VERSION = "1.0.4";
public static bool IS_WPS = false;
+
+ public static readonly string CONFIG_FILE = AppDomain.CurrentDomain.BaseDirectory + "app.json";
#if DEBUG
///
/// 网页访问地址
///
- public static readonly string WEB_PATH = "http://192.168.10.100:5173/";
- public static readonly bool RUN_IN_DEBUG = true;
+ public static string WEB_PATH = "http://192.168.10.100:5173/";
+ public static bool RUN_IN_DEBUG = true;
#else
- public static readonly string WEB_PATH = "https://gm-plugin.gachafun.com/";
- public static readonly bool RUN_IN_DEBUG = false;
+ public static string WEB_PATH = "https://gm-plugin.gachafun.com/";
+ public static bool RUN_IN_DEBUG = false;
#endif
public static readonly string APP_DATA_PATH = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\ai_proofread";
public static readonly string APP_LOG_PATH = APP_DATA_PATH + "\\logs\\";
diff --git a/AIProofread/Controls/ProofreadMainControl.cs b/AIProofread/Controls/ProofreadMainControl.cs
index a9eb303..59bf542 100644
--- a/AIProofread/Controls/ProofreadMainControl.cs
+++ b/AIProofread/Controls/ProofreadMainControl.cs
@@ -36,5 +36,13 @@ namespace AIProofread.Controls
{
return label1.Width;
}
+ public void ResetWeb()
+ {
+ if (!this.web.IsDisposed)
+ {
+ this.web.Stop();
+ this.web.Dispose();
+ }
+ }
}
}
diff --git a/AIProofread/ProofreadItem.cs b/AIProofread/ProofreadItem.cs
index a5f883e..5ca837c 100644
--- a/AIProofread/ProofreadItem.cs
+++ b/AIProofread/ProofreadItem.cs
@@ -93,9 +93,14 @@ namespace UtilLib
public void ResetMarkStyle()
{
if (mark == null) return;
- mark.Range.Font.Size = originSize; // 还原
- //mark.Range.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;
- mark.Range.Shading.BackgroundPatternColor = Microsoft.Office.Interop.Word.WdColor.wdColorAutomatic;
+ if (mark.Range == null) return;
+ try
+ {
+ mark.Range.Font.Size = originSize; // 还原
+ //mark.Range.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;
+ mark.Range.Shading.BackgroundPatternColor = Microsoft.Office.Interop.Word.WdColor.wdColorAutomatic;
+ }
+ catch (Exception) { }
}
public void Process(int status)
diff --git a/AIProofread/Ribbon1.cs b/AIProofread/Ribbon1.cs
index 7793208..27362b6 100644
--- a/AIProofread/Ribbon1.cs
+++ b/AIProofread/Ribbon1.cs
@@ -19,6 +19,11 @@ namespace AIProofread
//btnLogout.Label = "退出\n登录";
Globals.ThisAddIn.ribbon = this;
+ ShowDebug();
+ }
+
+ public void ShowDebug()
+ {
if (Config.RUN_IN_DEBUG)
{
grpDebug.Visible = true;
@@ -118,7 +123,8 @@ namespace AIProofread
private void btnClear_Click(object sender, RibbonControlEventArgs e)
{
- DocumentUtil.ClearProofreadMarks();
+ //DocumentUtil.ClearProofreadMarks();
+ Bridge.bridge.clearAllProofreadMark();
Globals.ThisAddIn.SendMessageToWeb("clear-tips", null);
}
diff --git a/AIProofread/ThisAddIn.cs b/AIProofread/ThisAddIn.cs
index c18adde..9f9906c 100644
--- a/AIProofread/ThisAddIn.cs
+++ b/AIProofread/ThisAddIn.cs
@@ -10,6 +10,7 @@ using System.Threading;
using Microsoft.Office.Interop.Word;
using System.Linq;
using System.Windows.Forms;
+using System.IO;
namespace AIProofread
{
@@ -50,8 +51,12 @@ namespace AIProofread
private void Application_WindowDeactivate(Word.Document doc, Window Wn)
{
- Logger.Log("Application_WindowDeactivate -- " + doc.FullName + " visible:" + currentDocumentTaskPane.Visible);
+ Logger.Log("Application_WindowDeactivate -- " + doc.FullName + " visible:");
//HidePanel(Doc);
+ // 处理wps直接资源管理器新开文档面板闪烁问题
+ //if (IsWPS) {
+ // this.currentDocumentTaskPane.Visible = false;
+ //}
}
private void Application_WindowActivate(Word.Document activeDoc, Window Wn)
@@ -122,6 +127,8 @@ namespace AIProofread
}
if (taskPanels.ContainsKey(doc))
{
+ var control = (ProofreadMainControl)taskPanels[doc].Control;
+ control.ResetWeb();
taskPanels[doc].Visible = false;
taskPanels[doc].Dispose();
taskPanels.Remove(doc);
@@ -227,10 +234,37 @@ namespace AIProofread
// }
//}
+ private void InitAppByConfig()
+ {
+ try
+ {
+ if (File.Exists(Config.CONFIG_FILE))
+ {
+ string content = File.ReadAllText(Config.CONFIG_FILE);
+ Logger.Log("Found app.json " + content);
+ if (content == null || content.Length == 0) return;
+ AppConfig config = JsonConvert.DeserializeObject(content);
+ if (config.AppUrl?.Length > 0)
+ {
+ Config.WEB_PATH = config.AppUrl;
+ }
+ if (config.AppRunInDebug)
+ {
+ Config.RUN_IN_DEBUG = config.AppRunInDebug;
+ if(this.ribbon != null)
+ {
+ this.ribbon.ShowDebug();
+ }
+ }
+ }
+ }catch (Exception) { }
+ }
+
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
try
{
+ InitAppByConfig();
FmainThreadContext = SynchronizationContext.Current;
// 启动地址
applicationStartupPath = System.Windows.Forms.Application.StartupPath;
diff --git a/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache b/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache
index 1e5811c..94f9107 100644
Binary files a/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache and b/AIProofread/obj/Debug/AIProofread.csproj.AssemblyReference.cache differ
diff --git a/AIProofread/obj/Debug/AIProofread.dll b/AIProofread/obj/Debug/AIProofread.dll
index b1bde2a..d4a85fc 100644
Binary files a/AIProofread/obj/Debug/AIProofread.dll and b/AIProofread/obj/Debug/AIProofread.dll differ
diff --git a/AIProofread/obj/Debug/AIProofread.pdb b/AIProofread/obj/Debug/AIProofread.pdb
index 04e6b43..dd80fb8 100644
Binary files a/AIProofread/obj/Debug/AIProofread.pdb and b/AIProofread/obj/Debug/AIProofread.pdb differ
diff --git a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache
index 5cb44f7..dbd6ae7 100644
Binary files a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index df29434..90f79c7 100644
Binary files a/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/AIProofread/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/util-lib/AppConfig.cs b/util-lib/AppConfig.cs
new file mode 100644
index 0000000..8d6ea0a
--- /dev/null
+++ b/util-lib/AppConfig.cs
@@ -0,0 +1,9 @@
+
+namespace UtilLib
+{
+ public class AppConfig
+ {
+ public string AppUrl { get; set; }
+ public bool AppRunInDebug { get; set; }
+ }
+}
diff --git a/util-lib/util-lib.csproj b/util-lib/util-lib.csproj
index 5f8b034..b4772b9 100644
--- a/util-lib/util-lib.csproj
+++ b/util-lib/util-lib.csproj
@@ -52,6 +52,7 @@
+