mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-12-12 07:36:59 +00:00
88 lines
2.7 KiB
C#
88 lines
2.7 KiB
C#
using Avalonia.Controls;
|
|
using Ryujinx.Ava.Systems.Configuration;
|
|
using Ryujinx.Ava.Systems.SetupWizard;
|
|
using Ryujinx.Ava.UI.Windows;
|
|
using Ryujinx.Common.Configuration;
|
|
using Ryujinx.Common.Logging;
|
|
using System;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Ryujinx.Ava.UI.SetupWizard
|
|
{
|
|
public partial class RyujinxSetupWizardWindow : StyleableAppWindow
|
|
{
|
|
public static bool IsUsingSetupWizard { get; set; }
|
|
|
|
public RyujinxSetupWizardWindow() : base(useCustomTitleBar: true)
|
|
{
|
|
InitializeComponent();
|
|
|
|
if (Program.PreviewerDetached)
|
|
{
|
|
FlushControls.IsVisible = !ConfigurationState.Instance.ShowOldUI;
|
|
}
|
|
}
|
|
|
|
public static Task ShowAsync(Window owner = null)
|
|
{
|
|
Task windowTask = ShowAsync(
|
|
CreateWindow(out BaseSetupWizard wiz),
|
|
owner ?? RyujinxApp.MainWindow
|
|
);
|
|
_ = wiz.Start();
|
|
return windowTask;
|
|
}
|
|
|
|
public static RyujinxSetupWizardWindow CreateWindow(out BaseSetupWizard setupWizard)
|
|
{
|
|
RyujinxSetupWizardWindow window = new();
|
|
window.DataContext = setupWizard = new RyujinxSetupWizard(window);
|
|
window.Height = 600;
|
|
window.Width = 750;
|
|
return window;
|
|
}
|
|
|
|
public static bool CanShowSetupWizard =>
|
|
!File.Exists(Path.Combine(AppDataManager.BaseDirPath, ".DoNotShowSetupWizard"));
|
|
|
|
public static bool DisableSetupWizard()
|
|
{
|
|
if (!CanShowSetupWizard)
|
|
return false; //cannot disable; file already doesn't exist, so it's disabled.
|
|
|
|
string disableFile = Path.Combine(AppDataManager.BaseDirPath, ".DoNotShowSetupWizard");
|
|
|
|
try
|
|
{
|
|
File.Create(disableFile, 0).Dispose();
|
|
File.SetAttributes(disableFile, File.GetAttributes(disableFile) | FileAttributes.Hidden);
|
|
return true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Logger.Error?.PrintStack(LogClass.Application, e.Message);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static bool EnableSetupWizard()
|
|
{
|
|
if (CanShowSetupWizard)
|
|
return false; //cannot enable; file already exists, so it's enabled.
|
|
|
|
string disableFile = Path.Combine(AppDataManager.BaseDirPath, ".DoNotShowSetupWizard");
|
|
|
|
try
|
|
{
|
|
File.Delete(disableFile);
|
|
return true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Logger.Error?.PrintStack(LogClass.Application, e.Message);
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|