public IEnumerable <ISearchItem <string> > GetItems() { GameActions.Clear(); if (SearchPlugin.Instance.Settings.EnableExternalGameActions) { foreach (var item in QuickSearchSDK.gameActions) { var extracted = GetAssemblyName(item.Key); var assembly = extracted.Item1; var name = extracted.Item2; if (SearchPlugin.Instance.Settings.EnabledAssemblies[assembly].Actions) { GameActions.Add(new GameAction() { Name = name, Action = item.Value }); } } } return(SearchPlugin.Instance.PlayniteApi.Database.Games .Where(g => filter.Eval(g)) .OrderBy(g => g.Name) .Select(g => { var item = new GameSearchItem(g); if (SearchPlugin.Instance.Settings.EnableExternalGameActions) { foreach (var action in GameActions) { item.Actions.Add(action); } } return item; })); }
public IEnumerable <ISearchItem <string> > GetItems() { GameActions.Clear(); if (SearchPlugin.Instance.Settings.EnableExternalGameActions) { foreach (var item in QuickSearchSDK.gameActions) { var extracted = GetAssemblyName(item.Key); var assembly = extracted.Item1; var name = extracted.Item2; if (SearchPlugin.Instance.Settings.EnabledAssemblies[assembly].Actions) { GameActions.Add(new GameAction() { Name = name, Action = item.Value }); } } } var items = SearchPlugin.Instance.PlayniteApi.Database.Games.Where(g => !g.Hidden || !SearchPlugin.Instance.Settings.IgnoreHiddenGames).Select(g => { var item = new GameSearchItem(g); if (SearchPlugin.Instance.Settings.EnableExternalGameActions) { foreach (var action in GameActions) { item.Actions.Add(action); } } return(item); }).Concat(new ISearchItem <string>[] { new CommandItem(Application.Current.FindResource("LOCQuickFilterFavorites") as string, new SubItemsAction() { CloseAfterExecute = false, Name = ResourceProvider.GetString("LOC_QS_ShowAction"), SubItemSource = new FavoritesSource() }, "Favorites") { IconChar = QuickSearch.IconChars.Star }, new CommandItem(Application.Current.FindResource("LOCQuickFilterRecentlyPlayed") as string, new SubItemsAction() { CloseAfterExecute = false, Name = ResourceProvider.GetString("LOC_QS_ShowAction"), SubItemSource = new RecentlyPlayedSource() }, "Recently Played") { IconChar = '\uEEDC' } }); if (SearchPlugin.Instance.Settings.EnableFilterSubSources) { items = items.Concat(GetFilterItems(new GameFilter())); } return(items); }