sourcegit/src/Views/LauncherPage.axaml.cs
2024-12-13 10:08:26 +08:00

52 lines
1.4 KiB
C#

using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
namespace SourceGit.Views
{
public partial class LauncherPage : UserControl
{
public LauncherPage()
{
InitializeComponent();
}
private void OnPopupSure(object _, RoutedEventArgs e)
{
if (DataContext is ViewModels.LauncherPage page)
page.ProcessPopup();
e.Handled = true;
}
private void OnPopupCancel(object _, RoutedEventArgs e)
{
if (DataContext is ViewModels.LauncherPage page)
page.CancelPopup();
e.Handled = true;
}
private void OnMaskClicked(object sender, PointerPressedEventArgs e)
{
OnPopupCancel(sender, e);
}
private void OnCopyNotification(object sender, RoutedEventArgs e)
{
if (sender is Button { DataContext: Models.Notification notice })
App.CopyText(notice.Message);
e.Handled = true;
}
private void OnDismissNotification(object sender, RoutedEventArgs e)
{
if (sender is Button { DataContext: Models.Notification notice } &&
DataContext is ViewModels.LauncherPage page)
page.Notifications.Remove(notice);
e.Handled = true;
}
}
}