forked from sim0n00ps/OF-DL
77 lines
2.3 KiB
C#
77 lines
2.3 KiB
C#
using Avalonia.Controls;
|
|
using Avalonia.Interactivity;
|
|
using Avalonia.Platform;
|
|
using OF_DL.Gui.Helpers;
|
|
using Serilog;
|
|
|
|
namespace OF_DL.Gui.Views;
|
|
|
|
public partial class AboutWindow : Window
|
|
{
|
|
private const string UnknownValue = "Unknown";
|
|
private const string UnknownToolVersion = "Not detected";
|
|
|
|
public string ProgramVersion { get; }
|
|
public string FfmpegVersion { get; }
|
|
public string FfprobeVersion { get; }
|
|
|
|
public string SourceCodeUrl { get; } = "https://git.ofdl.tools/sim0n00ps/OF-DL";
|
|
public string FfmpegLicenseUrl { get; } = "https://ffmpeg.org/legal.html";
|
|
public string FfprobeLicenseUrl { get; } = "https://ffmpeg.org/legal.html";
|
|
|
|
public AboutWindow()
|
|
: this(UnknownValue, UnknownToolVersion, UnknownToolVersion)
|
|
{
|
|
}
|
|
|
|
public AboutWindow(
|
|
string programVersion,
|
|
string ffmpegVersion,
|
|
string ffprobeVersion)
|
|
{
|
|
ProgramVersion = programVersion;
|
|
FfmpegVersion = ffmpegVersion;
|
|
FfprobeVersion = ffprobeVersion;
|
|
|
|
InitializeComponent();
|
|
Icon = new WindowIcon(AssetLoader.Open(new Uri("avares://OF DL.Gui/Assets/icon.ico")));
|
|
DataContext = this;
|
|
}
|
|
|
|
private async void OnOpenSourceCodeClick(object? sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
await WebLinkHelper.OpenOrCopyAsync(this, SourceCodeUrl, sender as Control);
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Log.Error(exception, "Failed to handle link click event. {ErrorMessage}", exception.Message);
|
|
}
|
|
}
|
|
|
|
private async void OnOpenFfmpegLicenseClick(object? sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
await WebLinkHelper.OpenOrCopyAsync(this, FfmpegLicenseUrl, sender as Control);
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Log.Error(exception, "Failed to handle link click event. {ErrorMessage}", exception.Message);
|
|
}
|
|
}
|
|
|
|
private async void OnOpenFfprobeLicenseClick(object? sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
await WebLinkHelper.OpenOrCopyAsync(this, FfprobeLicenseUrl, sender as Control);
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Log.Error(exception, "Failed to handle link click event. {ErrorMessage}", exception.Message);
|
|
}
|
|
}
|
|
}
|