fixed: 常识检测精确到选择位置;空格导致的查找失败.

This commit is contained in:
LittleBoy 2025-01-06 20:22:18 +08:00
parent 94e7327dce
commit 22095404e0
4 changed files with 8 additions and 8 deletions

View File

@ -97,11 +97,11 @@ namespace AIProofread
{
Globals.ThisAddIn.ShowDetection();
// 获取当前选中的选区的首尾段落起始与结束位置
if (start != -1 && end != -1)
if (start == -1 || end == -1)
{
var currectSelectRange = Globals.ThisAddIn.ribbon.currectSelectRange;
start = currectSelectRange.Paragraphs.First.Range.Start;
end = currectSelectRange.Paragraphs.Last.Range.End;
start = currectSelectRange.Start;
end = currectSelectRange.End;
}
var data = JSONObject.Create().Put("start", start).Put("end", end).ToString();
Globals.ThisAddIn.formCommonsenseDetection.SendMessageToWeb("detect-range", data);

View File

@ -638,7 +638,7 @@ namespace AIProofread.Model
int _prev = prevOffset;
bool isDisabled = false;
// 判断查找内容是否在原始数据中,否则直跳过
if(item.Tag != "i" )
if(item.Tag != "i" && item.Origin.Trim().Length > 0)
{
isDisabled = correct.Insert.IndexOf(item.Origin) == -1;
}

View File

@ -573,8 +573,8 @@ namespace AIProofread
private void btnDetectionParagraph_Click(object sender, RibbonControlEventArgs e)
{
// 获取当前选中的选区的首尾段落起始与结束位置
var start = currectSelectRange.Paragraphs.First.Range.Start;
var end = currectSelectRange.Paragraphs.Last.Range.End;
var start = currectSelectRange.Start; // .Paragraphs.First.Range
var end = currectSelectRange.End; // .Paragraphs.Last.Range
var data = JSONObject.Create().Put("start", start).Put("end", end).ToString();
Globals.ThisAddIn.SendMessageToWeb("show-check-range", data);

View File

@ -435,7 +435,7 @@ namespace AIProofread
}
// 直接找
var range1 = document.Range(offset + item.Start, offset + item.End + 1);
if(item.Origin == " " && range1.Text == " " || range1.Text == " ")
if(item.Origin == " " && (range1.Text == " " || range1.Text == " " || range1.Text.Trim().Length == 0))
{
return range1;
}
@ -526,7 +526,7 @@ namespace AIProofread
prevOffset = start;
var range = document.Range(findOffset, findOffset + wordEnd - wordStart + 1);
if (item.Origin == " " && range.Text == " " || range.Text == " ")
if (item.Origin == " " && (range.Text == " " || range.Text == " " || range.Text.Trim().Length == 0))
{
return range;
}