From 4e15cb0f49e95a0ffd7225c9cd5401c16f7db2f3 Mon Sep 17 00:00:00 2001 From: DB p Date: Sat, 15 Mar 2025 13:26:38 +0900 Subject: [PATCH] Comment cleanup --- Flow.Launcher.Core/Resource/Theme.cs | 100 +++++++-------------------- 1 file changed, 26 insertions(+), 74 deletions(-) diff --git a/Flow.Launcher.Core/Resource/Theme.cs b/Flow.Launcher.Core/Resource/Theme.cs index a2258ea57..f79f9e782 100644 --- a/Flow.Launcher.Core/Resource/Theme.cs +++ b/Flow.Launcher.Core/Resource/Theme.cs @@ -189,7 +189,6 @@ namespace Flow.Launcher.Core.Resource RemoveDropShadowEffectFromCurrentTheme(); if (_settings.UseDropShadowEffect) { - //RemoveDropShadowEffectFromCurrentTheme(); if (BlurEnabled) { SetWindowCornerPreference("Round"); @@ -202,7 +201,6 @@ namespace Flow.Launcher.Core.Resource } else { - //RemoveDropShadowEffectFromCurrentTheme(); if (BlurEnabled) { SetWindowCornerPreference("Default"); @@ -235,39 +233,6 @@ namespace Flow.Launcher.Core.Resource }, DispatcherPriority.Normal); } - - //public void SetCornerForWindow() - //{ - // Application.Current.Dispatcher.Invoke(() => - // { - // var dict = GetThemeResourceDictionary(_settings.Theme); - // if (dict == null) - // return; - - // System.Windows.Window mainWindow = Application.Current.MainWindow; - // if (mainWindow == null) - // return; - - // if (dict.Contains("CornerType") && dict["CornerType"] is string cornerMode) - // { - // DWM_WINDOW_CORNER_PREFERENCE preference = cornerMode switch - // { - // "DoNotRound" => DWM_WINDOW_CORNER_PREFERENCE.DoNotRound, - // "Round" => DWM_WINDOW_CORNER_PREFERENCE.Round, - // "RoundSmall" => DWM_WINDOW_CORNER_PREFERENCE.RoundSmall, - // _ => DWM_WINDOW_CORNER_PREFERENCE.Default, - // }; - - // SetWindowCornerPreference(mainWindow, preference); - // } - // else - // { - // SetWindowCornerPreference(mainWindow, DWM_WINDOW_CORNER_PREFERENCE.Default); - // } - // }, DispatcherPriority.Normal); - //} - - /// /// Sets the blur for a window via SetWindowCompositionAttribute /// @@ -287,14 +252,14 @@ namespace Flow.Launcher.Core.Resource if (mainWindow == null) return; - // ✅ 테마가 블러를 지원하는지 확인 + // Check if the theme supports blur bool hasBlur = dict.Contains("ThemeBlurEnabled") && dict["ThemeBlurEnabled"] is bool b && b; if (!hasBlur) { - _settings.BackdropType = BackdropTypes.None; // 🔥 블러가 없는 테마는 강제 None 처리 + _settings.BackdropType = BackdropTypes.None; } - // ✅ 설정된 BackdropType 확인 + // Check the configured BackdropType int backdropValue = _settings.BackdropType switch { BackdropTypes.Acrylic => 3, // Acrylic @@ -305,7 +270,7 @@ namespace Flow.Launcher.Core.Resource if (BlurEnabled && hasBlur) { - // ✅ Mica 또는 MicaAlt인 경우 배경을 투명하게 설정 + // If the BackdropType is Mica or MicaAlt, set the windowborderstyle's background to transparent if (_settings.BackdropType == BackdropTypes.Mica || _settings.BackdropType == BackdropTypes.MicaAlt) { windowBorderStyle.Setters.Remove(windowBorderStyle.Setters.OfType().FirstOrDefault(x => x.Property.Name == "Background")); @@ -328,7 +293,7 @@ namespace Flow.Launcher.Core.Resource } else { - // ✅ Blur가 비활성화되면 기본 스타일 적용 + // Apply default style when Blur is disabled Methods.SetWindowAttribute(new WindowInteropHelper(mainWindow).Handle, DWMWINDOWATTRIBUTE.DWMWA_SYSTEMBACKDROP_TYPE, 0); ColorizeWindow(GetSystemBG()); } @@ -341,6 +306,7 @@ namespace Flow.Launcher.Core.Resource // Get Background Color from WindowBorderStyle when there not color for BG. + // for theme has not "LightBG" or "DarkBG" case. private Color GetWindowBorderStyleBackground() { var Resources = GetThemeResourceDictionary(_settings.Theme); @@ -389,7 +355,7 @@ namespace Flow.Launcher.Core.Resource Application.Current.Dispatcher.Invoke(() => { - // ✅ 기존 WindowBorderStyle을 복사 + // Copy the existing WindowBorderStyle var previewStyle = new Style(typeof(Border)); if (Application.Current.Resources.Contains("WindowBorderStyle")) { @@ -403,23 +369,19 @@ namespace Flow.Launcher.Core.Resource } } - // ✅ 배경색 적용 (투명도 제거) + // Apply background color (remove transparency in color) + // WPF does not allow the use of an acrylic brush within the window's internal area, + // so transparency effects are not applied to the preview. Color backgroundColor = Color.FromRgb(bgColor.Value.R, bgColor.Value.G, bgColor.Value.B); previewStyle.Setters.Add(new Setter(Border.BackgroundProperty, new SolidColorBrush(backgroundColor))); - // ✅ 블러 테마면 CornerRadius = 5, 비블러 테마면 기존 스타일 유지 + // The blur theme keeps the corner round fixed (applying DWM code to modify it causes rendering issues). + // The non-blur theme retains the previously set WindowBorderStyle. if (BlurEnabled) { previewStyle.Setters.Add(new Setter(Border.CornerRadiusProperty, new CornerRadius(5))); previewStyle.Setters.Add(new Setter(Border.BorderThicknessProperty, new Thickness(1))); } - - // ✅ 기타 설정 추가 - //previewStyle.Setters.Add(new Setter(Border.BorderThicknessProperty, new Thickness(1))); - //previewStyle.Setters.Add(new Setter(Border.UseLayoutRoundingProperty, true)); - //reviewStyle.Setters.Add(new Setter(Border.SnapsToDevicePixelsProperty, true)); - - // ✅ 최종 적용 Application.Current.Resources["PreviewWindowBorderStyle"] = previewStyle; }, DispatcherPriority.Render); } @@ -436,44 +398,42 @@ namespace Flow.Launcher.Core.Resource var mainWindow = Application.Current.MainWindow; if (mainWindow == null) return; - // ✅ 블러 테마인지 확인 + // Check if the theme supports blur bool hasBlur = dict.Contains("ThemeBlurEnabled") && dict["ThemeBlurEnabled"] is bool b && b; - // ✅ SystemBG 값 확인 (Auto, Light, Dark) + // SystemBG value check (Auto, Light, Dark) string systemBG = dict.Contains("SystemBG") ? dict["SystemBG"] as string : "Auto"; // 기본값 Auto - // ✅ 사용자의 ColorScheme 설정 확인 + // Check the user's ColorScheme setting string colorScheme = _settings.ColorScheme; - // ✅ 시스템의 다크 모드 설정 확인 (AppsUseLightTheme 값 읽기) + // Check system dark mode setting (read AppsUseLightTheme value) int themeValue = (int)Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize", "AppsUseLightTheme", 1); bool isSystemDark = themeValue == 0; - // ✅ 최종적으로 사용할 다크 모드 여부 결정 + // Final decision on whether to use dark mode bool useDarkMode = false; if (colorScheme == "Dark" || systemBG == "Dark") { - useDarkMode = true; // 사용자가 강제 다크 모드 선택 + useDarkMode = true; // Dark } else if (colorScheme == "Light" || systemBG == "Light") { - useDarkMode = false; // 사용자가 강제 라이트 모드 선택 + useDarkMode = false; // Light } else if (colorScheme == "System" || systemBG == "Auto") { - useDarkMode = isSystemDark; // 시스템 설정을 따름 + useDarkMode = isSystemDark; // Auto } - - Debug.WriteLine($"[ColorizeWindow] SystemBG: {systemBG}, ColorScheme: {colorScheme}, 시스템 다크 모드 여부: {isSystemDark}, 최종 적용: {useDarkMode}"); - - // ✅ DWM 다크 모드 설정 적용 + + // Apply DWM Dark Mode Methods.SetWindowAttribute(new WindowInteropHelper(mainWindow).Handle, DWMWINDOWATTRIBUTE.DWMWA_USE_IMMERSIVE_DARK_MODE, useDarkMode ? 1 : 0); Color LightBG; Color DarkBG; - // LightBG 값 가져오기 (없으면 WindowBorderStyle의 배경색 사용) + // Retrieve LightBG value (fallback to WindowBorderStyle background color if not found) try { LightBG = dict.Contains("LightBG") ? (Color)dict["LightBG"] : GetWindowBorderStyleBackground(); @@ -483,7 +443,7 @@ namespace Flow.Launcher.Core.Resource LightBG = GetWindowBorderStyleBackground(); } - // DarkBG 값 가져오기 (없으면 LightBG 사용) + // Retrieve DarkBG value (fallback to LightBG if not found) try { DarkBG = dict.Contains("DarkBG") ? (Color)dict["DarkBG"] : LightBG; @@ -493,18 +453,17 @@ namespace Flow.Launcher.Core.Resource DarkBG = LightBG; } - // ✅ ColorScheme과 SystemBG에 맞춰서 배경색 선택 + // Select background color based on ColorScheme and SystemBG Color selectedBG = useDarkMode ? DarkBG : LightBG; ApplyPreviewBackground(selectedBG); - // ✅ Windows 10 테마(HasBlur=False)는 mainWindow.Background를 설정하지 않음 if (!hasBlur) { mainWindow.Background = Brushes.Transparent; } else { - // ✅ 블러 테마일 경우만 배경을 투명하게 설정 + // Only set the background to transparent if the theme supports blur if (_settings.BackdropType == BackdropTypes.Mica || _settings.BackdropType == BackdropTypes.MicaAlt) { mainWindow.Background = new SolidColorBrush(Color.FromArgb(1, 0, 0, 0)); @@ -517,11 +476,6 @@ namespace Flow.Launcher.Core.Resource }, DispatcherPriority.Normal); } - - - - - public bool IsBlurTheme() { if (Environment.OSVersion.Version >= new Version(6, 2)) @@ -785,7 +739,6 @@ namespace Flow.Launcher.Core.Resource public void AddDropShadowEffectToCurrentTheme() { - //SetWindowCornerPreference("Default"); var dict = GetCurrentResourceDictionary(); var windowBorderStyle = dict["WindowBorderStyle"] as Style; @@ -838,7 +791,6 @@ namespace Flow.Launcher.Core.Resource { var dict = GetCurrentResourceDictionary(); - //mainWindow.WindowStyle = WindowStyle.None; var windowBorderStyle = dict["WindowBorderStyle"] as Style; var effectSetter = windowBorderStyle.Setters.FirstOrDefault(setterBase => setterBase is Setter setter && setter.Property == Border.EffectProperty) as Setter;