aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava
AgeCommit message (Collapse)Author
2024-03-02infra: Make Avalonia the default UI (#6375)Mary Guillemard
* misc: Move Ryujinx project to Ryujinx.Gtk3 This breaks release CI for now but that's fine. Signed-off-by: Mary Guillemard <mary@mary.zone> * misc: Move Ryujinx.Ava project to Ryujinx This breaks CI for now, but it's fine. Signed-off-by: Mary Guillemard <mary@mary.zone> * infra: Make Avalonia the default UI Should fix CI after the previous changes. GTK3 isn't build by the release job anymore, only by PR CI. This also ensure that the test-ava update package is still generated to allow update from the old testing channel. Signed-off-by: Mary Guillemard <mary@mary.zone> * Fix missing copy in create_app_bundle.sh Signed-off-by: Mary Guillemard <mary@mary.zone> * Fix syntax error Signed-off-by: Mary Guillemard <mary@mary.zone> --------- Signed-off-by: Mary Guillemard <mary@mary.zone>
2024-03-02Avalonia: only enable gamescope workaround under it (#6374)Mary Guillemard
Signed-off-by: Mary Guillemard <mary@mary.zone>
2024-02-19Avalonia UI: Update English tooltips (#6305)MetrosexualGarbodor
* update English tooltips * missed a dot
2024-02-19Avalonia: Fix gamescope once and for all (#6301)Mary Guillemard
Enable input focus proxy, makes WM_TAKE_FOCUS capability to be exposed. This fix menu on gamescope, for real this time.... Signed-off-by: Mary Guillemard <mary@mary.zone>
2024-02-15Updaters: Fix ARM Linux Updater (#6316)Isaac Marovitz
* Remove Arch Checks * Fix ARM Linux updater
2024-02-11Old buttons (#6237)Isaac Marovitz
2024-02-11Infra: Capitalisation Consistency (#6296)Isaac Marovitz
* Rename Ryujinx.UI.Common * Rename Ryujinx.UI.LocaleGenerator * Update in Files AboutWindow * Configuration State * Rename projects * Ryujinx/UI * Fix build * Main remaining inconsistencies * HLE.UI Namespace * HLE.UI Files * Namespace * Ryujinx.UI.Common.Configuration.UI * Ryujinx.UI.Common,Configuration.UI Files * More instances
2024-02-11Standardize logging locations across desktop platforms (#6238)jcm
* Standardize logging locations across desktop platforms * Return null instead of empty literal on exceptions * Remove LogDirectoryPath from LoggerModule * Catch exception when creating DirectoryInfo in FileLogTarget * Remove redundant log path vars, handle exception better, add null check * Address styling issues * Remove extra newline, quote file path in log, move directory check to OpenHelper * Add GetOrCreateLogsDir to get/create log directory during runtime * misc format changes * Update src/Ryujinx.Common/Configuration/AppDataManager.cs --------- Co-authored-by: jcm <butt@butts.com> Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-02-11Remove ReflectionBinding in Mod Manager (#6280)Isaac Marovitz
2024-02-11Update Avalonia About Window like requested in PR #6267 (#6278)sunshineinabox
* Update About Window like requested in PR #6267 * Feedback * Apply suggestions from code review Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com> * Fix indents --------- Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
2024-02-10Add missing RID exclusions for linux-arm64 (#6298)Mary Guillemard
* Add missing RID exclusions for linux-arm64 Signed-off-by: Mary Guillemard <mary@mary.zone> * Remove libsoundio.so from linux-arm64 deployment This is a x86_64 library. Signed-off-by: Mary Guillemard <mary@mary.zone> --------- Signed-off-by: Mary Guillemard <mary@mary.zone>
2024-02-10ci: Enable Linux ARM64 on build and release (#6291)Mary Guillemard
* ci: Enable Linux ARM64 on build and release Signed-off-by: Mary <mary@mary.zone> * Address gdkchan comment Signed-off-by: Mary <mary@mary.zone> --------- Signed-off-by: Mary <mary@mary.zone>
2024-02-10Make IOpenGLContext.HasContext context dependent (#6290)Mary Guillemard
This makes IOpenGLContext.HasContext not static and be implementable. By doing this, we can support more than WGL and WGL. This also allows the SDL2 headless version to run under Wayland. Signed-off-by: Mary <mary@mary.zone>
2024-02-08Revert "Bump Ava (#6271)"Mary Guillemard
This reverts commit dfc0819e7273e6887135546d32e2fed6e6d26073. X popup position broke entirely (my fault oops), waiting for next release with a fix (see https://github.com/AvaloniaUI/Avalonia/pull/14551)
2024-02-08Bump Ava (#6271)Isaac Marovitz
2024-02-08Replace Flex Panels in favor of Wrap Panels for Avalonia (#6267)sunshineinabox
* Switch from using Flex panel to a Wrap panel for Grid view. This allows keyboard navigation. * Stop using Flex panel in favor of Avalonia Wrap Panel.
2024-02-06Resolve an issue where changes to the main window's positioning could cause ↵sharmander
the application to crash if a modal was dismissed beforehand. (#6223)
2024-01-30Fix opening the wrong log directory (#6220)TSRBerry
2024-01-29deps: Update Avalonia.Svg (#6218)Ac_K
Updates `Avalonia.Svg` from 11.0.0.10 to 11.0.0.13 Updates `Avalonia.Svg.Skia` from 11.0.0.10 to 11.0.0.13 And reflect update changes as dependabot can't do it. Superseed #6209
2024-01-29Ava UI: Mod Manager Fixes (Again) (#6187)Isaac Marovitz
* Fix typo + Fix deleting from old dir * Avoid double enumeration * Break when parentDir is found * Fix deleting non subdirectory mods * Typo
2024-01-29UI: Clarify Create Application Shortcut tooltip text (#6217)merry
2024-01-29Avalonia: Fix dialog issues caused by 1.1.1105 (#6211)TSRBerry
* Set _contentDialogOverlayWindow to null * Make CheckLaunchState async
2024-01-29Make config filename changable for releases & Log to Ryujinx directory if ↵TSRBerry
application directory is not writable (#4707) * Remove GetBaseApplicationDirectory() & Move logs directory to user base path We should assume the application directory might be write-protected. * Use Ryujinx.sh in Ryujinx.desktop This desktop file isn't really used right now, so this changes effectively nothing. * Use properties in ReleaseInformation.cs and add ConfigName property * Configure config filename in Github workflows * Add a separate config step for macOS Because they use BSD sed instead of GNU sed * Keep log directory at the old location for dev environments * Add FileSystemUtils since Directory.Move() doesn't work across filesystems Steal CopyDirectory code from https://learn.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories * Fix "Open Logs folder" button pointing to the wrong directory * Add execute permissions to Ryujinx.sh * Fix missing newlines * AppDataManager: Use FileSystemUtils.MoveDirectory() * Make dotnet format happy * Add a fallback for the logging directory
2024-01-26Ava UI: Mod Manager Fixes (#6179)Isaac Marovitz
* Fix string format + Crash * Better Logging * Properly Delete Mods Rename * Catch when trying to access bad directory
2024-01-26Ava UI: Mod Manager (#4390)Isaac Marovitz
* Let’s start again * Read folders and such * Remove Open Mod Folder menu items * Fix folder opening, Selecting/deselecting * She works * Fix GTK * AddMod * Delete * Fix duplicate entries * Fix file check * Avalonia 11 * Style fixes * Final style fixes * Might be too general * Remove unnecessary using * Enable new mods by default * More cleanup * Fix saving metadata * Dont deseralise ModMetadata several times * Avalonia I hate you * Confirmation dialgoues * Allow selecting multiple folders * Add back secondary folder * Search both paths * Fix formatting * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Rename Title to Application * Generic locale key * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Locale Updates * GDK Feedback * Fix --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-01-26Use driver name instead of vendor name in the status bar for Vulkan. (#6146)Elijah
* Replace vendor id lookup with driver name * Create separate field for driver name, handle OpenGL * Document changes in VulkanPhysicalDevice.cs * Always display driver over vendor * Replace Vulkan 1.2 requirement with VK_KHR_driver_properties * Remove empty line * Remove redundant unsafe block * Apply suggestions from code review --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-01-26Remove Custom Theming (#6175)Isaac Marovitz
2024-01-18Change shader cache init wait method (#6131)gdkchan
* Change shader cache init wait method * Make field readonly
2024-01-13Fix Amiibo regression and some minor code improvements (#6107)TSRBerry
* Remove redundant code and fix small issues * Log amiibo exceptions * Add more checks when getting Amiibo data * Fall back to online data if local file is inaccessible * Make dotnet format happy
2024-01-13Ava UI: RTL Language Support (#5619)Isaac Marovitz
* Add Hebrew locale files to ItemGroups * Align all windows RTL for testing This should be controlled with a binding that selects the appropriate layout based on current language * Update FlowDirection as Locale changes * Fix Settings NavigationViewItem FlowDirection * Fix remaining text * Fix input menu directionality * Fix RTL not rendering * Fix rebase errors
2024-01-13Ava UI: Better Controller Applet (#5756)Isaac Marovitz
* Start work on better Controller Applet * Don’t require title * UI improvements * Border around TBD area * Formatting * Better SVGs * Add missing margin * Use Locale * Rename function * Make buttons ourselves * Make the buttons do shit * Formatting * Adjust SVGs * Fix Open Settings Window * Make field readonly * Final tweaks * Update src/Ryujinx.Ava/UI/Applet/AvaHostUiHandler.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Move icons to Ava project * Reorder arguments * Try to focus Settings Window * Fix icons Project shenangians * Add ContentDialogHelper.ShowWindowAsync method * Fix closed SettingsWindow reference in MainWindow * Fix SettingsWindow dialog * Suggestion --------- Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
2023-12-28Local Amiibo.json should be used if connection failed (#3681)AxesP
* Local Amiibo.json should be used if connection failed Currently Ryujinx is not loading any Amiibo if connection fails, even if the Amiibo.json exists. This fix will use the local file and show a Dialog if connection fails. * using local Amiibo.json & fixed Amiibo.json date comparison Using local Amiibo.json when connection fails and comparison without milliseconds for LastModified that comes from https://amiibo.ryujinx.org/ and the local one (The JSON file has milliseconds on it, those will cause an error when comparing the date from the header because the header one doesn't has milliseconds on it). Both changes made for Avalonia UI. * Fixed date comparison Same date comparison fix, but made for normal UI (Not for AvaloniaUI). This error can be prevented if the file in https://amiibo.ryujinx.org/ did not have the date with milliseconds. * Securely trying to get a list of Amiibo (For normal UI) * Securely trying to get a list of Amiibo (Change for AvaloniaUI) * Date comparison reverted * Apply suggestions from code review * Use fallback amiibo.json if remote file is not valid (Normal UI) * Use fallback amiibo.json if remote file is not valid (Avalonia UI) * Code styles corrected. * Code styles corrected in AmiiboWindowViewModel. * Readded Ryujinx.Common.Logging using. * Fixed using order. --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-12-25Ava UI: Fix crash when clicking on a cheat's name (#5860)Isaac Marovitz
* Fix crash * Remove nullable * Hide BuildId for child nodes * Fix warning * Fix charset
2023-12-11Ava UI: Fix temporary volume not being set after unmute (#5833)rmg-x
2023-12-04Improve indication of emulation being paused by the User (#5836)gnisman
* Improve indication of emulation being paused by the User * Use localised for Paused * Backup original title - PR comments fix * Add common helper method to assemble App title
2023-12-04editorconfig: Set default encoding to UTF-8 (#5793)TSRBerry
* editorconfig: Add default charset * Change file encoding from UTF-8-BOM to UTF-8
2023-11-15Migrate to .NET 8 (#5887)Zoltan Csizmadia
* Change TargetFramework to net8.0 * Disable info messages * Fix warings * Disable additional analyzer messages * Fix typo * Add whitespace * Fix ref vs in warnings * Use explicit [In] on array parameters * No need to guard Remove with Contains * Use 'ArgumentOutOfRangeException.ThrowIf...' instead of explicitly throwing a new exception instance * Bump .NET SDK version * Enable JsonSerializerIsReflectionEnabledByDefault * Use 8.0.100 GA release * Bump System package versions --------- Co-authored-by: Zoltan Csizmadia <Zoltan.Csizmadia@vericast.com>
2023-11-11Revert "Add support for multi game XCIs (#5638)" (#5914)gdkchan
This reverts commit 5c3cfb84c09b0566da677425915afa0b2d76da55.
2023-11-11Add support for multi game XCIs (#5638)TSRBerry
* Add default values to ApplicationData directly * Refactor application loading It should now be possible to load multi game XCIs. Included updates won't be detected for now. Opening a game from the command line currently only opens the first one. * Only include program NCAs where at least one tuple item is not null * Get application data by title id and add programIndex check back * Refactor application loading again and remove duplicate code * Actually use patch ncas for updates * Fix number of applications found with multi game xcis * Don't load bundled updates from multi game xcis * Change ApplicationData.TitleId type to ulong & Add TitleIdString property * Use cnmt files and ContentCollection to load programs * Ava: Add updates and DLCs from gamecarts * Get the cnmt file from its NCA * Ava: Identify bundled updates in updater window * Fix the (hopefully) last few bugs * Add idOffset parameter to GetNcaByType * Handle missing file for dlc.json * Ava: Shorten error message for invalid files * Gtk: Add additional string for bundled updates in TitleUpdateWindow * Hopefully fix DLC issues * Apply formatting * Finally fix DLC issues * Adjust property names and fileSize field * Read the correct update file * Fix wrong casing for application id strings * Rename TitleId to ApplicationId * Address review comments * Fix formatting issues * Apply suggestions from code review Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Gracefully fail when loading pfs for update and dlc window * Fix applications with multiple programs * Fix DLCWindow crash on GTK * Fix some GUI issues * Remove IsXci again --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2023-11-11Create Desktop Shortcut fixes (#5852)NitroTears
* remove duplicate basePath arg, add --fullscreen arg * Changing FriendlyName to set "Ryujinx" text * Fix GetArgsString using the base path * Change desktop path to the Applications folder when creating shortcut on Mac Co-authored-by: Nicko Anastassiu <134955950+nickoanastassiu@users.noreply.github.com> * Move Create Shortcut button to top of context menu --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Nicko Anastassiu <134955950+nickoanastassiu@users.noreply.github.com>
2023-11-11Add accelerator keys for Options and Help (#5884)Isaac Marovitz
2023-11-06Overhaul of string formatting/parsing/sorting logic for TimeSpans, ↵SamusAranX
DateTimes, and file sizes (#4956) * Fixed formatting/parsing issues with ApplicationData properties TimePlayed, LastPlayed, and FileSize Replaced double-based TimePlayed property with TimeSpan?-based one in ApplicationData and ApplicationMetadata Added a migration for TimePlayed, just like in #4861 Consolidated ApplicationData's FileSize* properties into one FileSize property Added a formatting/parsing helper class ValueFormatUtils for TimeSpans, DateTimes, and file sizes Added new value converters for TimeSpans and file sizes for the Avalonia UI Added TimePlayedSortComparer Fixed sort order in LastPlayedSortComparer Fixed sort order for ApplicationData fields TimePlayed, LastPlayed, and FileSize Fixed crashes caused by SortHelper Replaced SystemInfo.ToMiBString with ToGiBString backed by ValueFormatUtils Replaced SaveModel.GetSizeString() with ValueFormatUtils * Additional ApplicationLibrary changes that got lost in the last commit * Removed unneeded usings * Removed converters as they are no longer needed * Updated comment on FormatDateTime * Removed base10 parameter from ValueFormatUtils FormatFileSize now always returns base 2 values with base 10 units Made ParseFileSize capable of parsing both base 2 and base 10 units * Removed nullable attribute from TimePlayed property Centralized TimePlayed update code into ApplicationMetadata * Changed UpdateTimePlayed() to use TimeSpan logic * Removed JsonIgnore attributes from ApplicationData * Implemented requested format changes * Fixed mistakes in method documentation comments * Made it so the Last Played value "Never" is localized in the Avalonia UI * Implemented suggestions * Remove unused import * Did a comment refinement pass in ValueFormatUtils.cs * Reordered ValueFormatUtils methods and sorted them into #regions * Integrated functionality from #5056 Also removed Logger print from last_played migration code * Implemented suggestions * Moved ValueFormatUtils and SystemInfo to namespace Ryujinx.Ui.Common * common: Respect proper value format convention and use base10 by default This could be discuss again in another issue/PR, for now revert to the previous behavior. Signed-off-by: Mary Guillemard <mary@mary.zone> --------- Signed-off-by: Mary Guillemard <mary@mary.zone> Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Mary Guillemard <mary@mary.zone>
2023-10-26Add ldn_mitm as a network client for LDN (#5656)TSRBerry
* Add relevant files from private repo Hopefully I didn't miss anything. JsonHelper.cs is a debug only change I only added line 810-812 in IUserLocalCommunicationService.cs for the new Spacemeowx2Ldn case. * Add a small README.md just for fun * Add note about NetCoreServer update to 5.1.0 * Fix a few issues Fix usage of wrong broadcast address Log warning if empty userstring was received and don't add them to outNetworkInfo * Add warning about incompatibility with public LDN version * Add missing changes from old_master * Adjust ldn_mitm for Ryujinx/Ryujinx#3805 * ldn: Adapt to changes from #4582 * ldn_mitm: First cleanup iteration * ldn_mitm: Second cleanup iteration * Credit spacemeowx2 in README.md * Address first review comments by AcK Adhere to Ryujinx coding style Remove leftover log calls Change category of a few log calls Remove leftover debug notes * Replace return type with void for methods always returning true * Address first review comments by riperiperi Purely stylistic changes: - Adhere to naming style for internal fields - Improve code formatting * Throw InvalidOperationException when calling wrong ldn proxy methods * Add missing newlines in LanDiscovery.Scan() * Fix Linux not receiving broadcast packets * Remove ILdnUdpSocket It's very unlikely that we will ever need a udp client. Thus we should simplify LanDiscovery initialization and remove the parameter of InitUdp(). * ldn_mitm: Improve formatting * fixup! Fix Linux not receiving broadcast packets By opening the udp server on 'LocalBroadcastAddr' Linux refused to answer packets going to LocalAddr. So in order to fix this problem, Linux now opens two LdnProxyUdpServers. * ldn_mitm: Fix assigning incorrect NodeIds This just made connecting a lot more reliable! Thanks @riperiperi * Fix node ids when leaving/joining * Change NodeId behaviour to work like RyuLdn * Change timing for accept and network info being reported. * Wait for connection before sending anything. * Remove ConnectAsync() from ILdnTcpSocket * Only broadcast scan responses if we're hosting a network. * Fix some filters, scan network duplication. * Fix silly mistake * Don't die on duplicates, just replace. * Lock around node updates These can happen from multiple threads. * ldn_mitm: Fix namespaces for Types Improve formatting Add warning if compression failed * Add quicker scan, forgetting networks that disappear. * Always force a network sync when updating AdvertiseData * Fix TCP frame size being too large for compressed frames * Allow ldn_mitm to pass -1 id for room localcommunicationids. * ldn_mitm: Match server socket options * ldn_mitm: Use correct socket options * ldn_mitm: Remove TCP broadcast socket options * config: Rename Spacemeowx2Ldn to LdnMitm * ldn_mitm: Generate random fake SSID * ldn_mitm: Adjust logging statements/levels * ldn_mitm: Add missing Stop() call for udp2 * ldn_mitm: Adjust formatting * ldn_mitm: Add stub comments and adjust existing ones * ldn: Add LdnConst class & set tx/rx buffer sizes correctly * Move LdnConst out of UserServiceCreator Replace a few values with LdnConsts * ldn: Adjust namespaces and client names * ldn_mitm: Adjust formatting * ldn: Rename RyuLdn to LdnRyu * Replace LanProtocol.Read() refs with scoped refs * Add MIT license for ldn_mitm * Clarify that network interface is also used for LDN Although it's currently only used by ldn_mitm, it would probably be more confusing to exclude RyuLdn there. * Fix giving a station node id 0 * Update Nuget packages * Remove LdnHelper * Add update functions for EnableInternetAccess setting * ldn: Log MultiplayerMode and DisableP2P * ldn: Adjust namespaces * Apply formatting * Conform to Ryujinx code style * Remove ldn_mitm from THIRDPARTY.md It shouldn't have been there in the first place. * Improve formatting --------- Co-authored-by: riperiperi <rhy3756547@hotmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-10-22Update to LibHac 0.19.0 (#5831)Alex Barney
* Update to LibHac v0.19.0 - PartitionFileSystem classes now fully match Nintendo's implementation. Current code creating a PartitionFileSystem now need to use the Initialize method. - Implementing nn::gcsrv and nn::sdmmcsrv now means the FS server now uses that abstraction instead of the old one where we passed in an IDeviceOperator. * Add GetFileSystemAttribute
2023-10-21Revert "Ava UI: Input Menu Refactor (#4998)"TSR Berry
This reverts commit 49b37550cae6b3c69f59a9c7a44b17e3c12a813b. This currently breaks the GTK GUI.
2023-10-21Ava UI: Input Menu Refactor (#4998)Isaac Marovitz
* So much boilerplate * Slow and steady * Restructure + Ack suggestions * Restructure + Ack suggestions * Restructure * Clean * Propogate those fields i forgot about * It builds * Progress * Almost there * Fix stupid mistake * Fix more stupid mistakes * Actually fix fuck ups * Start localising * r/therestofthefuckingowl * Localise ButtonKeyAssigner * Are you feeling it now mr krabs * We’re done at last * Crimes against code * Try me in the Hague * Please be quiet * Crimes are here to stay * Dispose stuff * Cleanup a couple things * Visual fixes and improvements One weird bug * Fix rebase errors * Fixes * Ack Suggestions Remaining ack suggestions Update src/Ryujinx.Ava/UI/Models/Input/ControllerInputConfig.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> Update src/Ryujinx.Ava/UI/Models/Input/ControllerInputConfig.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Formatting and error More Ava 11-ness Whoops * Code style fixes * Style fixes * Analyzer fix * Remove all ReflectionBindings * Remove ambigious object * Remove redundant property * Old man yells at formatter * r e a d o n l y * Fix profiles * Use new Sliders --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-10-20Add "Create Shortcut" To app context menu (#4734)NitroTears
* Added basic implementation for shortcut creation Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop. * Icons display properly in shortcut * code cleanup * Moved shortcut logic to specific file, added Ava UI for shortcuts * Added linux .desktop shortcut creation * fixes to .shortcut data * code issue fixes * Added basic implementation for shortcut creation Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop. * Icons display properly in shortcut * code cleanup * Moved shortcut logic to specific file, added Ava UI for shortcuts * Added linux .desktop shortcut creation * fixes to .shortcut data * code issue fixes * added back shortcut to new contextmenu file * Replaced COM reference with ComImport for shortcut functionality * remove specific platform values and regions * Move ShortcutHelper to Ryujinx.Ui.Common.Helpers * Adjust styling and structure * code feedback changes * Added MacOS support using .app folder * Added basic implementation for shortcut creation Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop. * Icons display properly in shortcut * code cleanup * Moved shortcut logic to specific file, added Ava UI for shortcuts * Added linux .desktop shortcut creation * fixes to .shortcut data * code issue fixes * Added basic implementation for shortcut creation Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop. * Icons display properly in shortcut * code cleanup * Moved shortcut logic to specific file, added Ava UI for shortcuts * Added linux .desktop shortcut creation * fixes to .shortcut data * code issue fixes * Replaced COM reference with ComImport for shortcut functionality * remove specific platform values and regions * Move ShortcutHelper to Ryujinx.Ui.Common.Helpers * Adjust styling and structure * code feedback changes * adjust tooltip message * added shortcut-template.desktop file * set shortcut icon location to .local/share/icons * Linux code feedback changes * change InteropServices to new securifybv.ShellLink Package * added ShellLink to readme, updated shortcut comment * Code feedback changes * Added MacOS Support (As per Jose Estrada's PR) * dotnet format * Small restructuring * Embed template files into Ryujinx.Ui.Common * Disable "CreateShortcut" option for flatpak builds --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Jose Estrada <joseestradacobo@gmail.com>
2023-10-20Avalonia: Make slider scrollable with mouse wheel (#5760)Ahmad Tantowi
* Add scrollable custom control based on TickFrequency * Use custom slider to update value when pointer wheel scrolled * Remove extra xaml file * Address formatting issues * Only scroll one element at a time * Add OnPointerWheelChanged event to VolumeStatus button Co-authored-by: Ahmad Tantowi <ahmadtantowi@outlook.com> --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
2023-10-08Avalonia: Show aspect ratio popup options in status bar (#5780)Ahmad Tantowi
* Show aspect ratio selection popup in status bar * Add aspect ratio tooltip * Fix typo
2023-10-05Strings should not be concatenated using '+' in a loop (#5664)Marco Carvalho
* Strings should not be concatenated using '+' in a loop * fix IDE0090 * undo GenerateLoadOrStore * prefer string interpolation * Update src/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGen.cs Co-authored-by: Mary <thog@protonmail.com> --------- Co-authored-by: Mary <thog@protonmail.com>