Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
55557525b1 | ||
|
7e6342e44d | ||
|
c3555cb5d6 |
@@ -14,7 +14,7 @@
|
||||
"MenuBarFileOpenEmuFolder": "Open Ryujinx Folder",
|
||||
"MenuBarFileOpenLogsFolder": "Open Logs Folder",
|
||||
"MenuBarFileExit": "_Exit",
|
||||
"MenuBarOptions": "Options",
|
||||
"MenuBarOptions": "_Options",
|
||||
"MenuBarOptionsToggleFullscreen": "Toggle Fullscreen",
|
||||
"MenuBarOptionsStartGamesInFullscreen": "Start Games in Fullscreen Mode",
|
||||
"MenuBarOptionsStopEmulation": "Stop Emulation",
|
||||
@@ -30,7 +30,7 @@
|
||||
"MenuBarToolsManageFileTypes": "Manage file types",
|
||||
"MenuBarToolsInstallFileTypes": "Install file types",
|
||||
"MenuBarToolsUninstallFileTypes": "Uninstall file types",
|
||||
"MenuBarHelp": "Help",
|
||||
"MenuBarHelp": "_Help",
|
||||
"MenuBarHelpCheckForUpdates": "Check for Updates",
|
||||
"MenuBarHelpAbout": "About",
|
||||
"MenuSearch": "Search...",
|
||||
|
@@ -12,6 +12,11 @@
|
||||
Click="ToggleFavorite_Click"
|
||||
Header="{locale:Locale GameListContextMenuToggleFavorite}"
|
||||
ToolTip.Tip="{locale:Locale GameListContextMenuToggleFavoriteToolTip}" />
|
||||
<MenuItem
|
||||
Click="CreateApplicationShortcut_Click"
|
||||
Header="{locale:Locale GameListContextMenuCreateShortcut}"
|
||||
IsEnabled="{Binding CreateShortcutEnabled}"
|
||||
ToolTip.Tip="{locale:Locale GameListContextMenuCreateShortcutToolTip}" />
|
||||
<Separator />
|
||||
<MenuItem
|
||||
Click="OpenUserSaveDirectory_Click"
|
||||
@@ -82,9 +87,4 @@
|
||||
Header="{locale:Locale GameListContextMenuExtractDataLogo}"
|
||||
ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataLogoToolTip}" />
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
Click="CreateApplicationShortcut_Click"
|
||||
Header="{locale:Locale GameListContextMenuCreateShortcut}"
|
||||
IsEnabled="{Binding CreateShortcutEnabled}"
|
||||
ToolTip.Tip="{locale:Locale GameListContextMenuCreateShortcutToolTip}" />
|
||||
</MenuFlyout>
|
||||
|
@@ -784,7 +784,7 @@ namespace Ryujinx.Ui.Common.Configuration
|
||||
EnableDiscordIntegration.Value = true;
|
||||
CheckUpdatesOnStart.Value = true;
|
||||
ShowConfirmExit.Value = true;
|
||||
HideCursor.Value = HideCursorMode.Never;
|
||||
HideCursor.Value = HideCursorMode.OnIdle;
|
||||
Graphics.EnableVsync.Value = true;
|
||||
Graphics.EnableShaderCache.Value = true;
|
||||
Graphics.EnableTextureRecompression.Value = false;
|
||||
|
@@ -30,7 +30,7 @@ namespace Ryujinx.Ui.Common.Helper
|
||||
graphic.DrawImage(image, 0, 0, 128, 128);
|
||||
SaveBitmapAsIcon(bitmap, iconPath);
|
||||
|
||||
var shortcut = Shortcut.CreateShortcut(basePath, GetArgsString(basePath, applicationFilePath), iconPath, 0);
|
||||
var shortcut = Shortcut.CreateShortcut(basePath, GetArgsString(applicationFilePath), iconPath, 0);
|
||||
shortcut.StringData.NameString = cleanedAppName;
|
||||
shortcut.WriteToFile(Path.Combine(desktopPath, cleanedAppName + ".lnk"));
|
||||
}
|
||||
@@ -46,16 +46,16 @@ namespace Ryujinx.Ui.Common.Helper
|
||||
image.SaveAsPng(iconPath);
|
||||
|
||||
using StreamWriter outputFile = new(Path.Combine(desktopPath, cleanedAppName + ".desktop"));
|
||||
outputFile.Write(desktopFile, cleanedAppName, iconPath, GetArgsString(basePath, applicationFilePath));
|
||||
outputFile.Write(desktopFile, cleanedAppName, iconPath, $"{basePath} {GetArgsString(applicationFilePath)}");
|
||||
}
|
||||
|
||||
[SupportedOSPlatform("macos")]
|
||||
private static void CreateShortcutMacos(string appFilePath, byte[] iconData, string desktopPath, string cleanedAppName)
|
||||
{
|
||||
string basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AppDomain.CurrentDomain.FriendlyName);
|
||||
string basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Ryujinx");
|
||||
var plistFile = EmbeddedResources.ReadAllText("Ryujinx.Ui.Common/shortcut-template.plist");
|
||||
// Macos .App folder
|
||||
string contentFolderPath = Path.Combine(desktopPath, cleanedAppName + ".app", "Contents");
|
||||
string contentFolderPath = Path.Combine("/Applications", cleanedAppName + ".app", "Contents");
|
||||
string scriptFolderPath = Path.Combine(contentFolderPath, "MacOS");
|
||||
|
||||
if (!Directory.Exists(scriptFolderPath))
|
||||
@@ -69,7 +69,7 @@ namespace Ryujinx.Ui.Common.Helper
|
||||
using StreamWriter scriptFile = new(scriptPath);
|
||||
|
||||
scriptFile.WriteLine("#!/bin/sh");
|
||||
scriptFile.WriteLine(GetArgsString(basePath, appFilePath));
|
||||
scriptFile.WriteLine($"{basePath} {GetArgsString(appFilePath)}");
|
||||
|
||||
// Set execute permission
|
||||
FileInfo fileInfo = new(scriptPath);
|
||||
@@ -125,13 +125,10 @@ namespace Ryujinx.Ui.Common.Helper
|
||||
throw new NotImplementedException("Shortcut support has not been implemented yet for this OS.");
|
||||
}
|
||||
|
||||
private static string GetArgsString(string basePath, string appFilePath)
|
||||
private static string GetArgsString(string appFilePath)
|
||||
{
|
||||
// args are first defined as a list, for easier adjustments in the future
|
||||
var argsList = new List<string>
|
||||
{
|
||||
basePath,
|
||||
};
|
||||
var argsList = new List<string>();
|
||||
|
||||
if (!string.IsNullOrEmpty(CommandLineState.BaseDirPathArg))
|
||||
{
|
||||
@@ -141,7 +138,6 @@ namespace Ryujinx.Ui.Common.Helper
|
||||
|
||||
argsList.Add($"\"{appFilePath}\"");
|
||||
|
||||
|
||||
return String.Join(" ", argsList);
|
||||
}
|
||||
|
||||
|
@@ -211,6 +211,8 @@ namespace Ryujinx.Ui.Widgets
|
||||
_manageSubMenu.Append(_openPtcDirMenuItem);
|
||||
_manageSubMenu.Append(_openShaderCacheDirMenuItem);
|
||||
|
||||
Add(_createShortcutMenuItem);
|
||||
Add(new SeparatorMenuItem());
|
||||
Add(_openSaveUserDirMenuItem);
|
||||
Add(_openSaveDeviceDirMenuItem);
|
||||
Add(_openSaveBcatDirMenuItem);
|
||||
@@ -223,7 +225,6 @@ namespace Ryujinx.Ui.Widgets
|
||||
Add(new SeparatorMenuItem());
|
||||
Add(_manageCacheMenuItem);
|
||||
Add(_extractMenuItem);
|
||||
Add(_createShortcutMenuItem);
|
||||
|
||||
ShowAll();
|
||||
}
|
||||
|
Reference in New Issue
Block a user