Ryujinx/src/Ryujinx.Gtk3/UI/Widgets/GameTableContextMenu.Design...

234 lines
8.2 KiB
C#

using Gtk;
using System;
namespace Ryujinx.UI.Widgets
{
public partial class GameTableContextMenu : Menu
{
private MenuItem _openSaveUserDirMenuItem;
private MenuItem _openSaveDeviceDirMenuItem;
private MenuItem _openSaveBcatDirMenuItem;
private MenuItem _manageTitleUpdatesMenuItem;
private MenuItem _manageDlcMenuItem;
private MenuItem _manageCheatMenuItem;
private MenuItem _openTitleModDirMenuItem;
private MenuItem _openTitleSdModDirMenuItem;
private Menu _extractSubMenu;
private MenuItem _extractMenuItem;
private MenuItem _extractRomFsMenuItem;
private MenuItem _extractExeFsMenuItem;
private MenuItem _extractLogoMenuItem;
private Menu _manageSubMenu;
private MenuItem _manageCacheMenuItem;
private MenuItem _purgePtcCacheMenuItem;
private MenuItem _purgeShaderCacheMenuItem;
private MenuItem _openPtcDirMenuItem;
private MenuItem _openShaderCacheDirMenuItem;
private MenuItem _createShortcutMenuItem;
private void InitializeComponent()
{
//
// _openSaveUserDirMenuItem
//
_openSaveUserDirMenuItem = new MenuItem("Open User Save Directory")
{
TooltipText = "Open the directory which contains Application's User Saves.",
};
_openSaveUserDirMenuItem.Activated += OpenSaveUserDir_Clicked;
//
// _openSaveDeviceDirMenuItem
//
_openSaveDeviceDirMenuItem = new MenuItem("Open Device Save Directory")
{
TooltipText = "Open the directory which contains Application's Device Saves.",
};
_openSaveDeviceDirMenuItem.Activated += OpenSaveDeviceDir_Clicked;
//
// _openSaveBcatDirMenuItem
//
_openSaveBcatDirMenuItem = new MenuItem("Open BCAT Save Directory")
{
TooltipText = "Open the directory which contains Application's BCAT Saves.",
};
_openSaveBcatDirMenuItem.Activated += OpenSaveBcatDir_Clicked;
//
// _manageTitleUpdatesMenuItem
//
_manageTitleUpdatesMenuItem = new MenuItem("Manage Title Updates")
{
TooltipText = "Open the Title Update management window",
};
_manageTitleUpdatesMenuItem.Activated += ManageTitleUpdates_Clicked;
//
// _manageDlcMenuItem
//
_manageDlcMenuItem = new MenuItem("Manage DLC")
{
TooltipText = "Open the DLC management window",
};
_manageDlcMenuItem.Activated += ManageDlc_Clicked;
//
// _manageCheatMenuItem
//
_manageCheatMenuItem = new MenuItem("Manage Cheats")
{
TooltipText = "Open the Cheat management window",
};
_manageCheatMenuItem.Activated += ManageCheats_Clicked;
//
// _openTitleModDirMenuItem
//
_openTitleModDirMenuItem = new MenuItem("Open Mods Directory")
{
TooltipText = "Open the directory which contains Application's Mods.",
};
_openTitleModDirMenuItem.Activated += OpenTitleModDir_Clicked;
//
// _openTitleSdModDirMenuItem
//
_openTitleSdModDirMenuItem = new MenuItem("Open Atmosphere Mods Directory")
{
TooltipText = "Open the alternative SD card atmosphere directory which contains the Application's Mods.",
};
_openTitleSdModDirMenuItem.Activated += OpenTitleSdModDir_Clicked;
//
// _extractSubMenu
//
_extractSubMenu = new Menu();
//
// _extractMenuItem
//
_extractMenuItem = new MenuItem("Extract Data")
{
Submenu = _extractSubMenu
};
//
// _extractRomFsMenuItem
//
_extractRomFsMenuItem = new MenuItem("RomFS")
{
TooltipText = "Extract the RomFS section from Application's current config (including updates).",
};
_extractRomFsMenuItem.Activated += ExtractRomFs_Clicked;
//
// _extractExeFsMenuItem
//
_extractExeFsMenuItem = new MenuItem("ExeFS")
{
TooltipText = "Extract the ExeFS section from Application's current config (including updates).",
};
_extractExeFsMenuItem.Activated += ExtractExeFs_Clicked;
//
// _extractLogoMenuItem
//
_extractLogoMenuItem = new MenuItem("Logo")
{
TooltipText = "Extract the Logo section from Application's current config (including updates).",
};
_extractLogoMenuItem.Activated += ExtractLogo_Clicked;
//
// _manageSubMenu
//
_manageSubMenu = new Menu();
//
// _manageCacheMenuItem
//
_manageCacheMenuItem = new MenuItem("Cache Management")
{
Submenu = _manageSubMenu,
};
//
// _purgePtcCacheMenuItem
//
_purgePtcCacheMenuItem = new MenuItem("Queue PPTC Rebuild")
{
TooltipText = "Trigger PPTC to rebuild at boot time on the next game launch.",
};
_purgePtcCacheMenuItem.Activated += PurgePtcCache_Clicked;
//
// _purgeShaderCacheMenuItem
//
_purgeShaderCacheMenuItem = new MenuItem("Purge Shader Cache")
{
TooltipText = "Delete the Application's shader cache.",
};
_purgeShaderCacheMenuItem.Activated += PurgeShaderCache_Clicked;
//
// _openPtcDirMenuItem
//
_openPtcDirMenuItem = new MenuItem("Open PPTC Directory")
{
TooltipText = "Open the directory which contains the Application's PPTC cache.",
};
_openPtcDirMenuItem.Activated += OpenPtcDir_Clicked;
//
// _openShaderCacheDirMenuItem
//
_openShaderCacheDirMenuItem = new MenuItem("Open Shader Cache Directory")
{
TooltipText = "Open the directory which contains the Application's shader cache.",
};
_openShaderCacheDirMenuItem.Activated += OpenShaderCacheDir_Clicked;
//
// _createShortcutMenuItem
//
_createShortcutMenuItem = new MenuItem("Create Application Shortcut")
{
TooltipText = OperatingSystem.IsMacOS() ? "Create a shortcut in macOS's Applications folder that launches the selected Application" : "Create a Desktop Shortcut that launches the selected Application."
};
_createShortcutMenuItem.Activated += CreateShortcut_Clicked;
ShowComponent();
}
private void ShowComponent()
{
_extractSubMenu.Append(_extractExeFsMenuItem);
_extractSubMenu.Append(_extractRomFsMenuItem);
_extractSubMenu.Append(_extractLogoMenuItem);
_manageSubMenu.Append(_purgePtcCacheMenuItem);
_manageSubMenu.Append(_purgeShaderCacheMenuItem);
_manageSubMenu.Append(_openPtcDirMenuItem);
_manageSubMenu.Append(_openShaderCacheDirMenuItem);
Add(_createShortcutMenuItem);
Add(new SeparatorMenuItem());
Add(_openSaveUserDirMenuItem);
Add(_openSaveDeviceDirMenuItem);
Add(_openSaveBcatDirMenuItem);
Add(new SeparatorMenuItem());
Add(_manageTitleUpdatesMenuItem);
Add(_manageDlcMenuItem);
Add(_manageCheatMenuItem);
Add(_openTitleModDirMenuItem);
Add(_openTitleSdModDirMenuItem);
Add(new SeparatorMenuItem());
Add(_manageCacheMenuItem);
Add(_extractMenuItem);
ShowAll();
}
}
}