mirror of
https://git.ryujinx.app/kenji-nx/ryujinx.git
synced 2025-12-24 01:37:05 +00:00
Add TitleID sort method
Adds an additional application list sorting method for the TitleID. A bit of a niche choice for sorting but I think the TID is a relevant enough piece of metadata that it should be there. (And I personally would be using it) - Using existing TitleId constant in ApplicationSort, implying this was meant to be in the sorting options at some point? - Reuses the "DlcManagerTableHeadingTitleIdLabel" locale for fulfilling the need already, might be better to make a unique one for this in the long run but this codebase is new to me so I wanted to make the changes as unobtrusive as possible - Using app.Id for the comparer seems to work fine, not sure if using something else like IdString would be better?
This commit is contained in:
parent
d3bce3f361
commit
6ba8ae53f2
2 changed files with 11 additions and 1 deletions
|
|
@ -1102,6 +1102,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
ApplicationSort.FileSize => LocaleManager.Instance[LocaleKeys.GameListHeaderFileSize],
|
||||
ApplicationSort.Path => LocaleManager.Instance[LocaleKeys.GameListHeaderPath],
|
||||
ApplicationSort.Favorite => LocaleManager.Instance[LocaleKeys.CommonFavorite],
|
||||
ApplicationSort.TitleId => LocaleManager.Instance[LocaleKeys.DlcManagerTableHeadingTitleIdLabel],
|
||||
_ => string.Empty,
|
||||
};
|
||||
}
|
||||
|
|
@ -1171,6 +1172,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
public IHostUIHandler UiHandler { get; internal set; }
|
||||
public bool IsSortedByFavorite => SortMode == ApplicationSort.Favorite;
|
||||
public bool IsSortedByTitle => SortMode == ApplicationSort.Title;
|
||||
public bool IsSortedByTitleId => SortMode == ApplicationSort.TitleId;
|
||||
public bool IsSortedByDeveloper => SortMode == ApplicationSort.Developer;
|
||||
public bool IsSortedByLastPlayed => SortMode == ApplicationSort.LastPlayed;
|
||||
public bool IsSortedByTimePlayed => SortMode == ApplicationSort.TotalTimePlayed;
|
||||
|
|
@ -1204,7 +1206,9 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||
ApplicationSort.Path => IsAscending ? SortExpressionComparer<ApplicationData>.Ascending(app => app.Path)
|
||||
: SortExpressionComparer<ApplicationData>.Descending(app => app.Path),
|
||||
ApplicationSort.Favorite => IsAscending ? SortExpressionComparer<ApplicationData>.Ascending(app => new AppListFavoriteComparable(app))
|
||||
: SortExpressionComparer<ApplicationData>.Descending(app => new AppListFavoriteComparable(app)),
|
||||
: SortExpressionComparer<ApplicationData>.Descending(app => new AppListFavoriteComparable(app)),
|
||||
ApplicationSort.TitleId => IsAscending ? SortExpressionComparer<ApplicationData>.Ascending(app => app.Id)
|
||||
: SortExpressionComparer<ApplicationData>.Descending(app => app.Id),
|
||||
_ => null,
|
||||
#pragma warning restore IDE0055
|
||||
};
|
||||
|
|
|
|||
|
|
@ -105,6 +105,12 @@
|
|||
GroupName="Sort"
|
||||
IsChecked="{Binding IsSortedByTitle, Mode=OneTime}"
|
||||
Tag="Title" />
|
||||
<RadioButton
|
||||
IsCheckedChanged="Sort_Checked"
|
||||
Content="{locale:Locale DlcManagerTableHeadingTitleIdLabel}"
|
||||
GroupName="Sort"
|
||||
IsChecked="{Binding IsSortedByTitleId, Mode=OneTime}"
|
||||
Tag="TitleId" />
|
||||
<RadioButton
|
||||
IsCheckedChanged="Sort_Checked"
|
||||
Content="{locale:Locale GameListHeaderDeveloper}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue