1
0
Fork 0
forked from eden-emu/eden
Commit graph

154 commits

Author SHA1 Message Date
f4386423e8
[qt] refactor: qt_common lib (#94)
This is part of a series of PRs made in preparation for the QML rewrite. this PR specifically moves a bunch of utility functions from main.cpp into qt_common, with the biggest benefit being that QML can reuse the exact same code through ctx passthrough.

Also, QtCommon::Frontend is an abstraction layer over several previously Widgets-specific stuff like QMessageBox that gets used everywhere. The idea is that once QML is implemented, these functions can have a Quick version implemented for systems that don't work well with Widgets (sun) or for those on Plasma 6+ (reduces memory usage w/o Widgets linkage) although Quick from C++ is actually anal, but whatever.

Other than that this should also just kinda reduce the size of main.cpp which is a 6000-line behemoth rn, and clangd straight up gives up with it for me (likely caused by the massive amount of headers, which this DOES reduce).

In the future, I probably want to create a common strings lookup table that both Qt and QML can reference--though I'm not sure how much linguist likes that--which should give us a way to keep language consistent (use frozen-map).

TODO: Docs for Qt stuff

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: eden-emu/eden#94
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-09-15 17:21:18 +02:00
982b171f30
[desktop] fix random qt annoyances (#226)
Removes that silly QLayout message and improves consistency thereof for
other QLayouts

Still work to be done but this is all that's needed rn

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: eden-emu/eden#226
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-08-08 01:25:00 +02:00
9278eac8f0 Fix controls config dialog
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 02:38:34 +02:00
Narr the Reg
3910796711 Merge pull request #12380 from flodavid/save-profile
Save configuration profile name used by players
2024-01-16 21:27:25 -06:00
german77
194746c558 service: hid: Create abstracted pad structure 2024-01-11 19:35:04 -06:00
flodavid
ec5646a83e Save profile name used
- Save the profile name in global config
- Read the profile name when reading the global config
2024-01-08 18:43:56 +01:00
Narr the Reg
146975c880 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
t895
230bd06245 config: Unify config handling under frontend_common
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings.

As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-11-21 01:58:13 -05:00
german77
6788dffa53 core: hid: Split SL and SR buttons 2023-11-11 21:03:15 -06:00
Baptiste Marie
83f4158d6c input_common: Redesign mouse panning 2023-06-12 00:47:52 +02:00
Narr the Reg
63ab5ee887 core: hid: Allow to calibrate gyro sensor 2023-05-08 12:06:38 -06:00
bunnei
12c4c09b3f Merge pull request #10125 from lat9nq/vsync-select
configuration: Expose separate swap present modes
2023-05-06 21:55:39 -07:00
Narr the Reg
53ec77c62c input_common: Add property to invert an axis button 2023-05-05 17:18:35 -06:00
lat9nq
41e7765eb5 configure_input_player: Add missing include
Cleaning up includes in bootmanager and configure_graphics has exposed a
missing include here.
2023-05-02 21:52:43 -04:00
Narr the Reg
2e388209d7 Revert "yuzu: config: Remove player 8 and 9 from config file" 2023-02-26 14:39:13 -06:00
Narr the Reg
f6531fb17c yuzu: config: Remove player 8 and 9 from config file 2023-02-25 22:20:32 -06:00
Narr the Reg
8a7dfb2439 input_common: Split mouse input into individual devices 2023-02-16 14:22:13 -06:00
german77
db99ab5431 input_common: Implement turbo buttons 2023-02-01 12:42:05 -06:00
Narr the Reg
2b87d9e674 yuzu: Update controller colors and button names 2023-01-19 18:05:20 -06:00
Narr the Reg
b6721a40fe yuzu: Read mouse wheel input 2023-01-10 18:20:58 -06:00
german77
81cfe514ab yuzu: Automatically refresh device list 2022-12-23 18:26:48 -06:00
Lioncash
7a349e99ee emulated_controller: Remove unused parameter in GetMappedDevices()
This isn't used, so it can be removed to make the function a little
nicer.
2022-12-05 18:27:18 -05:00
ameerj
76a58e741a configure_input_player: Fix profile saving when using handheld controller type 2022-11-28 19:22:18 -05:00
Mai
9b82baf9d6 Merge pull request #8880 from german77/slow-moving
input_common: Increase mapping timer from 2.5 seconds to 4 seconds
2022-09-12 23:30:51 -04:00
german77
1472f16091 input_common: Increase mapping timer from 2.5 seconds to 4 seconds 2022-09-11 08:58:06 -05:00
Narr the Reg
30a63bdb9b yuzu: input: fix invert symbol on axis and order options alphabetically 2022-09-06 11:44:29 -05:00
Narr the Reg
d4fb46d8f9 input_common: Add support for analog toggle 2022-09-06 11:21:28 -05:00
Narr the Reg
d98ce142ca yuzu: Allow longer controller profile names 2022-08-18 17:46:39 -05:00
Andrea Pappacoda
6a2efdda2f chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
Morph
e1e6c62dd9 configure_input_player: Eliminate variable shadowing 2022-06-14 08:30:08 -04:00
Narr the Reg
ec8fa22768 yuzu: Config allow to delete single axis directions when buttons are mapped to a stick 2022-04-26 19:03:54 -05:00
Narr the Reg
d0bdbb9afb yuzu: config: Set default range to 95% 2022-04-26 19:03:54 -05:00
bunnei
e72179e9fd Merge pull request #7978 from german77/sideway
input_common: Map sticks correctly when mapped sideways
2022-04-21 22:21:59 -07:00
Kyle K
4d92678a6a ui: translate hat directions
QObject ends up being its own translation context. But this works in our
favor. GetButtonName and GetDirectionName will share one translation the
directions such as "Left" "Right" and the ConfigureInputPlayer context
will contain translations that show up in the form, in places that aren't
those buttons.
2022-04-19 04:24:39 -07:00
Narr the Reg
d70524b074 yuzu: Call ignore event after ensuring it's initialized 2022-04-16 00:49:26 -05:00
Narr the Reg
f27e097244 input_common: Map sticks correctly when mapped sideways 2022-03-21 19:39:33 -06:00
ameerj
012963c513 yuzu: Reduce unused includes 2022-03-20 02:25:09 -04:00
Narr the Reg
10a0790ce5 yuzu: config: Fix mapping issues with the enter key 2022-02-15 11:08:11 -06:00
german77
2ea4a2b74e yuzu: Add auto center on right click 2022-02-06 19:56:03 -06:00
bunnei
32f861dd49 Merge pull request #7807 from german77/moar-buttons
input_common: Add home and hard touch press buttons to UDP controllers
2022-02-01 22:37:13 -07:00
Lioncash
b4a7e150c7 configure_input_player: Eliminate variable shadowing 2022-02-01 12:54:00 -05:00
Lioncash
76c9d3318f configure_input_player: std::move input setters in HandleClick 2022-02-01 12:51:03 -05:00
Lioncash
3379694d32 configure_input_player: Avoid unnecessary ParamPackage copies
Avoids churning allocations.
2022-02-01 12:20:23 -05:00
german77
a2fe5dffa9 input_common: Add home and hard touch press buttons to UDP controllers 2022-01-30 09:17:22 -06:00
bunnei
584eb04402 Merge pull request #7770 from german77/motion-threshold
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
german77
1fca7203d3 input_common: Add option to configure gyro threshold 2022-01-23 21:54:33 -06:00
Narr the Reg
0a75c32ab8 yuzu: Add modifiers for keyboard 2022-01-21 20:41:50 -06:00
german77
991460cd98 input_common: Reintroduce motion from mouse and use button names 2022-01-16 20:37:34 -06:00
german77
a52791af6b yuzu: Use pad parameter to choose the correct controller 2022-01-07 16:56:36 -06:00
german77
8b989ac3ae controller_applet: Only populate supported controllers 2022-01-01 21:42:17 -06:00