aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/game_list.cpp
AgeCommit message (Collapse)Author
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
2018-08-11game_list: Modify game list to scan installed titlesZach Hilman
2018-08-09game_list: Reorder error checksZach Hilman
clang-format fix
2018-08-09loader: Add more descriptive errorsZach Hilman
Full list of new errors and descriptions in core/loader/loader.h
2018-08-08vfs: Fix typo in VfsFilesystem docsZach Hilman
2018-08-08core: Port core to VfsFilesystem for file accessZach Hilman
2018-08-06loader: Add icon and title support to XCIZach Hilman
2018-08-06Use const where applicableZach Hilman
2018-08-06Avoid parsing RomFS to directory in NCAZach Hilman
2018-08-06Merge pull request #947 from lioncash/encodingbunnei
game_list: Use QString::fromStdString() where applicable instead of c_str()
2018-08-06game_list: Remove unnecessary conversion to std::string in ValidateEntry()Lioncash
We can just use the file interfaces that Qt provides to prevent needing to convert to std::string.
2018-08-06game_list: Use QString::fromStdString() where applicable instead of c_str()Lioncash
The codec used by Qt for const char* and std::string don't necessarily have to be the same depending on locale. Therefore, we should be using the correct functions to do the conversions.
2018-08-06game_list: Join declarations and assignments in onTextChanged()Lioncash
There's no need to keep these separate from one another.
2018-08-01Remove files that are not usedZach Hilman
2018-07-21file_util: Use a u64 to represent number of entriesLioncash
This avoids a truncating cast on size. I doubt we'd ever traverse a directory this large, however we also shouldn't truncate sizes away.
2018-07-18Merge pull request #684 from lioncash/nonmemberbunnei
game_list: Make ContainsAllWords an internally linked non-member function
2018-07-18Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-18game_list: Make ContainsAllWords an internally linked non-member functionLioncash
This function actually depends on no internal class state, so it doesn't even need to be a part of the class interface.
2018-07-18Merge pull request #681 from lioncash/constbunnei
game_list: Make containsAllWords a const member function
2018-07-18game_list: Upper-case containsAllWords to ContainsAllWords()Lioncash
This makes it consistent with most of the other private utility functions.
2018-07-18game_list: Make containsAllWords a const member functionLioncash
This doesn't actually modify the internal class state, so it can be a const member function. While we're at it, amend the function to take its arguments by const reference.
2018-07-18game_list: Remove unnecessary QString initialization in KeyReleaseEaterLioncash
QString initializes to an empty string by default, so this does nothing meaningful. While we're at it, use a constructor initializer list for initializing the gamelist member variable.
2018-07-07Revert "Virtual Filesystem (#597)"bunnei
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
2018-07-02Update clang formatJames Rowe
2018-07-02Rename logging macro back to LOG_*James Rowe