-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Qt: Rework the settings window #13066
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Perhaps problems like this can be solved on the side? :) |
This PR is exclusively for the settings window so no, open a GitHub issue for it if there isn't one already. |
9767aa0
to
34fbbfc
Compare
169e413
to
64e459a
Compare
820a061
to
382ccce
Compare
This is ready for review now. |
7a0f679
to
89827bd
Compare
032edc7
to
4cbabe6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't blow up my house. Approved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still works.
4cbabe6
to
5245ed0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
---------------------------------------------------------------------------------- clk.mk 7d6e24b8ed2bd03e1f9089304955de0f6de610f3 # Version: Commits on Aug 22, 2025 ---------------------------------------------------------------------------------- Merge pull request #1536 from TomHarte/8042Redo Rejig 8042; extend logger for common conditional use case., ------------------------------------------------------------------------------------------ dolphin-emu.mk 2e09dc0fdda2818d89a7962d5eb44339fb6b467a # Version: Commits on Aug 21, 2025 ------------------------------------------------------------------------------------------ Merge pull request #13891 from jordan-woyak/grooverider-ini GameINI: Disable ImmediateXFBEnable for Grooverider., ------------------------------------------------------------------------------------- hatari.mk 1524b194b2b29e72938095d3642adea9a5bc0a60 # Version: Commits on Aug 21, 2025 ------------------------------------------------------------------------------------- Make auto-sleeper take sleep time from program name It increases the program size, but one does not need to build new ones to experiment with sleep times., ----------------------------------------------------------------------------------------- lightspark.mk 24cd92f269ee97c6ed2ecdc5f0777e89578e7e92 # Version: Commits on Aug 21, 2025 ----------------------------------------------------------------------------------------- [ABCContext] don't turn egative zero\ constants into integer fixes regressions from previous commit in ruffle tests, ---------------------------------------------------- pcsx2.mk v2.5.120 # Version: Commits on Aug 21, 2025 ---------------------------------------------------- - [Qt: Rework the settings window](PCSX2/pcsx2#13066) ----------------------------------------------------------------------------------- play.mk 7062c5e67a4a90b75fe1d0221c43f678a0d049b6 # Version: Commits on Aug 19, 2025 ----------------------------------------------------------------------------------- Remove minimum size on bootable view widget., --------------------------------------------------------------- ruffle.mk nightly-2025-08-22 # Version: Commits on Aug 22, 2025 --------------------------------------------------------------- ## What's Changed * tests: Fix `avm2/mouse_wheel_events` & `avm2/edittext_line_methods` by @kjarosh in ruffle-rs/ruffle#21425 * core: Make code more readable for PixelRegion (nit) by @Flawake in ruffle-rs/ruffle#21433 * avm1: Resolve _root from display object's root by @jarca0123 in ruffle-rs/ruffle#21337 * chore: Mark `avm2/stage3d_errors_atf` test as flaky by @kjarosh in ruffle-rs/ruffle#21427 * ci: Add test coverage by @kjarosh in ruffle-rs/ruffle#21342 * chore: Fix clippy warnings by @kjarosh in ruffle-rs/ruffle#21438 **Full Changelog**: ruffle-rs/ruffle@nightly-2025-08-21...nightly-2025-08-22, ------------------------------------------------------------------------------------------- xenia-native.mk 765073021a3fd0ec193f89ff224aad5a3af31551 # Version: Commits on Aug 22, 2025 ------------------------------------------------------------------------------------------- [CPU/XEX] Use fmt to make hash string, check size, ----------------------------------------------------------------------------------- ymir.mk a831035fedc92eef05b31f552c1ce61321bb1d11 # Version: Commits on Aug 21, 2025 ----------------------------------------------------------------------------------- fix(SH2): Fix MOVA offset when in delay slot, ------------------------------------------------------------------------------------ box64.mk cb2c29c5f992cb4e5ec481f8d99b973b90411403 # Version: Commits on Aug 22, 2025 ------------------------------------------------------------------------------------ [INTERP] Refactored how 64/65/66/67 and F2/F3 prefixes are handled, removing some (mostly) duplicated code, --------------------------------------------------------------------------------------- corsixth.mk ac604c5f00b0e9c9cadd0d4d40ea7c2bcf6febeb # Version: Commits on Aug 22, 2025 --------------------------------------------------------------------------------------- Update screenshot function (#2972), ------------------------------------------------------------------------------------------ devilutionx.mk 0c3fe1345cab72586dfcf1d9bcffb863142afb0c # Version: Commits on Aug 21, 2025 ------------------------------------------------------------------------------------------ Parse Quest Data from TSV, ------------------------------------------------------------------------------------------- jazz2-native.mk 59732fc2951c49ebae077cad671b3d117c4b380b # Version: Commits on Aug 21, 2025 ------------------------------------------------------------------------------------------- Minor changes, ------------------------------------------------------ syncthing.mk v2.0.3 # Version: Commits on Aug 22, 2025 ------------------------------------------------------ ## Major changes in 2.0 - Database backend switched from LevelDB to SQLite. There is a migration on first launch which can be lengthy for larger setups. The new database is easier to understand and maintain and, hopefully, less buggy. - The logging format has changed to use structured log entries (a message plus several key-value pairs). Additionally, we can now control the log level per package, and a new log level WARNING has been inserted between INFO and ERROR (which was previously known as WARNING...). The INFO level has become more verbose, indicating the sync actions taken by Syncthing. A new command line flag `--log-level` sets the default log level for all packages, and the `STTRACE` environment variable and GUI has been updated to set log levels per package. The `--verbose` and `--logflags` command line options have been removed and will be ignored if given. - Deleted items are no longer kept forever in the database, instead they are forgotten after fifteen months. If your use case require deletes to take effect after more than a fifteen month delay, set the `--db-delete-retention-interval` command line option or corresponding environment variable to zero, or a longer time interval of your choosing. - Modernised command line options parsing. Old single-dash long options are no longer supported, e.g. `-home` must be given as `--home`. Some options have been renamed, others have become subcommands. All serve options are now also accepted as environment variables. See `syncthing --help` and `syncthing serve --help` for details. - Rolling hash detection of shifted data is no longer supported as this effectively never helped. Instead, scanning and syncing is faster and more efficient without it. - A \default folder\ is no longer created on first startup. - Multiple connections are now used by default between v2 devices. The new default value is to use three connections: one for index metadata and two for data exchange. - The following platforms unfortunately no longer get prebuilt binaries for download at syncthing.net and on GitHub, due to complexities related to cross compilation with SQLite: - dragonfly/amd64 - illumos/amd64 and solaris/amd64 - linux/ppc64 - netbsd/* - openbsd/386 and openbsd/arm - windows/arm - The handling of conflict resolution involving deleted files has changed. A delete can now be the winning outcome of conflict resolution, resulting in the deleted file being moved to a conflict copy. This release is also available as: * APT repository: https://apt.syncthing.net/ * Docker image: `docker.io/syncthing/syncthing:2.0.3` or `ghcr.io/syncthing/syncthing:2.0.3` (`{docker,ghcr}.io/syncthing/syncthing:2` to follow just the major version) ## What's Changed ### Fixes * fix(cmd): restore --version flag for compatibility by @acolomb in syncthing/syncthing#10269 * fix(cmd): make database migration more robust to write errors by @calmh in syncthing/syncthing#10278 * fix(cmd): provide temporary GUI/API server during database migration by @calmh in syncthing/syncthing#10279 * fix(db): clean files for dropped folders at startup by @calmh in syncthing/syncthing#10280 ### Other * chore(slog): re-enable LOGGER_DISCARD (fixes #10262) by @rasa in syncthing/syncthing#10267 * build: downgrade gopsutil (fixes #10276) by @calmh in syncthing/syncthing#10277 **Full Changelog**: syncthing/syncthing@v2.0.2...v2.0.3, ---------------------------------------------------------------------------------------- retroarch.mk 6c120d07a8cacd024d1a3f6236cf1de80e3b78e5 # Version: Commits on Aug 22, 2025 ---------------------------------------------------------------------------------------- Fetch translations from Crowdin, ------------------------------------------------------------------------------------- gzdoom.mk ba9e127e9f1e851d69d4ff3843f1f883188b45f7 # Version: Commits on Aug 14, 2025 ------------------------------------------------------------------------------------- Added to CreateTossable and PowerWeaponLevel2, ------------------------------------------------------------------------------------------ xash3d-fwgs.mk dc1e39264bdf7ad9945f81a165527d6ff18ab417 # Version: Commits on Aug 21, 2025 ------------------------------------------------------------------------------------------ Documentation: donate: add new donation info, -------------------------------------------------------------------------------------------- libretro-dice.mk 2f847e9e3ccdc8086ab02ab3e6c97bf0729deadd # Version: Commits on Aug 22, 2025 -------------------------------------------------------------------------------------------- Fetch translations & Recreate libretro_core_options_intl.h, ----------------------------------------------------------------------------------------------------- libretro-genesisplusgx.mk 54eb537ad0d82b242a5fa63f061b1480ffa493da # Version: Commits on Aug 22, 2025 ----------------------------------------------------------------------------------------------------- [Core/MD] fixed Life on Mars / Life on Earth Reimagined original ROM detection, -------------------------------------------------------------------------------------------- libretro-gpsp.mk 143b0abb02a6ff501757674c9fdf47e0fcd7cbd3 # Version: Commits on Aug 21, 2025 -------------------------------------------------------------------------------------------- Emit .note.GNU-stack on asm files to signal a non-executable stack, ------------------------------------------------------------------------------------------------ libretro-panda3ds.mk 78002be334ea8a86e64d20dd8a85ac2af568f1fa # Version: Commits on Aug 21, 2025 ------------------------------------------------------------------------------------------------ Vendor Teakra, make emulator own DSP RAM and add DSP RAM to fastmem (#806) * DSP: Own DSP RAM and add it to fastmem * Vendor Teakra * Add MacOS support to fastmem * Fix MacOS fastmem paths * Fix iOS build, --------------------------------------------------------------------------------------------- libretro-vba-m.mk a17df26e5208173e5e71b174f9a97a04d416fd29 # Version: Commits on Aug 21, 2025 --------------------------------------------------------------------------------------------- build: fix Debian installdeps for current Ubuntu Fix installdeps for Debian variants by checking for `libsdl3-dev` and falling back to `libsdl2-dev` if not available. Also add `libx264-dev` and `libx265-dev` to the list of FFmpeg packages as we now require them. Fix #1486 Signed-off-by: Rafael Kitover <[email protected]>,
Description of Changes
Refactor the settings window so that the tabs and scroll areas are created programmatically instead of from Qt Designer.
Since all the pages now have scroll areas that means that if the contents of a page is horizontally too big it now shows a horizontal scroll bar instead of cutting off text. This may happen if a translated string is longer than the original.
A lot of the existing translations on the graphics and debug pages will not apply since the names of the UI classes have changed. Hopefully that won't be too inconvenient for our translators.
Some groups of spin boxes on the graphics page have been split across multiple lines as for the per-game settings it displays the text "Default: " in the spin box and there previously wasn't enough space.
Some other issues I have fixed are listed below:
Rationale behind Changes
There have been a lot of changes made recently that manually add scroll areas to individual settings pages as settings are added/moved. This wastes time and results in an inconsistent user experience as all the scroll areas are inevitably configured differently.
Examples of inconsistent scroll areas:
Suggested Testing Steps
Go through all the settings and make sure they still work. Try resizing the window and make sure that the widgets behave themselves. Try to show/hide different tabs on the graphics page by changing renderers and enabling/disabling the HW fixes check box. Compare dev/release builds and make sure the same changes are made to the settings page.
Did you use AI to help find, test, or implement this issue or feature?
No.