Change Comment to english

This commit is contained in:
DB p 2025-03-19 00:09:02 +09:00
parent 4731d8893c
commit aaca0c0a4a
2 changed files with 35 additions and 41 deletions

View file

@ -845,20 +845,20 @@ namespace Flow.Launcher
var animationDuration = TimeSpan.FromMilliseconds(animationLength * 2 / 3);
// ✅ ClockPanel이 표시될 조건 (쿼리 입력 없음 & ContextMenu, History가 닫혀 있음)
// ✅ Conditions for showing ClockPanel (No query input & ContextMenu, History are closed)
bool shouldShowClock = QueryTextBox.Text.Length == 0 &&
ContextMenu.Visibility != Visibility.Visible &&
History.Visibility != Visibility.Visible;
// ✅ 1. ContextMenu가 열리면 즉시 Visibility.Hidden으로 설정 (애니메이션 없이 강제 숨김)
// ✅ 1. When ContextMenu opens, immediately set Visibility.Hidden (force hide without animation)
if (ContextMenu.Visibility == Visibility.Visible)
{
ClockPanel.Visibility = Visibility.Hidden;
ClockPanel.Opacity = 0.0; // 혹시라도 Opacity 애니메이션이 영향을 줄 경우 0으로 설정
ClockPanel.Opacity = 0.0; // Set to 0 in case Opacity animation affects it
return;
}
// ✅ 2. ContextMenu가 닫혔을 때, 쿼리에 글자가 남아 있다면 Hidden 상태 유지 (이전 상태 기억)
// ✅ 2. When ContextMenu is closed, keep it Hidden if there's text in the query (remember previous state)
if (ContextMenu.Visibility != Visibility.Visible && QueryTextBox.Text.Length > 0)
{
ClockPanel.Visibility = Visibility.Hidden;
@ -866,7 +866,7 @@ namespace Flow.Launcher
return;
}
// ✅ 3. ClockPanel을 숨기는 경우 (페이드아웃 애니메이션 적용)
// ✅ 3. When hiding ClockPanel (apply fade-out animation)
if ((!shouldShowClock) && ClockPanel.Visibility == Visibility.Visible && !_isClockPanelAnimating)
{
_isClockPanelAnimating = true;
@ -881,20 +881,20 @@ namespace Flow.Launcher
fadeOut.Completed += (s, e) =>
{
ClockPanel.Visibility = Visibility.Hidden; // ✅ 애니메이션 후 완전히 숨김
ClockPanel.Visibility = Visibility.Hidden; // ✅ Completely hide after animation
_isClockPanelAnimating = false;
};
ClockPanel.BeginAnimation(OpacityProperty, fadeOut);
}
// ✅ 4. ClockPanel을 표시하는 경우 (페이드인 애니메이션 적용)
// ✅ 4. When showing ClockPanel (apply fade-in animation)
else if (shouldShowClock && ClockPanel.Visibility != Visibility.Visible && !_isClockPanelAnimating)
{
_isClockPanelAnimating = true;
Application.Current.Dispatcher.Invoke(() =>
{
ClockPanel.Visibility = Visibility.Visible; // ✅ Visibility를 먼저 Visible로 설정
ClockPanel.Visibility = Visibility.Visible; // ✅ Set Visibility to Visible first
var fadeIn = new DoubleAnimation
{
@ -910,6 +910,7 @@ namespace Flow.Launcher
}
}
private static double GetOpacityFromStyle(Style style, double defaultOpacity = 1.0)
{
if (style == null)

View file

@ -1368,28 +1368,28 @@ namespace Flow.Launcher.ViewModel
}
public void Show()
{
Application.Current.Dispatcher.Invoke(() =>
{
if (Application.Current.MainWindow is MainWindow mainWindow)
{
Application.Current.Dispatcher.Invoke(() =>
{
if (Application.Current.MainWindow is MainWindow mainWindow)
{
// 📌 DWM Cloak 해제 (창을 정상적으로 표시)
Win32Helper.DWMSetCloakForWindow(mainWindow, false);
// 📌 Remove DWM Cloak (Make the window visible normally)
Win32Helper.DWMSetCloakForWindow(mainWindow, false);
// 📌 UI 요소 복원
mainWindow.ClockPanel.Visibility = Visibility.Visible;
//mainWindow.SearchIcon.Visibility = Visibility.Visible;
SearchIconVisibility = Visibility.Visible;
}
// WPF 속성 업데이트
MainWindowVisibility = Visibility.Visible;
MainWindowOpacity = 1;
MainWindowVisibilityStatus = true;
VisibilityChanged?.Invoke(this, new VisibilityChangedEventArgs { IsVisible = true });
});
// 📌 Restore UI elements
mainWindow.ClockPanel.Visibility = Visibility.Visible;
//mainWindow.SearchIcon.Visibility = Visibility.Visible;
SearchIconVisibility = Visibility.Visible;
}
// Update WPF properties
MainWindowVisibility = Visibility.Visible;
MainWindowOpacity = 1;
MainWindowVisibilityStatus = true;
VisibilityChanged?.Invoke(this, new VisibilityChangedEventArgs { IsVisible = true });
});
}
#pragma warning disable VSTHRD100 // Avoid async void methods
public async void Hide()
@ -1406,14 +1406,14 @@ namespace Flow.Launcher.ViewModel
SelectedResults = Results;
}
// 📌 텍스트 초기화 즉시 적용 + UI 강제 업데이트
// 📌 Immediately apply text reset + force UI update
if (Settings.LastQueryMode == LastQueryMode.Empty)
{
ChangeQueryText(string.Empty);
await Task.Delay(1); // 한 프레임 후 UI가 반영되도록 대기
await Task.Delay(1); // Wait for one frame to ensure UI reflects changes
Application.Current.Dispatcher.Invoke(() =>
{
Application.Current.MainWindow.UpdateLayout(); // UI 강제 업데이트
Application.Current.MainWindow.UpdateLayout(); // Force UI update
});
}
@ -1436,17 +1436,9 @@ namespace Flow.Launcher.ViewModel
break;
}
//if (Application.Current.MainWindow is MainWindow mainWindow2)
//{
// IntPtr hWnd = new WindowInteropHelper(mainWindow2).Handle;
// // 📌 Cloak을 사용하지 않고 일반적인 `ShowWindow(SW_HIDE)` 사용 → Mica/Acrylic 유지됨
// ShowWindow(hWnd, SW_HIDE);
//}
if (Application.Current.MainWindow is MainWindow mainWindow)
{
// 📌 아이콘과 시계 Opacity를 0으로 설정하고 Visibility.Hidden 적용
// 📌 Set Opacity of icon and clock to 0 and apply Visibility.Hidden
Application.Current.Dispatcher.Invoke(() =>
{
mainWindow.ClockPanel.Opacity = 0;
@ -1455,23 +1447,24 @@ namespace Flow.Launcher.ViewModel
//mainWindow.SearchIcon.Visibility = Visibility.Hidden;
SearchIconVisibility = Visibility.Hidden;
// 강제 UI 업데이트
// Force UI update
mainWindow.ClockPanel.UpdateLayout();
mainWindow.SearchIcon.UpdateLayout();
}, DispatcherPriority.Render);
// 📌 DWM Cloak 적용 (창을 완전히 숨김)
// 📌 Apply DWM Cloak (Completely hide the window)
Win32Helper.DWMSetCloakForWindow(mainWindow, true);
}
await Task.Delay(50);
// WPF 속성 업데이트
// Update WPF properties
//MainWindowOpacity = 0;
MainWindowVisibilityStatus = false;
MainWindowVisibility = Visibility.Collapsed;
VisibilityChanged?.Invoke(this, new VisibilityChangedEventArgs { IsVisible = false });
}
#pragma warning restore VSTHRD100 // Avoid async void methods
/// <summary>