aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/game_list.cpp
AgeCommit message (Collapse)Author
2020-05-11yuzu: game_list: Fix 'Open Save Data Location' for device saves.bunnei
2020-04-06yuzu: Fixes to game list sortingFearlessTobi
Should fix citra-emu/citra#4593. As the issue might not be entirely clear, I'll offer a short explanation from what I understood from it and found from experimentation. Currently yuzu offers the user the option to change the text that's displayed in the "Name" column in the game list. Generally, it is expected that the items are sorted based on the displayed text, but yuzu would sort them by title instead. Made it so that an access to SortRole returns the same as DisplayRole. There shouldn't be any UI changes, only change in behaviour. Also fixes a bug with directory sorting, where having the directories out of order would enable you to try to "move up" to the addDirectory button, which would crash the emulator. Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
2019-10-04yuzu/game_list: Silence -Wswitch and -Wunused-variableReinUsesLisp
2019-09-04Limit the size of directory icons, fix text when icon size is nonefearlessTobi
2019-09-04Change QList to QVectorfearlessTobi
2019-09-04Separate UserNand and Sdmc directoriesfearlessTobi
2019-09-04Address more trivial review commentsfearlessTobi
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-06-05game_list: Accept *.kip as a file extension of executablesZach Hilman
2019-05-20yuzu/game_list: Specify string conversions explicitlyLioncash
Allows the game list code to compile successfully with implicit string conversions disabled.
2019-04-12Fix Clang FormatFreddyFunk
2019-04-11ui_settings: Rename game directory variablesFreddyFunk
2019-04-09Merge pull request #1957 from DarkLordZach/title-providerbunnei
file_sys: Provide generic interface for accessing game data
2019-03-26game_list: Register content with ContentProviderZach Hilman
2019-02-08frontend: Open transferable shader cache for a selected game in the gamelistunknown
2019-01-12Merge pull request #1848 from FreddyFunk/QJsonArraybunnei
game_list: Remove a reference of a reference
2018-12-04qt: Add Properties menu to game list right-clickZach Hilman
2018-12-03game_list: Remove a reference of a referenceFrederic Laing
2018-11-30remove border from GameListBartosz Kaszubowski
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-24Merge pull request #1568 from lioncash/dirbunnei
game_list: Use QFileInfo instead of common's file functions
2018-10-24game_list: Use QFileInfo instead of common's file functionsLioncash
We can just use the facilities that Qt provides instead of pulling in stuff from common. While we're at it, we can also simplify the nearby logging statement's argument by just calling .toStdString()
2018-10-24game_list: Make game list column headers translatableLioncash
These are user-facing strings, so they should be marked as translatable
2018-09-27Merge pull request #1360 from FearlessTobi/port-3979bunnei
Port citra-emu/citra#3979 game_list: move SearchField to game_list_p.h and fix untranslated text
2018-09-21qt: Add UI elements for LayeredFS and related toolsZach Hilman
2018-09-21game_list: move SearchField to game_list_p.h and fix untranslated textzhupengfei
I have tested and made sure the text is translatable, but this would require a translation update to take effect.
2018-09-20game_list: Handle plurals within setFilterResult() betterLioncash
Qt provides an overload of tr() that operates on quantities in relation to pluralization. This also allows the translation to adapt based on the target language rules better. For example, the previous code would result in an incorrect translation for the French language (which doesn't use the pluralized version of "result" in the case of a total of zero. While in English it's correct to use the pluralized version of "result", that is, "results" --- For example: English: "0 results" French: "0 résultat" (uses the singular form) In French, the noun being counted is singular if the quantity is 0 or 1. In English, on the other hand, if the noun being counted has a quantity of 0 or N > 1, then the noun is pluralized. --- For another example in a language that has different counting methods than the above, consider English and Irish. Irish has a special form of of a grammatical number called a dual. Which alters how a word is written when N of something is 2. This won't appear in this case with a direct number "2", but it would change if we ever used "Two" to refer to two of something. For example: English: "Zero results" Irish: "Toradh ar bith" English: "One result" Irish: "Toradh amháin" English: "Two results" Irish: "Dhá thorthaí" <- Dual case Which is an important distinction to make between singular and plural, because in other situations, "two" on its own would be written as "dó" in Irish. There's also a few other cases where the order the words are placed *and* whether or not the plural or singular variant of the word is used *and* whether or not the word is placed after or between a set of numbers can vary. Counting in Irish also differs depending on whether or not you're counting things (like above) or counting people, in which case an entirely different set of numbers are used. It's not important for this case, but it's provided as an example as to why one should never assume the placement of values in text will be like that of English or other languages. Some languages have very different ways to represent counting, and breaking up the translated string like this isn't advisable because it makes it extremely difficult to get right depending on what language a translator is translating text into due to the ambiguity of the strings being presented for translation. In this case a translator would see three fragmented strings on Transifex (and not necessarily grouped beside one another, but even then, it would still be annoying to decipher): - "of" - "result" - "results" There is no way a translator is going to know what those sets of words are actually used for unless they look at the code to see what is being done with them (which they shouldn't have to do).
2018-09-11game_list: Resolve variable shadowing within LoadCompatibilityList()Lioncash
"value" is already a used variable name within the outermost ranged-for loop, so this variable was shadowing the outer one. This isn't a bug, but it will get rid of a -Wshadow warning.
2018-09-11game_list: Use QJsonValueRef() within LoadCompatibilityList()Lioncash
This way, we aren't constructing unnecessary QJsonValue instances.
2018-09-09yuzu: Move compatibility list specifics to their own source filesLioncash
Lets us keep the generic portions of the compatibility list code together, and allows us to introduce a type alias that makes it so we don't need to type out a very long type declaration anymore, making the immediate readability of some code better.
2018-09-07yuzu: Move GameListWorker to its own source filesLioncash
This has gotten sufficiently large enough to warrant moving it to its own source files. Especially given it dumps the file_sys headers around code that doesn't use it for the most part. This'll also make it easier to introduce a type alias for the compatibility list, so a large unordered_map type declaration doesn't need to be specified all the time (we don't want to propagate the game_list_p.h include via the main game_list.h header).
2018-09-04patch_manager: Centralize Control-type NCA parsingZach Hilman
2018-09-04game_list: Fix version display on non-NAND titlesZach Hilman
2018-09-04game_list: Use friendly game versionsZach Hilman
Mainly, from control.nacp metadata instead of cnmt metadata
2018-09-04game_list: Display patch names and versions on listZach Hilman
2018-09-04game_list: Use RegisteredCacheUnion for installedZach Hilman
Reduces code
2018-09-04qt: Add UI support for NSP filesZach Hilman
2018-09-03file_sys: Replace includes with forward declarations where applicableLioncash
Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
2018-09-02vfs_real: Forward declare IOFileLioncash
Eliminates the need to rebuild some source files if the file_util header ever changes. This also uncovered some indirect inclusions, which have also been fixed.
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
2018-08-29Show game compatibility within yuzufearlessTobi
2018-08-23game_list: Add SD registration loading to game listZach Hilman
2018-08-21qt/main: Port part of citra(#3411), open savedata workstech4me
2018-08-20service/filesystem: Use forward declarations where applicableLioncash
Avoids the need to rebuild multiple source files if the filesystem code headers change. This also gets rid of a few instances of indirect inclusions being relied upon
2018-08-20game_list: Avoid uninitialized variables when retrieving program IDLioncash
Avoids potentially leaving this variable uninitialized based off the loader failing to retrieve the ID value.
2018-08-11registration: Add support for force overwrite of installedZach Hilman
2018-08-11game_list: Split game list scans to multiple functionsZach Hilman
Avoids unnecessary rebuilds of control data on every layer of recursion in AddFstEntriesToGameList
2018-08-11game_list: Populate control data from installed NANDZach Hilman