aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx/Ui/MainWindow.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx/Ui/MainWindow.cs')
-rw-r--r--Ryujinx/Ui/MainWindow.cs28
1 files changed, 27 insertions, 1 deletions
diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs
index 688e2f52..53a97fb9 100644
--- a/Ryujinx/Ui/MainWindow.cs
+++ b/Ryujinx/Ui/MainWindow.cs
@@ -44,7 +44,6 @@ using System.IO;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
-
using GUI = Gtk.Builder.ObjectAttribute;
using ShaderCacheLoadingState = Ryujinx.Graphics.Gpu.Shader.ShaderCacheState;
@@ -109,6 +108,7 @@ namespace Ryujinx.Ui
[GUI] CheckMenuItem _favToggle;
[GUI] MenuItem _firmwareInstallDirectory;
[GUI] MenuItem _firmwareInstallFile;
+ [GUI] MenuItem _fileTypesSubMenu;
[GUI] Label _fifoStatus;
[GUI] CheckMenuItem _iconToggle;
[GUI] CheckMenuItem _developerToggle;
@@ -220,6 +220,8 @@ namespace Ryujinx.Ui
_pauseEmulation.Sensitive = false;
_resumeEmulation.Sensitive = false;
+ _fileTypesSubMenu.Visible = FileAssociationHelper.IsTypeAssociationSupported;
+
if (ConfigurationState.Instance.Ui.GuiColumns.FavColumn) _favToggle.Active = true;
if (ConfigurationState.Instance.Ui.GuiColumns.IconColumn) _iconToggle.Active = true;
if (ConfigurationState.Instance.Ui.GuiColumns.AppColumn) _appToggle.Active = true;
@@ -1500,6 +1502,30 @@ namespace Ryujinx.Ui
});
}
+ private void InstallFileTypes_Pressed(object sender, EventArgs e)
+ {
+ if (FileAssociationHelper.Install())
+ {
+ GtkDialog.CreateInfoDialog("Install file types", "File types successfully installed!");
+ }
+ else
+ {
+ GtkDialog.CreateErrorDialog("Failed to install file types.");
+ }
+ }
+
+ private void UninstallFileTypes_Pressed(object sender, EventArgs e)
+ {
+ if (FileAssociationHelper.Uninstall())
+ {
+ GtkDialog.CreateInfoDialog("Uninstall file types", "File types successfully uninstalled!");
+ }
+ else
+ {
+ GtkDialog.CreateErrorDialog("Failed to uninstall file types.");
+ }
+ }
+
private void HandleRelaunch()
{
if (_userChannelPersistence.PreviousIndex != -1 && _userChannelPersistence.ShouldRestart)