Commit Graph

88 Commits

Author SHA1 Message Date
Henrik Rydgård 6ad06e00a4 iOS: Close the keyboard on one more event. Makes it easier to get rid of it if it gets stuck. 2026-03-08 13:03:00 +01:00
Henrik Rydgård fff0261be5 Minor code cleanups 2026-03-04 11:24:32 +01:00
Henrik Rydgård e80c67df25 Fix check for top screen. Fixes a problem with input focus after game reset.
Reported by Flide, thanks!

However, there's some underlying bug in screen focus tracking, this just works around it by checking for top screen in a more reliable way.
2026-03-01 17:47:46 +01:00
Henrik Rydgård 3aa1aba8f5 Correct an issue where there was a 1 frame latency in UI event processing 2026-02-08 12:44:12 +01:00
Henrik Rydgård eb234a1563 Finish the split. Greatly simplifies the render code in EmuScreen. 2026-02-08 10:46:16 +01:00
Henrik Rydgård 18a67b82d2 Do the same with KeyInputFlags. Fix minor UI misalignments 2025-12-19 13:41:58 +01:00
Henrik Rydgård 481d0fd18c Switch TouchInputFlags to enum class, fix some minor UI issues
Scroll views now only wheel-scroll if the mouse is hovering over them.
2025-12-19 11:38:56 +01:00
Henrik Rydgård 0453fb5449 Move PopupScreen base class into PopupScreens.cpp/h 2025-11-10 10:26:38 +01:00
Henrik Rydgård 67010ff2af Split the display layout config between landscape and portrait orientations 2025-11-05 12:49:51 +01:00
Henrik Rydgård e2e4ceb525 Fix UI alignment problem on pause screen 2025-11-04 11:06:06 +01:00
Henrik Rydgård 42a44e4243 Improve inset handling 2025-10-28 14:54:28 +01:00
Henrik Rydgård acf273a55a Rename "vertical layout" to "portrait layout", to avoid confusion 2025-10-23 16:11:54 +02:00
Henrik Rydgård 1514df8e3a Add a much more usable back button to Settings screen in portrait mode 2025-10-23 13:48:41 +02:00
Henrik Rydgård 58456ae950 Remove the UI::EventReturn return values. Makes editing the UI nicer. 2025-09-15 11:09:00 -06:00
Henrik Rydgård e78341b822 Hide theme behind an accessor (so we can expose it only as const) 2025-09-15 09:31:18 -06:00
Henrik Rydgård c9b5f5b33a Add crashfix for dialog value returns if the views were recreated 2025-05-14 00:39:56 +02:00
Henrik Rydgård 863bef5f64 Give all views a bool popupStyle_, so they know the context. 2025-02-17 11:25:23 -06:00
Henrik Rydgård 8dba3a50f7 imgui: Code cleanup, fix clean shutdown 2024-11-05 11:27:16 +01:00
Henrik Rydgård b23fe6ff45 Reformat UIScreen::DoRecreateViews for readability 2024-10-25 21:31:58 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 835aa02a28 Add basic soft-keyboard support on iOS
This uses the old UIKeyInput which is a bit limited language-wise, however, it's enough
to log into RetroAchievements and change your nickname, at least, and it was the easiest to implement.

So, this solves 90% of the problems caused by missing keyboard support, at least.
2024-05-20 19:08:35 +02:00
Henrik Rydgård f61baa3b51 Switch UI event notifications (used for soft-keyboard) from strings to enums 2024-05-20 18:25:16 +02:00
Henrik Rydgård c5791764d8 Make the i18n T function use std::string_view
Buildfixes, crashfixes

One more

Android buildfix

Buildfix Qt
2024-02-12 18:44:39 +01:00
Herman Semenov 2a31f8c6c0 [Common/Core/HLE] Object out of scope optimization for better codegeneration (lower level scope) 2023-12-20 12:33:56 +03:00
Henrik Rydgård e8f70594a4 Implement running the game in the background on the pause screen. Fix some bugs. 2023-12-11 12:41:44 +01:00
Henrik Rydgård 6d51fbc1e6 Refactor UI background rendering. There's now a BackgroundScreen. 2023-12-10 22:26:46 +01:00
Henrik Rydgård 48d60d8613 Remove UIContext knowledge of screen tags 2023-12-10 22:21:50 +01:00
Henrik Rydgård 3832b32bbc Add the concept of a background screen 2023-12-10 22:21:48 +01:00
Henrik Rydgård 0ff0ad9140 Remove preRender/postRender methods from screens, in favor of a mode parameter. 2023-12-10 14:09:55 +01:00
Henrik Rydgård 22295a6412 Plumb through a ScreenRenderMode parameter 2023-12-10 13:05:17 +01:00
Henrik Rydgård 85001bf71f Remove some redundant uses of MOBILE_DEVICE. Goal is to one day get rid of that define. 2023-12-07 17:30:15 +01:00
Henrik Rydgård 676a4de4d7 Remove an ifdef controlling dialog button order 2023-12-07 17:30:15 +01:00
Henrik Rydgård 19e4de5088 Change global UI messages to use an enum instead of strings.
Makes it easier to add new ones and delete outdated ones without missing
any uses.
2023-09-30 11:37:02 +02:00
Henrik Rydgård ee93e4a2ca Batch axis events all the way into ControlMapper 2023-09-29 11:14:19 +02:00
Henrik Rydgård 4df4adb936 Fix closing the chat window with ESC, see #18134 2023-09-11 17:37:50 +02:00
Henrik Rydgård 109205a56a Add return value to UnsyncTouch 2023-09-04 11:00:06 +02:00
Bashar Astifan 4e2652bd4b OSK support final update
- Renamed few functions to avoid confusion
- Now UI will report text (gotfocus, lostfocus), popup_closed to the frontend
- Both cases (DPad, Keyboard) covered
2023-08-24 06:33:36 +04:00
Bashar Astifan 17f1ab306b OSK behavior correction 2023-08-24 03:30:09 +04:00
Henrik Rydgård 0d4a2a7594 Call draw->Begin/EndFrame from outside the screen manager.
Just a very small refactoring that I want in a separate commit.
2023-08-09 23:24:28 +02:00
Henrik Rydgård 85f5136a81 Add a GetProperty query for the git version 2023-07-20 10:57:52 +02:00
Henrik Rydgård 5023f2cb6c Fix key event processing issue.
Fixes #17712
2023-07-14 12:01:38 +02:00
Henrik Rydgård bb40baefb5 Fix issue with volume keys in the app UI 2023-06-13 00:47:48 +02:00
Henrik Rydgård 50aa598ed1 Fix handling events in "empty" (no root) UIScreens 2023-05-27 00:35:25 +02:00
Henrik Rydgård 3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Henrik Rydgård cca613e785 Initial work on queueing up UI events for processing. Key events excepted for now. 2023-05-26 18:41:13 +02:00
Henrik Rydgård 311a1a0fe2 Fix glitch when mapping analog inputs, caused by multiple TriggerFinish caused by stray analog axis events.
ADd some guards all over the place against the same thing.
2023-05-06 15:33:28 +02:00
Henrik Rydgård a132b72ba1 Paranoia 2023-05-04 01:24:31 +02:00
Henrik Rydgård ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård 88fe4799a5 UI: Fix weird misbehavior dragging outside a popup dialog
Fixes #17107
2023-03-24 00:11:49 +01:00
Henrik Rydgård 8b431b39ba Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00