3249f8ff41
* Use source generated json serializers in order to improve code trimming * Use strongly typed github releases model to fetch updates instead of raw Newtonsoft.Json parsing * Use separate model for LogEventArgs serialization * Make dynamic object formatter static. Fix string builder pooling. * Do not inherit json version of LogEventArgs from EventArgs * Fix extra space in object formatting * Write log json directly to stream instead of using buffer writer * Rebase fixes * Rebase fixes * Rebase fixes * Enforce block-scoped namespaces in the solution. Convert style for existing code * Apply suggestions from code review Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Rebase indent fix * Fix indent * Delete unnecessary json properties * Rebase fix * Remove overridden json property names as they are handled in the options * Apply suggestions from code review Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Use default json options in github api calls * Indentation and spacing fixes * Fix json serialization * Fix missing JsonConverter for config enums * Add double \n\n after the whole string, not inside join --------- Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
using Gtk;
|
|
using Ryujinx.Common.Utilities;
|
|
using Ryujinx.Ui.Common.Helper;
|
|
using System.Net.Http;
|
|
using System.Net.NetworkInformation;
|
|
using System.Reflection;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Ryujinx.Ui.Windows
|
|
{
|
|
public partial class AboutWindow : Window
|
|
{
|
|
public AboutWindow() : base($"Ryujinx {Program.Version} - About")
|
|
{
|
|
Icon = new Gdk.Pixbuf(Assembly.GetAssembly(typeof(OpenHelper)), "Ryujinx.Ui.Common.Resources.Logo_Ryujinx.png");
|
|
InitializeComponent();
|
|
|
|
_ = DownloadPatronsJson();
|
|
}
|
|
|
|
private async Task DownloadPatronsJson()
|
|
{
|
|
if (!NetworkInterface.GetIsNetworkAvailable())
|
|
{
|
|
_patreonNamesText.Buffer.Text = "Connection Error.";
|
|
}
|
|
|
|
HttpClient httpClient = new HttpClient();
|
|
|
|
try
|
|
{
|
|
string patreonJsonString = await httpClient.GetStringAsync("https://patreon.ryujinx.org/");
|
|
|
|
_patreonNamesText.Buffer.Text = string.Join(", ", JsonHelper.Deserialize(patreonJsonString, CommonJsonContext.Default.StringArray));
|
|
}
|
|
catch
|
|
{
|
|
_patreonNamesText.Buffer.Text = "API Error.";
|
|
}
|
|
}
|
|
|
|
//
|
|
// Events
|
|
//
|
|
private void RyujinxButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://ryujinx.org");
|
|
}
|
|
|
|
private void AmiiboApiButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://amiiboapi.com");
|
|
}
|
|
|
|
private void PatreonButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://www.patreon.com/ryujinx");
|
|
}
|
|
|
|
private void GitHubButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://github.com/Ryujinx/Ryujinx");
|
|
}
|
|
|
|
private void DiscordButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://discordapp.com/invite/N2FmfVc");
|
|
}
|
|
|
|
private void TwitterButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://twitter.com/RyujinxEmu");
|
|
}
|
|
|
|
private void ContributorsButton_Pressed(object sender, ButtonPressEventArgs args)
|
|
{
|
|
OpenHelper.OpenUrl("https://github.com/Ryujinx/Ryujinx/graphs/contributors?type=a");
|
|
}
|
|
}
|
|
} |