Commit Graph

1056 Commits

Author SHA1 Message Date
paxcut
1676342e28 Various fixes for pattern editor (#2561)
- Fix for vertical scroll bar being too far to the left.
- Fix constructor not initializing from const char pointer properly
- maxcolumn not being set for console text lines causing crashes on
empty pattern evaluation
- A replacement using replace all is now undone in one step.
- Find/replace no longer need to have enter or return key to accept
text. You can use arrows or shortcuts.
- More efficient search replace implementation with plans to add even
faster.
- Tooltips added to find/replace window
- Providers now save both horizontal and vertical scroll positions when
switching to another one and restore them when switching back. This is
independent to the cursor position which is also saved.
- Pattern editor no longer takes focus when changing providers via a tab
click. This has the effect that menus won't change by just clicking on a
tab.
- Small fixes and code refactoring.
2025-12-13 05:23:16 -07:00
paxcut
bfa9788099 impr: Various fixes and improvements to the pattern editor (#2559)
- fixed crash when utf8 chars were present in text editor
- fixed unable to scroll when cursor at line 1
- removed dependencies on thext editor that were not being used.

I had to go back to the old code (old for me) and fit in the changes
that were applied to the new code.That was only possible by
incorporating some of the new structural differences to the text editor.
This created new bugs and crashes that I ve have fixed but there may be
ones that I couldn't find in the very small amount of time I could spend
testing so that this commit wouldn't be delayed. If more crashes are
found due to the mixing of old and new code they should be resolved when
the new code is brought in.
2025-12-12 16:27:26 +01:00
WerWolv
de25ce7fbb feat: Add support for custom inspector edit widgets 2025-12-12 13:15:16 +01:00
WerWolv
21e61bfce6 fix: Extended ASCII display being enabled by default 2025-12-12 13:14:49 +01:00
WerWolv
ab0fb3131d fix: Reset selected row after checking it 2025-12-08 21:10:49 +01:00
WerWolv
6427f53b5a feat: Add endian option to Sum hash 2025-12-07 22:18:34 +01:00
WerWolv
994df0a3a4 feat: Add shortcut to directly search for the selected bytes 2025-12-07 22:17:57 +01:00
WerWolv
c2e07bf7b2 feat: Added data inspector shortcut to toggle endianness 2025-12-07 20:58:30 +01:00
WerWolv
77b9e3eac8 impr: Allow Esc to clear editing and selected state in data inspector 2025-12-07 20:58:17 +01:00
WerWolv
790487eea6 impr: If there's multiple foreground highlighting providers, only evaluate until a color is found 2025-12-07 20:48:16 +01:00
WerWolv
eb83354179 feat: Add option to automatically apply found pattern when a provider is opened 2025-12-07 20:47:33 +01:00
iTrooz
df3200f936 refactor: move hex editor popups to their own files (#2536) 2025-12-05 12:04:49 +01:00
WerWolv
ab54acb176 fix: Find results staying behind until new search has finished 2025-12-04 17:29:45 +01:00
WerWolv
2a84534ced impr: Don't hide entire data inspector UI anymore if no bytes are selected 2025-12-03 19:21:47 +01:00
WerWolv
09006588fc feat: Allow integer literals to be used in binary patterns 2025-12-03 19:20:45 +01:00
WerWolv
d4df465633 feat: Replace useless constants view with a constant search option in the Find view 2025-12-02 23:02:44 +01:00
WerWolv
56cb1f2747 fix: Pattern auto loading not working anymore
Fixes #2531
2025-12-01 19:54:55 +01:00
WerWolv
f4753a5bd8 feat: Added hex editor minimap option to shade cells based on the byte's value 2025-12-01 19:37:36 +01:00
WerWolv
67008288e2 fix: Clear pattern editor change flag after setting help text 2025-11-30 23:57:52 +01:00
WerWolv
06ecd5d571 feat: Add support for markdown to the comments of bookmarks 2025-11-30 16:42:20 +01:00
WerWolv
9ae233a41c feat: Integrate the interactive help option and add a help text for every view 2025-11-30 16:42:01 +01:00
WerWolv
fa780e9706 impr: Add some help text to the pattern editor by default 2025-11-30 14:08:21 +01:00
WerWolv
59f9da59e2 impr: Less unnecessary copying 2025-10-17 23:23:48 +02:00
WerWolv
fd54b2b803 fix: Don't try to move a const reference 2025-10-17 19:33:27 +02:00
WerWolv
265360229f fix: ImGui assert due to trying to select tab bar button 2025-09-24 20:37:15 +02:00
Zackary Newman
3c167c3306 feat: Add keyboard shortcuts to jump to the prev/next differences in diff view (#2445)
Adds keyboard shortcuts (currently `n` and `N`) in the diffing plugin
view to jump to the next/prev difference in the list.

IMPORTANT NOTE: Depends on changes made in a library submodule. [This
PR](https://github.com/WerWolv/libwolv/pull/34) must be accepted first.

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2025-09-21 10:39:37 +02:00
WerWolv
75efe39298 fix: Pattern Data table not retaining column settings in all cases 2025-09-16 23:28:31 +02:00
Zackary Newman
67efea6444 Fix segfault when opening recent file with pattern sync; Don't show p… (#2448)
…attern selection popup when pattern is already open

This PR does two things. Most importantly, it fixes a segfault that can
be caused by opening a recent file with pattern sync enabled.
Secondly, it makes it so that the pattern selection popup does not
appear if you already have text in the pattern editor for a given
provider (due to CLI args, a project file, pattern sync, etc.). If you
open a file normally, that text field is empty and the popup will appear
so you can select a pre-made pattern like usual.
2025-09-13 21:10:38 -07:00
WerWolv
f08b182bf2 impr: Make sure pattern settings window doesn't go off-screen anymore
Fixes #2446
2025-09-13 11:30:13 +02:00
WerWolv
955f48f532 impr: Use better icons for data inspector buttons 2025-09-11 20:11:25 +02:00
WerWolv
12564dd78f impr: Fix layout of pattern settings popup 2025-09-10 19:13:47 +02:00
WerWolv
b0c4db7a64 fix: Invalid localization string for pattern settings popup 2025-09-09 23:40:36 +02:00
WerWolv
310ca6c6dc fix: Custom data processor node name ID collisions 2025-09-09 23:37:22 +02:00
WerWolv
32e3a4e74f impr: Move items from pattern editor console area to more appropriate places 2025-09-09 22:30:29 +02:00
WerWolv
be66e3fe79 impr: Simplify and standardize resizable console window in pattern editor 2025-09-08 21:24:01 +02:00
WerWolv
8661b6551d fix: Opening pattern sections not working 2025-09-08 19:53:51 +02:00
paxcut
d8dd287cdf fix: Fixed ImHex crashing when using ctrl-backspace on empty file. (#2433)
Editor was attempting to delete non-existent chars which is UB. Fixed by
checking before deleting. Also fixed was a problem created by having to
press enter to change the search string which advanced the selection to
the first match. In the next step one would expect that pressing enter
on the replace field would replace the selected item but was replacing
the item found after he first.

This was fixed by always replacing the current selection first. If the
replacement is the same as the searched term then replacing won't
advance the cursor, but if they are different then the current match
will no longer exist so it would search fora new one.
2025-09-05 02:28:11 -07:00
WerWolv
790c19a1cd patterns: Go back to working pattern language 2025-09-01 22:54:51 +02:00
WerWolv
4598fc098d fix: ImGui ID not getting popped correctly 2025-08-31 22:17:36 +02:00
WerWolv
16dc199431 fix: Achievement popup setting only being read once at startup 2025-08-31 17:31:16 +02:00
WerWolv
4cfdbb8095 patterns: Updated pattern language 2025-08-31 13:52:02 +02:00
paxcut
c8caf6124e Fix: Very long lines in text editor could make it hang. (#2426)
Fixed by only processing text that's visible.

Also fixed the cursor jumping to breakpoint line when selected by
clicking the line number and added highlighting of the current editing
line. An optimization that caches the number of utf-8 chars in each line
was included as well.
Finally, an error that caused ImHex to crash if a pattern was saved as
itself was also fixed.
2025-08-30 20:01:05 -07:00
WerWolv
90f26d53d3 impr: Make viable pattern search properly abortable 2025-08-30 10:51:05 +02:00
WerWolv
bf08ed563a feat: Added Hex Editor "Decode as Encoding" option 2025-08-28 23:22:26 +02:00
WerWolv
1e8a005d0e impr: Make data inspector view more compact 2025-08-28 20:13:51 +02:00
WerWolv
a7c37bfb93 fix: Load ImHex logo at correct resolution 2025-08-28 17:28:13 +02:00
WerWolv
8515cd43fa impr: Added note to Advanced Yara Information section if no matches were found 2025-08-28 17:24:51 +02:00
WerWolv
8a4cdbb371 impr: Slightly nicer layout for data information view 2025-08-28 17:24:14 +02:00
WerWolv
145c8ff804 impr: Update about page 2025-08-27 21:27:06 +02:00
WerWolv
56b5d026df fix: Patterns only starting to execute when pattern editor was visible 2025-08-25 21:45:20 +02:00