Skip to content

Commit

Permalink
fix topmost issues with player menu
Browse files Browse the repository at this point in the history
  • Loading branch information
foglio1024 committed Aug 15, 2023
1 parent f2e2c84 commit 592e114
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions TCC.Core/UI/Controls/Chat/PlayerMenuWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ namespace TCC.UI.Controls.Chat
{
public partial class PlayerMenuWindow
{
private readonly DoubleAnimation _openAnim;
private readonly DoubleAnimation _closeAnim;
readonly DoubleAnimation _openAnim;
readonly DoubleAnimation _closeAnim;

public PlayerMenuWindow([NotNull] PlayerMenuViewModel vm)
{
Expand Down Expand Up @@ -46,9 +46,17 @@ public PlayerMenuWindow([NotNull] PlayerMenuViewModel vm)
FocusManager.HideFromToolBar(handle);
};

FocusManager.ForegroundChanged += OnForegroundChanged;

InitializeComponent();
}

void OnForegroundChanged()
{
if (!IsVisible) return;
Dispatcher.InvokeAsync(Close);
}

public void AnimateOpening()
{
Topmost = false;
Expand All @@ -60,7 +68,7 @@ public void ShowAndPosition()
{
Dispatcher?.InvokeAsync(() =>
{
FocusManager.PauseTopmost = true;
if(!IsVisible) FocusManager.PauseTopmost = true;
var prevLeft = Left;
var prevTop = Top;
User32.GetCursorPos(out var pos);
Expand Down Expand Up @@ -94,54 +102,54 @@ protected override void OnClosing(CancelEventArgs e)
RootBorder.BeginAnimation(OpacityProperty, _closeAnim);
}

private void OnMouseLeave(object sender, MouseEventArgs e)
void OnMouseLeave(object sender, MouseEventArgs e)
{
Close();
}

private void InspectClick(object sender, RoutedEventArgs e)
void InspectClick(object sender, RoutedEventArgs e)
{
Close();
}

private void PartyInviteClick(object sender, RoutedEventArgs e)
void PartyInviteClick(object sender, RoutedEventArgs e)
{
Close();
}

private void GuildInviteClick(object sender, RoutedEventArgs e)
void GuildInviteClick(object sender, RoutedEventArgs e)
{
Close();
}

private void WhisperClick(object sender, RoutedEventArgs e)
void WhisperClick(object sender, RoutedEventArgs e)
{
Close();
}

private void GrantInviteClick(object sender, RoutedEventArgs e)
void GrantInviteClick(object sender, RoutedEventArgs e)
{
Close();
}

private void DelegateLeaderClick(object sender, RoutedEventArgs e)
void DelegateLeaderClick(object sender, RoutedEventArgs e)
{
Close();
}

private void MakeGuildMasterClick(object sender, RoutedEventArgs e)
void MakeGuildMasterClick(object sender, RoutedEventArgs e)
{
Close();
}

private void MoongourdClick(object sender, RoutedEventArgs routedEventArgs)
void MoongourdClick(object sender, RoutedEventArgs routedEventArgs)
{
//var p = MgPopup.Child as MoongourdPopup;
//p?.SetInfo(_vm.Name, App.Settings.LastLanguage);
MgPopup.IsOpen = true;
}

private void FpsUtilsClick(object sender, RoutedEventArgs routedEventArgs)
void FpsUtilsClick(object sender, RoutedEventArgs routedEventArgs)
{
FpsUtilsPopup.IsOpen = true;
}
Expand Down

0 comments on commit 592e114

Please sign in to comment.