using System; using System.Globalization; using System.Threading.Tasks; using Cvte.Composition; using Cvte.EasiNote; using BetterEN5.Services; using BetterEN5.UI; namespace BetterEN5 { class Program : dotnetCampus.EasiPlugins.EasiPlugin { private InkAutoSaveService? _autoSaveService; protected override Task OnRunningAsync() { if (!EN.CommandOptions.IsCloud) { if (EN.App.IsReady) Run(); else EN.App.Ready += App_Ready; } return Task.CompletedTask; } private void App_Ready(object? sender, EventArgs e) { EN.App.Ready -= App_Ready; Run(); } private async void Run() { await Task.Delay(TimeSpan.FromSeconds(3)); ExportUIItems(); StartAutoSave(); } private void ExportUIItems() { var manager = Container.Current.Get(); manager.AppendWithLang(new BoardMenuExportInk(), new UIItemAttribute(UIItemPurposes.BoardEditMenu), new[] { new UIItemLangInfo(new CultureInfo("zh-CHS"), "导出墨迹"), new UIItemLangInfo(new CultureInfo("en"), "Export Ink"), }); manager.AppendWithLang(new BoardMenuImportInk(), new UIItemAttribute(UIItemPurposes.BoardEditMenu), new[] { new UIItemLangInfo(new CultureInfo("zh-CHS"), "导入墨迹"), new UIItemLangInfo(new CultureInfo("en"), "Import Ink"), }); manager.AppendWithLang(new BoardMenuSettings(), new UIItemAttribute(UIItemPurposes.BoardEditMenu), new[] { new UIItemLangInfo(new CultureInfo("zh-CHS"), "Better-Seewo 管理"), new UIItemLangInfo(new CultureInfo("en"), "Better-Seewo Manager"), }); manager.AppendWithLang(new HeadToolBarSettings(), new UIItemAttribute(UIItemPurposes.HeadToolBar), new[] { new UIItemLangInfo(new CultureInfo("zh-CHS"), "Better-Seewo"), new UIItemLangInfo(new CultureInfo("en"), "Better-Seewo"), }); } private void StartAutoSave() { _autoSaveService = new InkAutoSaveService(); _ = _autoSaveService.StartAsync(); } } }