private void SearchSpace_Loaded(object sender, RoutedEventArgs e) { #if true bool loading = false; // Metadata 로딩 Task.Run(async() => { if (IsMetadataLoaded || StartsLoading) { return; } StartsLoading = true; Profiler.Push("Check metadata exists"); if (!HitomiIndex.Instance.CheckMetadataExist() || Settings.Instance.Hitomi.AutoSync) { //#if !DEBUG // Koromo_Copy.Monitor.Instance.ControlEnable = true; // Koromo_Copy.Monitor.Instance.Push("다운로드가 계속 진행되지 않는다면 이 창에서 Enter키를 눌러주세요"); // Koromo_Copy.Console.Console.Instance.Show(); //#endif Profiler.Push("Start download metadata"); MainWindow.Instance.Fade_MiddlePopup(true, (string)FindResource("msg_download_metadata")); #if true //HitomiIndex.Instance.MetadataDownloadStatusEvent = UpdateDownloadText; await HitomiIndex.Instance.DownloadMetadata(); #endif MainWindow.Instance.FadeOut_MiddlePopup((string)FindResource("msg_download_data_complete"), false); Koromo_Copy.Monitor.Instance.ControlEnable = false; } else { Profiler.Push("Load metadata, hiddendata"); try { HitomiIndex.Instance.Load(); //MainWindow.Instance.Fade_MiddlePopup(false); } catch (Exception ex) { Koromo_Copy.Monitor.Instance.Push($"[Hitomi DataLoad] {ex.Message}\r\n{ex.StackTrace}"); } } if (Settings.Instance.Hitomi.UsingOriginalTitle) { Profiler.Push("Check titles exists"); if (!HitomiTitle.Instance.CheckExist()) { MainWindow.Instance.ModifyText_MiddlePopup((string)FindResource("msg_download_title")); await HitomiTitle.Instance.DownloadTitle(); MainWindow.Instance.FadeOut_MiddlePopup((string)FindResource("msg_download_data_complete"), false); } HitomiTitle.Instance.Load(); HitomiTitle.Instance.ReplaceToOriginTitle(); Koromo_Copy.Monitor.Instance.Push($"Loaded titles: '{HitomiTitle.Instance.Count.ToString("#,#")}' articles."); } MainWindow.Instance.Fade_MiddlePopup(false); Profiler.Push("Rebuild tag data"); HitomiIndex.Instance.RebuildTagData(); if (HitomiIndex.Instance.metadata_collection != null) { Koromo_Copy.Monitor.Instance.Push($"Loaded metadata: '{HitomiIndex.Instance.metadata_collection.Count.ToString("#,#")}' articles."); if (Settings.Instance.Hitomi.UsingOptimization) { HitomiIndex.Instance.OptimizeMetadata(); Koromo_Copy.Monitor.Instance.Push($"Optimize metadata: '{HitomiIndex.Instance.metadata_collection.Count.ToString("#,#")}' articles."); } } GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced); loading = true; }).ContinueWith(t => { if ((IsMetadataLoaded || StartsLoading) && !loading) { return; } TotalProgress.IsIndeterminate = false; TotalProgress.Value = 0; IsMetadataLoaded = true; Storyboard sb = TotalProgress.FindResource("FadeProgressStoryboard") as Storyboard; if (sb != null) { sb.Completed += Sb_Completed; BeginStoryboard(sb); } RecommendSpace.Instance.Update(); if (Koromo_Copy.Version.RequireTidy(System.Reflection.Assembly.GetExecutingAssembly().Location)) { (new PatchNoteWindow()).Show(); //Process.Start("https://github.com/dc-koromo/koromo-copy/blob/master/Document/Update.md"); } Task.Run(() => CheckUpdate()).ContinueWith((x) => ScriptManager.Instance.Initialization()).ContinueWith((x) => SettingViewScript.Instance.Init()); Task.Run(() => DownloaderHelper.LoadOthersAsync()); Task.Run(() => DPIB.Instance.Start()); }, TaskScheduler.FromCurrentSynchronizationContext()); #endif Window w = Window.GetWindow(this); // 이거 지우면 디자이너 오류남 if (w != null) { w.LocationChanged += (object obj, EventArgs args) => { var offset = AutoComplete.HorizontalOffset; AutoComplete.HorizontalOffset = offset + 1; AutoComplete.HorizontalOffset = offset; }; } logic = new AutoCompleteLogic(SearchText, AutoComplete, AutoCompleteList); }