diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo
index 7097101..34196cc 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 f078c38..35f81c5 100644
--- a/AIProofread/Bridge.cs
+++ b/AIProofread/Bridge.cs
@@ -329,7 +329,7 @@ namespace AIProofread
///
///
///
- public void CheckInTrackRevisions(string message,int documentId, string callbackId)
+ public void CheckInTrackRevisions(string message, int documentId, string callbackId)
{
var doc = documentId > 0 ? Globals.ThisAddIn.GetDocumentById(documentId) : Globals.ThisAddIn.ActiveDocument;
@@ -789,17 +789,45 @@ namespace AIProofread
}
// 保存文件
- public string WriteText(string content, string path)
+ public void WriteText(string content, string filename, string callbackId)
{
- try
+ Globals.ThisAddIn.ActiveDocument.RunInMainThread(() =>
{
- File.WriteAllText(path, content);
- return BridgeResult.Success("ok");
- }
- catch (Exception ex)
- {
- return BridgeResult.Error(-1, ex.Message);
- }
+ var json = JSONObject.Create();
+ try
+ {
+ string currentName = Globals.ThisAddIn.Application.ActiveDocument.Name;
+ // 去掉文件名后缀
+ currentName = currentName.Substring(0, currentName.LastIndexOf("."));
+ SaveFileDialog sfd = new SaveFileDialog
+ {
+ // 设置默认文件名
+ FileName = filename,
+ Filter = "文本文件|*.txt"
+ };
+
+ var result = sfd.ShowDialog();
+ // 如果用户取消选择,则返回
+ if (result != DialogResult.Cancel)
+ {
+ if (File.Exists(sfd.FileName))
+ {
+ File.Delete(sfd.FileName);
+ }
+ File.WriteAllText(sfd.FileName, content);
+ json.Put("status", "success");
+ }
+ }
+ catch (Exception ex)
+ {
+ json.Put("status", "error").Put("message", ex.Message);
+ }
+ Globals.ThisAddIn.GlobalCallback(
+ callbackId,
+ json.ToString()
+ );
+ });
+ //
}
///