aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ava')
-rw-r--r--src/Ryujinx.Ava/Assets/Locales/en_US.json2
-rw-r--r--src/Ryujinx.Ava/Ryujinx.Ava.csproj2
-rw-r--r--src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml7
-rw-r--r--src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs11
-rw-r--r--src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs5
5 files changed, 23 insertions, 4 deletions
diff --git a/src/Ryujinx.Ava/Assets/Locales/en_US.json b/src/Ryujinx.Ava/Assets/Locales/en_US.json
index 53e277ba..a67b796b 100644
--- a/src/Ryujinx.Ava/Assets/Locales/en_US.json
+++ b/src/Ryujinx.Ava/Assets/Locales/en_US.json
@@ -72,6 +72,8 @@
"GameListContextMenuExtractDataRomFSToolTip": "Extract the RomFS section from Application's current config (including updates)",
"GameListContextMenuExtractDataLogo": "Logo",
"GameListContextMenuExtractDataLogoToolTip": "Extract the Logo section from Application's current config (including updates)",
+ "GameListContextMenuCreateShortcut": "Create Application Shortcut",
+ "GameListContextMenuCreateShortcutToolTip": "Create a Desktop Shortcut that launches the selected Application",
"StatusBarGamesLoaded": "{0}/{1} Games Loaded",
"StatusBarSystemVersion": "System Version: {0}",
"LinuxVmMaxMapCountDialogTitle": "Low limit for memory mappings detected",
diff --git a/src/Ryujinx.Ava/Ryujinx.Ava.csproj b/src/Ryujinx.Ava/Ryujinx.Ava.csproj
index a4c1ebf1..f0e99f42 100644
--- a/src/Ryujinx.Ava/Ryujinx.Ava.csproj
+++ b/src/Ryujinx.Ava/Ryujinx.Ava.csproj
@@ -145,4 +145,4 @@
<ItemGroup>
<AdditionalFiles Include="Assets\Locales\en_US.json" />
</ItemGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml b/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml
index 93638fc5..d81050f8 100644
--- a/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml
+++ b/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml
@@ -82,4 +82,9 @@
Header="{locale:Locale GameListContextMenuExtractDataLogo}"
ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataLogoToolTip}" />
</MenuItem>
-</MenuFlyout> \ No newline at end of file
+ <MenuItem
+ Click="CreateApplicationShortcut_Click"
+ Header="{locale:Locale GameListContextMenuCreateShortcut}"
+ IsEnabled="{Binding CreateShortcutEnabled}"
+ ToolTip.Tip="{locale:Locale GameListContextMenuCreateShortcutToolTip}" />
+</MenuFlyout>
diff --git a/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs b/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs
index d75572e6..0f007106 100644
--- a/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs
+++ b/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs
@@ -337,6 +337,17 @@ namespace Ryujinx.Ava.UI.Controls
}
}
+ public void CreateApplicationShortcut_Click(object sender, RoutedEventArgs args)
+ {
+ var viewModel = (sender as MenuItem)?.DataContext as MainWindowViewModel;
+
+ if (viewModel?.SelectedApplication != null)
+ {
+ ApplicationData selectedApplication = viewModel.SelectedApplication;
+ ShortcutHelper.CreateAppShortcut(selectedApplication.Path, selectedApplication.TitleName, selectedApplication.TitleId, selectedApplication.Icon);
+ }
+ }
+
public async void RunApplication_Click(object sender, RoutedEventArgs args)
{
var viewModel = (sender as MenuItem)?.DataContext as MainWindowViewModel;
diff --git a/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
index 7a9e4df1..b1490520 100644
--- a/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
+++ b/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
@@ -356,6 +356,8 @@ namespace Ryujinx.Ava.UI.ViewModels
public bool OpenBcatSaveDirectoryEnabled => !SelectedApplication.ControlHolder.ByteSpan.IsZeros() && SelectedApplication.ControlHolder.Value.BcatDeliveryCacheStorageSize > 0;
+ public bool CreateShortcutEnabled => !ReleaseInformation.IsFlatHubBuild();
+
public string LoadHeading
{
get => _loadHeading;
@@ -1488,7 +1490,7 @@ namespace Ryujinx.Ava.UI.ViewModels
Logger.RestartTime();
- SelectedIcon ??= ApplicationLibrary.GetApplicationIcon(path);
+ SelectedIcon ??= ApplicationLibrary.GetApplicationIcon(path, ConfigurationState.Instance.System.Language);
PrepareLoadScreen();
@@ -1696,7 +1698,6 @@ namespace Ryujinx.Ava.UI.ViewModels
}
}
}
-
#endregion
}
}