Commit Graph

5520 Commits

Author SHA1 Message Date
WerWolv
ea072296cf feat: Added save editor mode 2025-08-03 13:47:19 +02:00
paxcut
56d1e2670e fix: segment numbers are still being cutoff. (#2370)
I noticed that an earlier fix was missing parenthesis, so I checked a
file of a big size and used a segment size of 1 and only 3 digits were
being displayed in spite of needing 6.
2025-08-02 23:44:35 -07:00
paxcut
bc953592f0 fix: console selects word on click. (#2372)
The problem was that the console was calling select word under cursor
when no selection was done. Fixed by removing the call.
2025-08-02 23:42:23 -07:00
paxcut
b2f188fa4b fix: shortcuts is subviews of pattern editor are duplicated in the main text editor. (#2371)
The error occurred because only one of two subviews (the text editor or
the console) were allowed to report having focus. By extending this
functionality to all subviews, each one can use its own set of shortcuts
thus fixing the problem.
2025-08-02 19:48:48 -07:00
WerWolv
7575f85bdf fix: Crash when selecting regex replacer tool output 2025-08-03 00:09:01 +02:00
WerWolv
685a2e3cf2 fix: Crash when selecting UNIX permission tool output 2025-08-03 00:05:40 +02:00
WerWolv
2db85ced59 fix: High background GPU usage on Windows if window is minimized 2025-08-02 23:35:47 +02:00
WerWolv
693a0f2516 impr: Better reset icon for shortcut settings 2025-08-02 23:07:40 +02:00
WerWolv
b81328ac1a fix: Web build not properly starting up anymore 2025-08-02 23:07:20 +02:00
WerWolv
2440acda07 impr: Small performance improvements 2025-08-02 17:30:58 +02:00
WerWolv
29354f0bcb fix: Hex Editor segment numbers being cut off 2025-08-02 17:30:49 +02:00
paxcut
a9eb7b2d25 fix: fixed auto save projects not being done after the first one. (#2366)
Currently setting the time interval to auto save the project has no
effect other than creating one initial save if the input file is
unsaved. When a file is created and not saved it remains in a dirty
state which prevented setting the state of the autosaved project to
needing to be saved. Fixed by decoupling the state of the provider from
the state of the autosave. When a provider is detected as being dirty it
always makes the autosave as being needed once the time interval has
elapsed.

feat: Implemented the menus on the main menu bar that will be available
when the text editor has focus. It allows you to load and save patterns
using open and save and will tack changes if files on disk are modified
externally. It also only opens the file chooser the first time you save
a pattern file and subsequent changes save to the same file.

If you want to save into another file and have the new file be tracked
you can use Save As. Finally, export doesn't track the file on disk at
all. this feature uses the same changes tracker class used elsewhere in
imHex.

fix: Changed the defaults of various shortcuts that were using Alt + a
key to avoid possible problems with some keyboards. Shouldn't affect end
users as their shortcuts are loaded from internal file but those who
complain about the Alt key misbehaving will be asked to reset the keys
to the new defaults. In addition, all globally accessible shortcuts were
added the Allow while typing flag so that they can be used in any field
that accepts text.

New menu entries were added for debugging to make the pattern editor and
the hex editor menus more like each other.

Finally, the call to RegisterMainMenuEntries() when initializing views
was moved to occur after the call to registerViews() so that menus are
not repeated when set for different views.
2025-08-02 01:29:34 -07:00
WerWolv
05a06fe7a3 build: Allow LTO to work again 2025-08-02 01:14:09 +02:00
WerWolv
f73866b86e impr: Speed up initial resource loading and event handling slightly 2025-08-02 01:14:00 +02:00
WerWolv
1e18abc598 patterns: Updated pattern language 2025-08-01 01:08:13 +02:00
WerWolv
a2c4aefced fix: Crashes when font failed to be loaded 2025-07-31 23:13:50 +02:00
WerWolv
bb6ea5f1e5 fix: User folder settings icon buttons being too small 2025-07-31 21:05:32 +02:00
WerWolv
0e855e10db fix: Slightly adjust icon positions again 2025-07-31 20:54:56 +02:00
WerWolv
1594c712a8 fix: Settings onChange handlers not being called correctly 2025-07-31 20:38:23 +02:00
WerWolv
7b6d5d2686 impr: Cleanup splash screen, make hex highlights look nicer 2025-07-31 20:33:55 +02:00
WerWolv
44f12587f3 impr: Cleanup and simplify subpixel rendering patches 2025-07-31 20:33:21 +02:00
WerWolv
fd8bdbdc90 fix: Icons being too big for regular text 2025-07-31 20:32:59 +02:00
WerWolv
9557041c3a fix: Open file in explorer not working on Windows 2025-07-31 00:24:54 +02:00
WerWolv
1804caba02 feat: Added first/last element button to the data inspector 2025-07-30 23:52:40 +02:00
WerWolv
c1f0d60f49 impr: Declutter pattern editor and data processor footer 2025-07-30 23:17:44 +02:00
WerWolv
83d92dde35 build: Update VSCode Icons font 2025-07-30 23:17:13 +02:00
WerWolv
ac98e4e0b5 fix: Use after free when checking for frame render condition 2025-07-30 22:33:59 +02:00
WerWolv
5c99974202 impr: Only show fonts in the font picker that can actually be used 2025-07-30 22:33:32 +02:00
WerWolv
280dea23d0 fix: Font point calculation not respecting framebuffer scale 2025-07-30 22:33:16 +02:00
WerWolv
6fcc3e8cb3 build: Move all demangler uses into the trace library 2025-07-30 20:57:53 +02:00
WerWolv
ec9461741c feat: Added goto command palette command 2025-07-30 20:21:26 +02:00
WerWolv
896e05331c feat: Preload fonts to display them in the font picker 2025-07-30 17:44:12 +02:00
WerWolv
4c930b190e fix: Last character of font names being missing on Windows 2025-07-30 17:43:45 +02:00
WerWolv
6ab3353a15 fix: Font memory leak 2025-07-30 17:43:28 +02:00
WerWolv
a31760eecb patterns: Updated pattern language 2025-07-30 17:43:08 +02:00
WerWolv
4c89a79dc3 feat: Added full-screen views for use with subcommands in the future 2025-07-30 17:42:56 +02:00
WerWolv
2c3d8d4c0b fix: CppCheck issues 2025-07-30 17:41:45 +02:00
WerWolv
e71e026da0 patterns: Updated pattern language 2025-07-29 21:32:16 +02:00
WerWolv
f239b0c6d7 fix: Incorrect progress bar on splash screen 2025-07-28 18:02:33 +02:00
WerWolv
8a7f232198 fix: Properly set default font for ImGui to use 2025-07-28 18:02:33 +02:00
WerWolv
a3c71b3955 fix: Settings onChange handlers running more than once in some cases 2025-07-28 18:02:33 +02:00
WerWolv
46b13b6606 impr: Nicer font registering API 2025-07-28 18:02:33 +02:00
WerWolv
a40c420b70 patterns: Updated pattern language 2025-07-28 00:23:50 +02:00
WerWolv
8470334d6d fix: Reduce CPU usage when FPS is unlocked 2025-07-28 00:23:01 +02:00
WerWolv
f42ae97f14 impr: Added more generic way to unlock frame rate when needed 2025-07-27 16:25:10 +02:00
WerWolv
c7b2f26bd5 impr: Make main menu items look a bit nicer 2025-07-27 15:39:38 +02:00
WerWolv
ec424ac16e fix: Assert when plugins failed to load 2025-07-27 15:11:01 +02:00
WerWolv
72501edc9a fix: GTK assertions when running AppImage on some distros 2025-07-27 15:10:48 +02:00
bb010g
9554889964 build: Move back to upstream edlib (#2357)
### Problem description
The current edlib submodule references a commit that's not present in
<https://github.com/blawrence-ont/edlib>. This throws off submodule
initialization and makes building an ImHex Flatpak using upstream Git
HEAD require some nasty Git bodges.

### Implementation description
Switching to <https://github.com/Martinsos/edlib> in `.gitmodules` is
all that is necessary, since
<0ddc23ea06>
properly exists.

### Screenshots
_This section was intentionally left blank._

### Additional things
For those curious, I'm currently working around this by manually
appending
```gitconfig
[url "https://github.com/Martinsos/edlib"]
	insteadOf = "https://github.com/blawrence-ont/edlib"
```
to
`${flatpak_builder_state}/git/https_github.com_blawrence-ont_edlib/config`
after `flatpak-builder` has cloned the repository and failed. I know
this is a brittle solution.
2025-07-27 09:35:54 +02:00
paxcut
7ff1e72093 fix: find next and find previous not working on console. (#2358)
With only one menu entry and having set it to use the text editor then
the console losses that functionality. Since both the console and the
text editor are on the same view, it follows that they must share the
menu entries. In some cases it is necessary to determine which of the
two editors needs to be processed inside the menu entry itself.

Also an error that caused the creation of invalid coordinates when
console is still empty was fixed by setting coordinates to 0,0 for empty
files. Another problem was that left clicking on the console didn't
select the word under the cursor but it does when left clicking on the
text editor. Now it works in both.

The menu entries on the console were removed completely and swapped with
a call to obtain the default 'edit' menu for the context popup. Also,
the console in write-only, so some of the entries like `Paste` or
`Replace` must be greyed out.

This PR is only to fix the bugs that exist currently. More work is still
needed for:
1) Removing the remaining shortcuts and creating new menu entries for
them and
2) Adding support for `Open` and `Save` in the pattern editor with path
tracking.

I tested all combinations of menus and shorcuts with console and pattern
editor and there were no problems I could detect.
2025-07-26 21:41:43 -07:00