aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/game_list.cpp
AgeCommit message (Collapse)Author
2021-06-02Stop the columns resizing on NAND installKelebek1
2021-05-25yuzu qt: Handle per-game configs for title id 0lat9nq
Currently with programs that have a 0 title id, yuzu loads the custom configuration 0000000000000000.ini for per-game configs. This is not ideal since many homebrews share this id. Instead for these programs, we load a config that is simply the file name and `.ini` appended to it.
2021-05-02Merge pull request #6263 from Kewlan/folder-swap-expand-stateMorph
game_list: Fix dir move up/down expand state
2021-04-30game_list: Fix dir move up/down expand stateKewlan
2021-04-30game_list: Update filter results when removing directoriesKewlan
2021-04-15game_list: Mark games as favorite to make them appear at the top.Kewlan
Icons are from Icons8.
2021-01-18game_list: Fix folder reorderingFearlessTobi
The bug(s) happened because we swapped the contents on values.game_dirs, but the pointer each item had to their respective game_dir wasn't updated. This made it so that the item had the wrong game_dir associated with it after a "move up" or "move down" operation. It can be observed by choosing "open directory location" after such operation. Changed from raw pointer to an index because it's equivalent but a bit clearer, but the change is not essential. Co-Authored-By: Vitor K <29167336+vitor-k@users.noreply.github.com>
2021-01-13yuzu: Migrate off of setMargin() to setContentsMargins()Lioncash
setMargin() has been deprecated since Qt 5, and replaced with setContentsMargins(). We can move over to setContentsMargins() to stay forward-compatible with Qt 6.0.
2020-09-29qt/game_list: Give GameListSearchField::KeyReleaseEater a parentReinUsesLisp
This fixes a memory leak as KeyReleaseEater's destructor was never called.
2020-09-23game_list: Make game list function naming consistentLioncash
Makes the naming consistent with the rest of the functions that are present.
2020-09-23game_list: Eliminate redundant argument copiesLioncash
Several functions can be taken by const reference to avoid copies
2020-08-18Merge pull request #4381 from Morph1984/fix-open-folder-installed-titlebunnei
main: Fix Open Save/Mod Locations for installed titles
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-04main: Fix Open Save/Mod Locations for installed titlesMorph
Previously NAND/SDMC installed titles would open device saves when they are supposed to be user saves. This is due to the control nca not being read and thus returns 0 for both GetDefaultNormalSaveSize() and GetDeviceSaveDataSize(). Fix this by utilizing the patch manager to read the control nca.
2020-07-29game_list: Limit context menu options for homebrewMorph
Hides the following options when the title id is 0: - Open Save Location - Open Mod Data Location - Open Transferable Shader Cache - All removal options except Remove Custom Configuration
2020-07-29game_list: Add "Remove" context menuMorph
Adds the following actions: - Remove Installed Update - Remove All Installed DLC - Remove Shader Cache - Remove Custom Configuration - Remove All Installed Contents
2020-07-11CMakeLists: Make use of /std:c++latest on MSVCLioncash
Provides the buildbot with one builder that is always tracking the latest version of the C++ standard, allowing us to progressively rectify our code and amend any differences between standards over time instead of waiting for a complete standard change, potentially breaking a lot of code all at once.
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).