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
Nik
6009b5013b
feat: Let ImHex use the native menu bar on macOS ( #2048 )
2025-01-04 15:35:06 +01:00
WerWolv
b4bf42e377
fix: Unit test build error due to changed Provider::getTypeName() signature
2025-01-04 13:57:48 +01:00
WerWolv
f94819351a
impr: Make maximum in-memory file size setting easier to use. Bump value to 512MiB
2025-01-04 13:56:20 +01:00
WerWolv
8da69c11d9
impr: Remove the word "Provider" from places where it doesn't fit
2025-01-04 13:28:35 +01:00
WerWolv
dcd80fe6ad
impr: Properly scale window on wayland
2025-01-03 15:09:06 +01:00
WerWolv
525ab8d945
fix: Settings not being saved correctly anymore
2025-01-03 14:07:09 +01:00
WerWolv
d8fb3f526a
fix: Shortcut migration not working correctly in some cases
...
Fixes #2045
2025-01-03 10:16:22 +01:00
WerWolv
9f9c5abf35
impr: Prevent window from being moved while hovering over items on macOS
2025-01-01 16:45:11 +01:00
WerWolv
6a3b10111f
feat: Highlight main menu item when using a shortcut
2025-01-01 16:19:38 +01:00
WerWolv
67a9f314cc
impr: Added icons to more context menus
2024-12-31 00:45:47 +01:00
WerWolv
0ae823716a
feat: Added a preview to the Edit -> Copy as options
...
Closes #2026
2024-12-30 23:16:11 +01:00
WerWolv
dab3f722e8
feat: Added "Jump to address" option to data inspector row context menu
2024-12-30 22:32:06 +01:00
WerWolv
f0525d6463
fix: Building issues with the web build
2024-12-30 10:10:38 +01:00
WerWolv
e22424ffa4
fix: Settings not being saved correctly on the web version
2024-12-29 23:53:23 +01:00
WerWolv
ba96d86dc2
impr: Properly align favorite icons inside of the buttons in the pattern drawer
2024-12-29 20:38:25 +01:00
WerWolv
f79de6fbe8
fix: Web build not starting fully anymore
2024-12-28 22:48:06 +01:00
WerWolv
1298f2b688
impr: Refactor previous commits to work with other environments too
2024-12-28 21:37:45 +01:00
WerWolv
534a2f1d28
impr: Apply framebuffer scaling to SVGs as well
2024-12-28 20:52:49 +01:00
WerWolv
d4a4cb2e80
fix: Crash when providing invalid version string to semantic version class
...
Fixes #2036
2024-12-28 15:59:13 +01:00
WerWolv
528a8b5b46
fix: Exception being thrown when getting version parts from invalid version
2024-12-28 11:45:05 +01:00
WerWolv
edba7051f0
impr: Make interactive tutorials select windows when they're highlighted
2024-12-27 19:41:45 +01:00
WerWolv
fa1ae8d746
fix: Tutorial highlights not working anymore correctly
2024-12-27 18:28:22 +01:00
WerWolv
bf44a1cce6
feat: Added initial support for custom disassemblers
2024-12-26 20:04:45 +01:00
WerWolv
a76c6c653d
impr: Refactor disassembler system to make it more modular
2024-12-26 18:41:34 +01:00
WerWolv
43c88a2fab
feat: Added system to handle version migrations
2024-12-26 14:01:46 +01:00
WerWolv
010025cbfa
fix: Wrong localStorage key for achievements
2024-12-25 16:21:38 +01:00
WerWolv
61cae0a9f8
fix: Missing emscripten include
2024-12-25 16:19:50 +01:00
WerWolv
248acd5e26
fix: Properly save achievements in web version
2024-12-25 16:17:33 +01:00
WerWolv
42c1f5601a
fix: Saving files in web version not working correctly
2024-12-25 15:57:54 +01:00
WerWolv
c1ed1baaad
fix: Shortcuts not working correctly in Web build
2024-12-25 01:34:11 +01:00
WerWolv
512fcd361b
impr: Modernize the disassembler, hashes and yara view
2024-12-24 10:57:09 +01:00
WerWolv
aad6f6bcbe
build: Updated ImGui to v1.91.6
2024-12-24 00:37:04 +01:00
WerWolv
2ae69e8e72
feat: Allow command palette to work with previous results
2024-12-23 23:42:45 +01:00
WerWolv
bfddf24204
impr: Added hints to various input fields
2024-12-23 23:16:55 +01:00
WerWolv
382599dcf6
fix: Better icon text input width calculation
2024-12-23 23:16:35 +01:00
WerWolv
5f2c07f2d8
fix: Icon text inputs not being the same length as other items
2024-12-23 21:48:47 +01:00
WerWolv
7cc99c6fc9
impr: Added better notes to the settings tabs in the pattern editor view
2024-12-23 21:26:22 +01:00
WerWolv
f931beb49a
impr: Make inserting bytes at the start of the file with insert mode work better
2024-12-23 01:33:52 +01:00
WerWolv
5fcb737559
fix: Only update widgets of settings that were changed
...
Fixed crashing on exit and speeds up settings writes
2024-12-20 21:23:19 +01:00
WerWolv
bb99b9a0ef
fix: Shortcuts acting as duplicates in settings
2024-12-16 20:26:04 +01:00
WerWolv
313e59d7f9
fix: Shortcuts applying to multiple views at once
2024-12-16 20:14:26 +01:00
WerWolv
a07c79efcb
fix: Pattern editor shortcuts being set to use CTRL on macOS
2024-12-15 22:39:24 +01:00
WerWolv
89090b25e3
impr: Various shortcut improvements
2024-12-15 21:44:43 +01:00
WerWolv
ee4bb33b0a
impr: Display sub menus for shortcut settings
2024-12-15 11:54:10 +01:00
WerWolv
c46dea4c9e
impr: Update settings menu values when settings are changed
2024-12-15 11:12:56 +01:00
WerWolv
7f75706584
impr: Replace hex::unused with std::ignore
2024-12-14 21:35:54 +01:00
WerWolv
992f18b94b
impr: Optimize build times a bit
2024-12-14 19:15:49 +01:00
Nik
040a606b39
feat: Added various custom built-in types to the pattern language ( #1991 )
2024-12-14 16:52:36 +01:00
Roman
d9a7f40eb4
fix: Shortcuts not being disabled correctly when menu items are disabled ( #1992 )
...
Fix crash on UNDO/REDO shortcut press when in "title screen"
### Problem description
ImHex crashes when (by default CTRL + Z/Y) undo/redo is pressed when on
"title"/"starting" screen (no file open, tested on Windows release build
and Linux [WSL] from-source build).
This is due to the shortcut's callback being called even if the
`provider` is `nullptr`. (see `createEditMenu` function).
Theoretically, this is prevented by the `enabledCallback` function
passsed to `addMenuItem`. In this case, though,
`addMenuItem` correctly propagates `enabledCallback` to menu item
creation but does not pass `enabledCallback` to
shortcut creation. Thus, when handling shortcuts, `enabledCallback` is
not used at all and the shortcut's callback
can be called in contradiction with its preconditions. (specified by
`enabledCallback`)
### Implementation description
The implementation wraps the callback in a check that decides whether
the shortcut is enabled or not.
(see changed files)
```c++
auto callbackIfEnabled = [enabledCallback, function]{ if (enabledCallback()) { function(); } };
```
This function is then passed along instead of the `function` (shortcut's
callback).
Alternatively, we can check for `nullptr` in the callback directly. This
would require modification of `createEditMenu`'s contents.
(I did not choose this implementation because I do not think it
addresses the root of the issue).
### Screenshots
None
### Additional things
I'm not sure how big of a deal it is but I am unsure whether I can
capture (`[enabledCallback, function]`) by reference or not.
2024-12-14 16:51:40 +01:00