Wolf
b646ece14b
impr: Refactor and restructure Event Manager ( #2082 )
...
### Problem description
This PR addresses issue #2013 that described a cluttered Event Manager.
This is a DX issue and should not impact the users whatsoever.
### Implementation description
The changes revolve around three main points:
1. the Event Manager (`event_manager.hpp`) was split into four
categories: GUI, Interaction, Lifecycle, and Provider, and two types:
Events, and Requests. This results in the following files:
- `events_gui.hpp`
- `events_interaction.hpp`
- `events_lifecycle.hpp`
- `events_provider.hpp`
- `requests_gui.hpp`
- `requests_interaction.hpp`
- `requests_lifecycle.hpp`
- `requests_provider.hpp`
2. Every event and request now has its own piece of documentation, with
a `@brief`, accompanied by a longer comment if needed, and gets its
`@param`s described.
3. The old `event_manager.hpp` import was removed and replaced by the
correct imports wherever needed, as to reduce spread of those files only
to where they are truly useful.
### Additional things
The commits have been split into (chrono-)logical steps:
- `feat`: split the Event Manager, and replace the imports
- `refactor`, `chore`: make various small changes to match the required
structure
- `docs`: add documentation for events and requests
Hopefully, this will help to review the PR.
*Note: Beware of very long rebuild times in between the commits, use
them sparingly! The Actions will ensure this PR builds anyways*
Closes #2013
---------
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Co-authored-by: Nik <werwolv98@gmail.com>
2025-01-25 15:32:07 +00:00
WerWolv
f4bad0053a
fix: Linking errors in the web build
2025-01-25 15:24:44 +01:00
WerWolv
26af5987a5
fix: Properly check if distro info exists before printing it
2025-01-25 15:24:25 +01:00
WerWolv
a6b4f62d75
fix: Opening files in existing instance not working
2025-01-23 19:22:40 +01:00
WerWolv
69c5d553b5
fix: Disable postprocessing shaders in Web version
2025-01-22 19:55:17 +01:00
WerWolv
8978e193db
impr: Better OS-specific handling of system exceptions
2025-01-21 23:28:22 +01:00
WerWolv
242b100aa3
fix: Properly detect Windows 10
2025-01-20 21:45:53 +01:00
WerWolv
07e29f2030
feat: Added support for OpenGL post processing shaders
2025-01-20 21:24:25 +01:00
WerWolv
c117d9b3e5
fix: Crash when changing DPI
2025-01-19 23:07:53 +01:00
WerWolv
7c0331df65
impr: Hide window on macOS when close button is pressed
2025-01-19 17:04:31 +01:00
WerWolv
b1edd95ebc
impr: Shortcut code cleanup
2025-01-19 10:55:27 +01:00
WerWolv
758738da5c
fix: Default font not being the default font
2025-01-19 10:34:54 +01:00
WerWolv
117eb1e2a7
feat: Added more granular font settings
...
Fixes #1260
2025-01-18 23:34:43 +01:00
WerWolv
2cb0df4080
build: Properly optimize web build
2025-01-18 16:53:11 +01:00
WerWolv
6d3ff64894
fix: ImHex using a lot of CPU
2025-01-18 14:57:06 +01:00
WerWolv
fbfe7b0d25
impr: Unlock frame rate for the first few seconds after startup
2025-01-18 11:58:49 +01:00
WerWolv
56c4f2aa47
fix: ID collision with multiple banners on screen
2025-01-17 23:12:09 +01:00
WerWolv
a1d8cbd7ba
fix: Properly update window position during resize
2025-01-17 23:11:53 +01:00
WerWolv
0b6316ea23
fix: Added back deleted variable to make web build work again
2025-01-17 17:26:46 +01:00
WerWolv
b6ade8b101
fix: Shortcuts not working in detached windows
2025-01-17 12:39:55 +01:00
WerWolv
cad17ddefd
fix: Banners being misplaced on macOS
2025-01-16 19:27:22 +01:00
WerWolv
8d660c3ffe
fix: Missing <numbers> include
2025-01-16 17:37:51 +01:00
WerWolv
599b55965a
impr: Improve the shadow of banners
2025-01-16 17:09:04 +01:00
WerWolv
3d2ea3753b
fix: Missing <clocale> include
2025-01-15 19:31:33 +01:00
WerWolv
565ee4cb2d
fix: Banner positions with multi-viewports enabled
2025-01-15 18:08:05 +01:00
WerWolv
40fc325ba9
fix: Disable bogus Keypad to function key conversions on macOS
2025-01-15 17:59:57 +01:00
WerWolv
cb11b57ab1
feat: Added banners, replace some modals with them
2025-01-15 17:54:07 +01:00
WerWolv
ecc86ee429
fix: ImNodes not being deinitialized correctly
2025-01-14 17:50:29 +01:00
WerWolv
98f32ebcad
impr: Made interactive help api easier to use
2025-01-09 18:34:39 +01:00
WerWolv
ae4dde8255
impr: Unlock frame rate in more cases to make the UI feel more responsive
2025-01-06 20:34:00 +01:00
WerWolv
1190511994
impr: Cleanup frame rate unlocking code
2025-01-04 23:43:10 +01:00
WerWolv
fc95e5a9a8
impr: Unlock frame rate when scrolling or focusing
2025-01-04 22:00:26 +01:00
WerWolv
71f4f87288
impr: Make sure init tasks always get executed
2025-01-04 16:11:05 +01:00
Nik
d975019a7b
impr: Revamp frame rate limiting system to make ImHex feel less laggy in certain cases ( #2049 )
2025-01-04 15:35:19 +01:00
WerWolv
dcd80fe6ad
impr: Properly scale window on wayland
2025-01-03 15:09:06 +01:00
WerWolv
d8fb3f526a
fix: Shortcut migration not working correctly in some cases
...
Fixes #2045
2025-01-03 10:16:22 +01:00
WerWolv
165403da67
fix: ImHex freezing on AMD GPUs when resizing
...
Fixes #1842
2025-01-01 20:39:12 +01:00
WerWolv
6a3b10111f
feat: Highlight main menu item when using a shortcut
2025-01-01 16:19:38 +01:00
WerWolv
ee555e0da9
fix: Make sure WM_NCCALCSIZE never tries to sleep a negative amount of time
...
#1842
2024-12-31 18:06:31 +01:00
WerWolv
6a5473f6fe
impr: Moved Windows DPI awareness to manifest file, added detached console allocation
...
Closes #1543
2024-12-28 23:47:42 +01:00
WerWolv
1298f2b688
impr: Refactor previous commits to work with other environments too
2024-12-28 21:37:45 +01:00
WerWolv
bf6f738d2e
impr: Make text look super pretty on macOS finally
2024-12-28 20:42:05 +01:00
WerWolv
5af85f24f6
impr: Allow command palette to be closed by clicking on the menu bar
2024-12-27 23:53:55 +01:00
WerWolv
a476617432
build: Fix remaining build issues
2024-12-27 00:02:37 +01:00
WerWolv
26c39d6822
fix: ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback
-> ImGui_ImplGlfw_InstallEmscriptenCallbacks
2024-12-26 20:19:55 +01:00
WerWolv
bf44a1cce6
feat: Added initial support for custom disassemblers
2024-12-26 20:04:45 +01:00
WerWolv
43c88a2fab
feat: Added system to handle version migrations
2024-12-26 14:01:46 +01:00
WerWolv
c749d6a7dc
fix: Disable ImGui assert that causes random crashes on resize
2024-12-25 18:49:50 +01:00
WerWolv
99b90f90ac
fix: Unused variable in wasm build
2024-12-25 13:03:55 +01:00
WerWolv
6ead8d8b49
fix: Certain shortcuts not being captured by ImHex Web
2024-12-25 12:36:06 +01:00