summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/GameList
AgeCommit message (Collapse)Author
2026-08-16GameList: Enable word wrap in grid viewJoshua Vandaële
2026-04-24QtUtils: Add ShowFileInFolder function and make GameList right-click menu ↵Jordan Woyak
actions use it.
2026-04-17Improve usage of std::move and const references parametersMartino Fontana
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`. Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move. Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-03-13GameList: Add status bar with game countDentomologist
The status bar shows the number of games in your collection. If any games are hidden by the platform, region, or search filters it will also show how many games are visible and how many are filtered. The visibility of the status bar can be toggled from the menu by selecting `View`->`Show Game Count`. Implements https://bugs.dolphin-emu.org/issues/9517.
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2025-08-27GameList: Use List View's sorting for Grid ViewDentomologist
Since Grid View doesn't have a header for users to change sorting options with, use List View's sorting in Grid View too.
2025-08-01GameTracker: Fix games not being displayedDentomologist
2025-07-08Avoid map/set double lookupsSintendo
Fix some common anti-patterns with these data structures. - You can dereference the iterator returned by `find` to access the underlying value directly, without an extra `operator[]`/`at`. - Rather than checking for an element before insertion/deletion, you can just do the operation and if needed check the return value to determine if the insertion/deletion succeeded.
2025-06-16GameListModel: Update tag list and sorting immediatelyDentomologist
Emit the dataChanged signal when adding or removing tags from a game. This both updates the contents of the game's Tags column immediately (instead of having to wait for the context menu to be closed), and updates the sorting if games are being sorted by the Tags column.
2025-06-16Qt: Use NonAutodismissibleMenu in more placesDentomologist
Use NonAutodismissibleMenu for MenuBar's Options, JIT, and Tools->"Connect Wii Remotes" menus, as well as for the Tags menu in GameList's context menu. NonAutodismissibleMenu allows users to check or uncheck multiple checkable menu items without closing the menu between selections.
2025-06-14Source: Remove redundant lambda parameter listsDr. Dystopia
2025-06-07Merge pull request #13665 from jordan-woyak/dark-mode-filterJordan Woyak
DolphinQt: Replace widespread SetQWidgetWindowDecorations calls with an event filter.
2025-06-07Merge pull request #13522 from ↵Jordan Woyak
tygyh/Enforce-overriding-destructor-style-Core&UnitTests Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-07DolphinQt: Replace widespread SetQWidgetWindowDecorations calls with an ↵Jordan Woyak
event filter.
2025-06-04GameList: Prevent opening Properties multiple times for the same gameMartino Fontana
2025-05-17Merge pull request #13190 from tygyh/Move-to-inner-scope-DolphinQTJordan Woyak
DolphinQT: Move variables to inner scope
2025-05-03Merge pull request #13509 from ↵Admiral H. Curtiss
Dentomologist/gamelist_fix_right_doubleclick_starting_games GameList: Ignore non-left double-clicks
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-04-30WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add ↵Jordan Woyak
single producer WorkQueueThreadSP.
2025-04-23linter: Apply clang-format 19.1 formattingJoshua Vandaële
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-21Add Triforce platform and preliminary boot.id parsingZopolis4
2025-04-21Adding support for detecting .bin imagesZopolis4
2025-04-12GameList: Ignore non-left double-clicksDentomologist
Don't start a game when a double-click is triggered by a mouse button other than the left button. Fixes https://bugs.dolphin-emu.org/issues/12272.
2025-03-26Move variables to inner scopetygyh
2025-02-16DolphinQt: Add "Time Played" column to game list viewAneesh Maganti
Shows minutes/hours in the list view and handles column visibility.
2025-01-01Simplify `std::find` with `Common::Contains`mitaclaw
In NandPaths.cpp, the `std::initializer_list<char>` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp). The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
2024-12-26Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-ofJMC47
Ranges Algorithms Modernization - Of
2024-12-15Modernize `std::all_of` with rangesmitaclaw
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed. In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
2024-12-10Add GFX property tabs to game properties window, allowing them to be set to ↵TryTwo
the user game ini. Additionally, refactor ConfigWidgets to reduce duplication. Refactor GameConfigWidget to use config system. Creates a layer outside the game config layer system and passes it to the created gfx widows, so as to not interfere with the global config system. Supports multiple game properties being open at once. Supports editing while a game is playing, but the options only save and update the active game when the window is closed. Right-clicking will remove a property from the game ini.
2024-10-04Partially revert "Revert "Audit uses of IsRunning and GetState""JosJuice
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a, except for the changes in BaseConfigLoader.cpp, which caused the bug that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917 contains an improved change to BaseConfigLoader.cpp, which can be merged (or rejected) independently. A few changes have also been made based on review comments.
2024-07-21Use C++20 erase_if() instead of erase(remove_if()) (NFC)Tillmann Karras
2024-06-26Revert "Audit uses of IsRunning and GetState"JosJuice
This reverts commit 72cf2bdb87f09deff22e1085de3290126aa4ad05. SYSCONF settings are getting cleared when they shouldn't be. Let's revert the change until I get proper time to figure out why it's broken.
2024-06-23Merge pull request #12884 from Tilka/qt_thisAdmiral H. Curtiss
DolphinQt: fix some warnings
2024-06-23DolphinQt: fix two -Wshadow-uncaptured-local warningsTillmann Karras
2024-06-21Audit uses of IsRunning and GetStateJosJuice
Some pieces of code are calling IsRunning because there's some particular action that only makes sense when emulation is running, for instance showing the state of the emulated CPU. IsRunning is appropriate to use for this. Then there are pieces of code that are calling IsRunning because there's some particular thing they must avoid doing e.g. when the CPU thread is running or IOS is running. IsRunning isn't quite appropriate for this. Such code should also be checking for the states Starting and Stopping. Keep in mind that: * When the state is Starting, the state can asynchronously change to Running at any time. * When we try to stop the core, the state gets set to Stopping before we take any action to actually stop things. This commit adds a new method Core::IsUninitialized, and changes all callers of IsRunning and GetState that look to me like they should be changed.
2024-05-04Merge pull request #12695 from mitaclaw/core-global-system-4Admiral H. Curtiss
Core::IsRunning: Avoid Global System Accessor
2024-05-01Core::IsRunning: Avoid Global System Accessormitaclaw
2024-04-30DolphinQt: Properly Delete (Some) Widgetsmitaclaw
This is not every memory leak, just the ones that were obvious.
2024-04-14GameList: Show (Disc 1) for first disc of two-disc gamesDentomologist
Append disc label to the first disc of two-disc games too, rather than only labelling the second disc.
2024-03-08DVDInterface: Modernize With CPUThreadGuardmitaclaw
2024-01-31Migrate SConfig::bWii to System.Admiral H. Curtiss
2023-12-16Merge pull request #11497 from vyuuui/debugger_assembler_uiTilka
Built-in assembler for debugger interface
2023-12-14GameListModel: Remove fallthrough in data()Lioncash
A harmless case of it, but this can still cause warnings.
2023-12-13Parser and Assembler implementationsvyuuui
2023-12-02Disable memory patches in hardcore modeLillyJadeKatrin
Memory patches would be an easy way to manipulate the memory needed to calculate achievement logic, so they must be disabled. Riivolution patches that do not affect memory are allowed, as they will be hashed with the game file.
2023-08-12Merge pull request #12093 from Hark64/exportWiiSaveErrorFixAdmiral H. Curtiss
Disable Wii Save Options When Emulation Is Running
2023-08-12DolphinQt: Turn of wii save options during emulationHarkaran Mann
2023-08-12DolphinQt: Set window decorations for all top-level QWidgets.Admiral H. Curtiss
2023-04-25DolphinQt: cache icons instead of single pixmapsShawn Hoffman
Fixes dynamically changing dpi scaling. Load resources from svg if possible. Currently svg support is not in Qt build in Externals, and image files need to be added later.
2023-04-01GameList: Check Wii save pathSepalani
Make the behaviour consistent with GC save