fixed: 修正扩展初始化时面板没有初始化的问题

This commit is contained in:
LittleBoy 2025-04-18 21:26:40 +08:00
parent 7e7718b9e0
commit 3ab356ff26
7 changed files with 49 additions and 19 deletions

Binary file not shown.

View File

@ -20,12 +20,12 @@ Global
Test|Any CPU = Test|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Debug|Any CPU.ActiveCfg = Release_Anno|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Debug|Any CPU.Build.0 = Release_Anno|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Release|Any CPU.Build.0 = Release|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Test|Any CPU.ActiveCfg = Test|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Test|Any CPU.Build.0 = Test|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Test|Any CPU.ActiveCfg = Release_Anno|Any CPU
{6CE536CB-6154-4FDF-9FFE-23A73B4E84AB}.Test|Any CPU.Build.0 = Release_Anno|Any CPU
{455E23BE-F34F-4F6F-A9EA-381D66170B1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{455E23BE-F34F-4F6F-A9EA-381D66170B1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{455E23BE-F34F-4F6F-A9EA-381D66170B1B}.Release|Any CPU.ActiveCfg = Release|Any CPU

View File

@ -577,7 +577,7 @@
<PropertyGroup>
<ManifestCertificateThumbprint>62DF6B414BD2608A130540A801F32D12E0199A99</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Test|AnyCPU'">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Anno|AnyCPU' ">
<OutputPath>bin\Test\</OutputPath>
<DefineConstants>VSTO40;TRACE</DefineConstants>
<Optimize>true</Optimize>
@ -585,7 +585,7 @@
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Test|Win32'">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Anno|Win32' ">
<OutputPath>bin\Win32\Test\</OutputPath>
<DefineConstants>VSTO40</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>

View File

@ -32,10 +32,7 @@ namespace AIProofread
try
{
StreamWriter streamWriter = File.AppendText(path);
streamWriter.WriteLine("***************************[" + tag + "]***************************");
streamWriter.WriteLine("消息:" + message);
streamWriter.WriteLine("时间:" + time);
streamWriter.WriteLine();
streamWriter.WriteLine($"{time} [{tag}]" + message);
streamWriter.Flush();
streamWriter.Close();
streamWriter.Dispose();

View File

@ -102,6 +102,7 @@ namespace AIProofread.Model
/// </summary>
public void ShowPane()
{
CheckPanel();
if (null != TaskPane)
{
TaskPane.Visible = PaneVisible = true;
@ -110,6 +111,7 @@ namespace AIProofread.Model
public void RunInMainThread(Action action)
{
CheckPanel();
if (null != TaskPane)
{
TaskPane.Control.BeginInvoke(action);
@ -914,6 +916,7 @@ namespace AIProofread.Model
public void ExportResult(string modelType)
{
CheckPanel();
TaskPane.Control.BeginInvoke(new Action(() =>
{
DocumentUtil.ExportProofreadResult(modelType);
@ -922,6 +925,7 @@ namespace AIProofread.Model
public void ShowUpgrade(string data, bool force)
{
CheckPanel();
TaskPane.Control.BeginInvoke(new Action(() =>
{
var upgradeData = JsonConvert.DeserializeObject<UpgradeData>(data);
@ -974,7 +978,7 @@ namespace AIProofread.Model
public void ShowSetting()
{
CheckPanel();
TaskPane.Control.BeginInvoke(new Action(() =>
{
FormSetting frm = new FormSetting();
@ -983,6 +987,7 @@ namespace AIProofread.Model
}
public void ShowWebView(string url, int width, int height, bool dialog)
{
CheckPanel();
TaskPane.Control.BeginInvoke(new Action(() =>
{
FormWebView view = new FormWebView(url, width, height);
@ -1019,7 +1024,7 @@ namespace AIProofread.Model
return dic;
}
internal void CheckPanel()
public void CheckPanel()
{
Logger.Log(CurrentDocument.FullName + $" TaskPane visible {PaneVisible} has " + (TaskPane == null ? "null" : "exists"));
if (TaskPane == null) CreateTaskPane();

View File

@ -103,6 +103,19 @@ namespace AIProofread.Model
return documentList.IndexOf(item);
}
public DocumentInfo InitDocument(Document originDocument)
{
var document = Get(originDocument);
// 如果不存在,则添加
if (document == null)
{
document = new DocumentInfo(originDocument);
Add(document);
}
return document;
}
/// <summary>
/// 设置当前激活的文档
/// </summary>
@ -110,14 +123,8 @@ namespace AIProofread.Model
public DocumentInfo SetActiveDocument(Document originDocument)
{
if (originDocument == null) return null;
var document = Get(originDocument);
var document = InitDocument(originDocument);
// 如果不存在,则添加
if (document == null)
{
document = new DocumentInfo(originDocument);
Add(document);
}
if (ActiveDocument == document) return document;
else if (Globals.ThisAddIn.IsWPS)
{

View File

@ -285,6 +285,7 @@ namespace AIProofread
private void AppInitialize()
{
Logger.Log("AppInitialize start... ");
CurrentWordApplication = Application;
// 初始化配置
InitAppByConfig();
@ -308,6 +309,25 @@ namespace AIProofread
Logger.Log("Init WPS Error " + ex.Message);
}
}
// 如果启用直接有文档打开
// 初始化面板
try
{
var docList = CurrentWordApplication.Documents;
if(docList.Count > 0)
{
foreach (Document item in docList)
{
Logger.Log("Init Documentinfo ==> " + item.Name);
var info = documentList.InitDocument(item);
info.CheckPanel();
}
}
}
catch (Exception ex)
{
Logger.Log("Init Documentinfo Error " + ex.Message);
}
string verTextFile = Config.APP_BASE_DIR + Path.GetFileName("app_version.txt");
try
{
@ -317,6 +337,7 @@ namespace AIProofread
{
Logger.Log("Write App Version Error " + ex.Message);
}
}
private void InitAppByConfig()