aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/game_list_worker.cpp
AgeCommit message (Collapse)Author
2024-01-25fs: Replace Mode enum by OpenMode enumFearlessTobi
2024-01-19android: Add addon delete buttont895
Required some refactoring of retrieving patches in order for the frontend to pass the right information to ContentManager for deletion.
2023-11-24Merge pull request #11889 from t895/ini-libCharles Lombardo
configuration: Unify config handling across frontends
2023-11-21game_list_worker: Explicit caputure of 'this'Merry
2023-11-21config: Unify config handling under frontend_commont895
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings. As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-10-23qt: fix game list shutdown crashLiam
2023-10-12qt: ensure worker cancellation is complete before clearingLiam
2023-08-27Address review commentsLiam
2023-08-26yuzu-qt: Track play timeMario
2023-08-24game_list_worker: Display correct size for NAX gamesFearlessTobi
This was a regression from https://github.com/yuzu-emu/yuzu/pull/1837. Fixes https://github.com/yuzu-emu/yuzu/issues/1938.
2023-07-24yuzu: Avoid reading broken gamesgerman77
2023-07-21general: reduce use of dynamic_castLiam
2022-06-14game_list: Eliminate variable shadowingMorph
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-03-20yuzu: Reduce unused includesameerj
2021-10-07game_list: Remove global instances of Core::Systemlat9nq
2021-07-20file_sys: Support load game collection (#6582)Feng Chen
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-06-02Stop the columns resizing on NAND installKelebek1
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Morph
std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2020-11-18patch_manager: Remove usages of the global system instanceLioncash
With this, only 19 usages of the global system instance remain within the core library. We're almost there.
2020-08-17Merge pull request #4535 from lioncash/fileutilbunnei
common/fileutil: Convert namespace to Common::FS
2020-08-16common/fileutil: Convert namespace to Common::FSLioncash
Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
2020-08-16yuzu: Resolve -Wextra-semi warningsLioncash
While we're in the same area, we can ensure GameDir member variables are always initialized to consistent values.
2020-08-04game_list_worker: Do not clear entries when > 1 gamedir is presentMorph
Previously the map of entries was being cleared while looping through each game directory, this resulted into all game directories except the last game dir to lose content metadata information. Fix this by clearing the entries only once.
2020-07-29game_list_worker: Fix game list subdirectory scanningMorph
Oddly enough the scan that feeds the manual content provider is hardcoded to scan 2 nested directories deep. This effectively rendered the scan subdirectories setting useless as the manual content provider cannot find any games located more than 2 nested directories deep. Furthermore, this behavior causes game files to be picked up by the manual content provider even if scan subdirectories is disabled. FIx this by utilizing the behavior described when populating the game list for populating the content provider.
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-02-09Remove option "Show files with type 'Unknown'"Morph
2019-10-04yuzu/game_list_worker: Silence warningsReinUsesLisp
2019-09-04Change QList to QVectorfearlessTobi
2019-09-04Separate UserNand and Sdmc directoriesfearlessTobi
2019-09-04Address trivial review commentsfearlessTobi
2019-09-04yuzu: Add support for multiple game directoriesfearlessTobi
Ported from https://github.com/citra-emu/citra/pull/3617.
2019-08-09yuzu/CMakeLists: Remove qt5_wrap_ui macro usageLioncash
We can simply enable CMAKE_AUTOUIC and let CMake take care of handling the UI code generation for targets. As part of letting CMake automatically handle the header file parsing, we must not name includes with "ui_*" unless they're related to the output of the Qt UIC compiler. Because of this, we need to rename ui_settings, given it would conflict with this restriction.
2019-05-30game_list_worker: Use QFile over our own IOFile instance or std streamsLioncash
Stays consistent in our code with using Qt's provided mechanisms, and also properly handles Unicode paths (which file streams on Windows don't do very well).
2019-05-30game_list_worker: Remove template specializationsLioncash
This is equivalent to specifying two separate functions, so we can just do that.
2019-05-26game_list_worker: Add better error handling to cachingZach Hilman
2019-05-26game_list: Implement caching for game listZach Hilman
Preserves list of add ons and the icon, which are the two costliest parts of game list population.
2019-05-20yuzu/game_list_worker: Specify string conversions explicitlyLioncash
Allows the game list worker code to compile successfully with implicit string conversions disabled.
2019-03-26game_list: Register content with ContentProviderZach Hilman
2018-12-10Merge pull request #1819 from DarkLordZach/disable-addonsbunnei
patch_manager: Add support for disabling patches
2018-12-05yuzu/game_list_worker: Don't retrieve the file type twice in ↵Lioncash
AddFstEntriesToGameList() Similarly, here we can avoid doing unnecessary work twice by retrieving the file type only once and comparing it against relevant operands, avoiding potential unnecessary object construction/destruction.
2018-12-05yuzu/game_list_worker: Don't retrieve file type and file type strings twice ↵Lioncash
in MakeGameListEntry() While GetFileType() is indeed a getter function, that doesn't mean it's a trivial function, given some case require reading from the data or constructing other objects in the background. Instead, only do necessary work once.
2018-12-04Merge pull request #1837 from lioncash/mapbunnei
yuzu/game_list_worker: Minor cleanup and code deduplication
2018-12-04yuzu/game_list_worker: Move std::string construction after the termination ↵Lioncash
check in callbacks Avoids potentially allocating a std::string instance when it isn't needed.
2018-12-04qt: Add Properties menu to game list right-clickZach Hilman
2018-12-01filesystem: De-globalize registered_cache_unionLioncash
We can just return a new instance of this when it's requested. This only ever holds pointers to the existing registed caches, so it's not a large object. Plus, this also gets rid of the need to keep around a separate member function just to properly clear out the union. Gets rid of one of five globals in the filesystem code.
2018-12-01yuzu/game_list_worker: Deduplicate game list entry creationLioncash
Avoids duplicating the same code twice verbatim.
2018-12-01yuzu/game_list_worker: Tidy up string handling in FillControlMap()Lioncash
We don't need to call out to our own file handling functions when we're going to construct a QFileInfo instance right after it. We also don't need to convert to a std::string again just to compare the file extension.
2018-11-01game_list: Make add-ons column optionalZach Hilman
As the add-ons column takes the most processing time out of any (as it needs to search registration for updates/dlc, patch control NCAs, search for mods, etc.), an option was added to disable it. This does not affect the application of add-ons. In large game collections, this decreases game list refresh time by as much as 70%.
2018-10-24game_list_worker: Use QString's formatting instead of fmt in ↵Lioncash
FormatPatchNameVersions() Using fmt here requires unnecessary string conversions back into QString. Instead, we can just use QString's formatting and get the end result of the formatting operation in the proper type.