BililiveRecorder/BililiveRecorder.WPF/Controls/RoomCard.xaml.cs

76 lines
2.5 KiB
C#
Raw Normal View History

2020-11-27 18:51:02 +08:00
using System;
using System.Diagnostics;
2020-11-27 18:51:02 +08:00
using System.Windows;
using System.Windows.Controls;
using BililiveRecorder.Core;
using BililiveRecorder.WPF.Pages;
2020-11-27 18:51:02 +08:00
2021-05-01 17:57:43 +08:00
#nullable enable
2020-11-27 18:51:02 +08:00
namespace BililiveRecorder.WPF.Controls
{
/// <summary>
/// Interaction logic for RoomCard.xaml
/// </summary>
public partial class RoomCard : UserControl
{
public RoomCard()
{
2021-01-01 14:46:27 +08:00
this.InitializeComponent();
2020-11-27 18:51:02 +08:00
}
2021-05-01 17:57:43 +08:00
public event EventHandler? DeleteRequested;
2020-11-27 18:51:02 +08:00
2021-05-01 17:57:43 +08:00
public event EventHandler? ShowSettingsRequested;
2021-01-01 14:46:27 +08:00
2021-02-23 18:03:37 +08:00
private void MenuItem_StartRecording_Click(object sender, RoutedEventArgs e) => (this.DataContext as IRoom)?.StartRecord();
2020-11-27 18:51:02 +08:00
2021-02-23 18:03:37 +08:00
private void MenuItem_StopRecording_Click(object sender, RoutedEventArgs e) => (this.DataContext as IRoom)?.StopRecord();
2020-11-27 18:51:02 +08:00
2023-08-24 23:08:56 +08:00
#pragma warning disable VSTHRD110 // Observe result of async calls
2021-02-23 18:03:37 +08:00
private void MenuItem_RefreshInfo_Click(object sender, RoutedEventArgs e) => (this.DataContext as IRoom)?.RefreshRoomInfoAsync();
2023-08-24 23:08:56 +08:00
#pragma warning restore VSTHRD110 // Observe result of async calls
2020-11-27 18:51:02 +08:00
2021-02-23 18:03:37 +08:00
private void MenuItem_StartMonitor_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is IRoom room)
room.RoomConfig.AutoRecord = true;
}
2020-11-27 18:51:02 +08:00
2021-02-23 18:03:37 +08:00
private void MenuItem_StopMonitor_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is IRoom room)
room.RoomConfig.AutoRecord = false;
}
2020-11-27 18:51:02 +08:00
2021-01-08 18:54:50 +08:00
private void MenuItem_DeleteRoom_Click(object sender, RoutedEventArgs e) => DeleteRequested?.Invoke(this.DataContext, EventArgs.Empty);
2021-01-01 14:46:27 +08:00
2021-01-08 18:54:50 +08:00
private void MenuItem_ShowSettings_Click(object sender, RoutedEventArgs e) => ShowSettingsRequested?.Invoke(this.DataContext, EventArgs.Empty);
2020-11-27 18:51:02 +08:00
2021-02-23 18:03:37 +08:00
private void Button_Split_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is IRoom room)
room.SplitOutput();
}
private void MenuItem_OpenInBrowser_Click(object sender, RoutedEventArgs e)
{
2021-02-23 18:03:37 +08:00
if (this.DataContext is IRoom r && r is not null)
{
try
{
2021-02-23 18:03:37 +08:00
Process.Start("https://live.bilibili.com/" + r.RoomConfig.RoomId);
}
catch (Exception) { }
}
}
private void MenuItem_ShowGlobalSettings_Click(object sender, RoutedEventArgs e)
{
if (RootPage.SwitchToSettingsPage is Action change)
{
change();
}
}
2020-11-27 18:51:02 +08:00
}
}