WerWolv
8d8a5a70f3
fix: Find view replace and hex editor paste logic being wrong
2023-05-28 14:30:33 +02:00
WerWolv
c8c3f5e753
feat: Added primitive replace feature to find view
2023-05-28 11:50:10 +02:00
iTrooz
0ba011dbe1
feat: Add a native error message when glfw window creation fails ( #1104 )
...
Draft because I want to test it again tomorrow with all OSes, first
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 17:45:41 +02:00
iTrooz
e578127f67
feat: Save opened projects as recent entries ( #1105 )
...
This PR does two things :
- save opened projects as recent entries
- refactor stuff about recent entries in a separate file. The reason is
that I felt like welcome_screen.cpp was really big ( 685 lines before
this, 500 now). What do you think ?
---------
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-27 16:59:30 +02:00
WerWolv
0e3da22c76
feat: Added support for changing the page size
2023-05-23 11:34:30 +02:00
iTrooz
7ce0613977
impr: Added better crash backup and restore mechanism ( #1094 )
...
- Add a new file 'crash.json' to store metadata about the crash, like
the log file or project opened
- show the log file of the session that caused the crash to the user
- Correctly restore the project path
2023-05-22 13:24:48 +02:00
WerWolv
f81276f7e3
feat: Added support for transparent and blurry window styles
2023-05-22 12:00:35 +02:00
WerWolv
2179c3c014
fix: View shortcuts acting like global shortcuts
2023-05-21 18:02:29 +02:00
iTrooz
5666a5c5fb
feat: Added context menu with right-clicking on file provider ( #1084 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-21 13:21:53 +02:00
WerWolv
180a27fdc9
fix: Local keybindings not working correctly
2023-05-21 10:28:55 +02:00
KOLANICH
4faebf435c
impr: Remove an unused std::mutex
in TaskManager::runner
( #1088 )
2023-05-20 13:38:12 +02:00
WerWolv
969a37877a
fix: Crash on exit
2023-05-20 13:10:24 +02:00
paxcut
3e4c4430d5
feat: Greatly improved the IEEE754 tool ( #1047 )
...
I just realized one feature request existed about this tool and have
added a comment to it referring this pr. Errors and additions are
described in the fork commit already. I'm not sure if I should repeat
them here again. I have tested the changes thoroughly, but it is always
possible some fringe case was not tested and is incorrect. The tests
were done using the many similar online calculators for IEEE 754
floating point formats.
IEEE 745 floating point tool redesign modeled after 'float toy' web app
(http://evanw.github.io/float-toy/ )
Streamlined output using colors and compact layout which can be further
simplified.
Chosen display mode (detailed or simplified) is automatically saved and
set on new sessions.
Edit the binary bits, the integer hexadecimal or the floating point
decimal values and the entire app will update with the change.
Supports the main IEEE745 standard formats (half, single and double
precision) together with custom formats of size <= 64 bits.
Each format choice uses and displays the number of significant decimal
digits defined by the mantissa size.
Added labels to identify the location of each bit box inside the binary
representation.
Satisfies round trip / idempotent (reproducing) conversion property
Added theme colors, radio buttons for display mode and a clear button
that resets the tool.
Removed previously and incorrectly added locale translation to various
labels and languages
Attempted to adhere to code style formatting using existing code as
example.
An effort was made to use preferred variable types and functions from
std namespace when appropriate.
Attempted to document code using comments.
Not implemented / left to complete at an later time
Arbitrary width and precision formats.
Extended precision formats.
Shortest string property.
hexadecimal floating point display and conversions.
2023-05-19 21:18:38 +02:00
WerWolv
8119929ece
fix: Don't wait for services on exit
2023-05-16 14:59:14 +02:00
WerWolv
14341d611d
impr: Handle macOS Open with... correctly
2023-05-15 18:07:49 +02:00
WerWolv
c006062540
feat: Added basic network interface support
2023-05-15 11:30:24 +02:00
WerWolv
60a2b30e91
fix: Another wrong include on macOS
2023-05-14 22:53:52 +02:00
WerWolv
79cdf51588
fix: Wrong include on macOS
2023-05-14 22:23:05 +02:00
WerWolv
7b048d9b96
fix: Compile on macOS _again_
2023-05-14 22:03:04 +02:00
WerWolv
d96fc6d41b
fix: Compilation on macOS
2023-05-14 21:50:58 +02:00
WerWolv
3bd9ab6349
fix: Hopefully open files now on macOS
2023-05-14 20:20:22 +02:00
WerWolv
5027f36d95
fix: Open with crashing on macOS
...
#1070
2023-05-14 18:35:35 +02:00
WerWolv
aaeebd3fe9
fix: Various pattern execution race conditions
2023-05-12 15:46:13 +02:00
WerWolv
18bc5de169
fix: Copy-as options not being disabled correctly
2023-05-12 08:38:07 +02:00
WerWolv
f2af90fe06
fix: Help hover icon issues
2023-05-11 23:56:51 +02:00
WerWolv
0649e0dcd3
impr: Clean up old layout stuff
2023-05-11 23:21:52 +02:00
WerWolv
ceeaca1a4b
feat: Added layout manager to save and restore custom layouts
2023-05-11 18:44:50 +02:00
WerWolv
8f07f0f8ae
impr: Better look and feel of the welcome screen close button
2023-05-11 12:00:45 +02:00
WerWolv
0574387ee1
fix: Properly use absolute paths when compiling magic files
2023-05-06 10:09:23 +02:00
WerWolv
2d1381860d
fix: Corrected build issues with GCC 13
2023-05-06 10:07:22 +02:00
iTrooz
34e12e2515
feat: Added a button to restore default layout when there are no views open ( #1053 )
...
Co-authored-by: Nik <werwolv98@gmail.com>
2023-05-05 22:00:17 +02:00
iTrooz
980e4cad06
fix: Handle errors in Tar::readVector() ( #1059 )
2023-05-05 21:57:37 +02:00
WerWolv
5680b90549
fix: Project files failing to save when no custom encoding is loaded
2023-05-04 23:23:44 +02:00
WerWolv
99a736df27
impr: Replace horrible pattern extra data class with a more modular system
2023-04-17 16:18:48 +02:00
WerWolv
1690cd2740
fix: Various issues with the new popup system
2023-04-16 21:34:29 +02:00
WerWolv
52925c99e8
impr: Default to monitor synchronized FPS limit
2023-04-13 17:12:40 +02:00
WerWolv
3e87022da1
fix: Provider undo stack not being handled correctly
2023-04-13 16:12:00 +02:00
WerWolv
803b99f2a9
impr: Immensely improve provider read speeds
2023-04-12 19:21:48 +02:00
WerWolv
aa7c5422c0
fix: Make sure provider data is properly cleared when deleting provider
2023-04-11 15:26:18 +02:00
WerWolv
21f38974a8
impr: Use smart pointers to allocate Views
2023-04-08 12:08:45 +02:00
WerWolv
80edaea392
impr: Update all of ImHex to the new popup system
2023-04-08 00:58:53 +02:00
WerWolv
9c9ac23818
feat: Added a much more flexible popup system
2023-04-07 10:21:27 +02:00
WerWolv
c73f33aac2
impr: Added various new events
2023-04-06 17:36:28 +02:00
WerWolv
5f713882d4
fix: Occasional crash when loading project files
2023-04-06 12:44:25 +02:00
WerWolv
1460044e91
impr: Save custom encoding file to project
...
Fixes #1005
2023-03-31 11:06:51 +02:00
Thomas
fabb1596e5
impr: Handle and show NFD errors ( #995 )
...
This PR handles errors that NFD might encounter (both in Init() and the
other method to open the dialog), and log them in the logs and in the
GUI
This (among other) fix the crash I had running ImHex as root and opening
a file
2023-03-26 11:02:51 +02:00
Thomas
725e32250b
fix: Move config files to XDG_CONFIG_HOME ( #993 )
...
This pull request changes Config Directories on Linux to only include
the XDG_CONFIG_HOME directory, as opposed to all directories in
XDG_DATA_DIRS before (introduced in
https://github.com/WerWolv/ImHex/pull/644/files#diff-c1a4d2b63fed168a9a3568944e9cadeae096f2ddcec3649e4a9b2d29fd104be0L162-L166 ).
Reasons:
- This changes the location of the config file to the standard directory
meant for configurations
- This prevents the config file from being read/written in system
locations, like /usr/share
This PR also includes a migration task that will run on Linux and move
config/GUI dimensions to the new directory
as a bonus, as discussed on discord, it writes the logs to a Data
directory instead of a Config directory
2023-03-26 11:02:23 +02:00
WerWolv
635173e55a
impr: Make sure themes are added correctly when downloaded from the store
2023-03-23 20:35:16 +01:00
WerWolv
8ef863cae1
fix: Progress not working with with new http wrapper
2023-03-23 13:32:35 +01:00
WerWolv
15be24db62
sys: Updated to use the new HttpRequest helper instead of Net
2023-03-23 11:23:07 +01:00
WerWolv
8c5fd021f7
api: Hook up new http wrapper to the rest of ImHex
2023-03-22 23:05:18 +01:00
WerWolv
57a62d0544
impr: Clean up entire API and added doc comments
2023-03-21 15:33:43 +01:00
WerWolv
a4dfaba03f
fix: All menu item shortcuts being global
2023-03-20 15:12:12 +01:00
WerWolv
6e23560e80
feat: Added all menu items to command palette
2023-03-20 14:11:43 +01:00
WerWolv
39e8d557e8
sys: Completely revamped main menu item system
2023-03-20 13:11:43 +01:00
WerWolv
367bd76046
ui: Mae sure all theme scaling values are scaled correctly
2023-03-18 10:52:50 +01:00
WerWolv
1a1bf98905
impr: Look for magic files recursively
2023-03-17 21:18:28 +01:00
WerWolv
64be6d89ee
fix: Moving cursor around using arrow keys behaving weirdly
2023-03-17 09:17:44 +01:00
WerWolv
5442c32a3f
impr: Allow non-continuous provider values to be saved
2023-03-17 08:38:38 +01:00
WerWolv
5097a223e3
impr: Added default saveAs implementation for all providers
2023-03-17 08:15:43 +01:00
WerWolv
7cdba75bef
fix: Crash when not making a valid selection in provider load interfaces
2023-03-16 16:48:15 +01:00
WerWolv
a0b36925ed
fix: Custom styles not being scaled correctly
2023-03-14 13:19:04 +01:00
WerWolv
3a840c4ced
impr: Properly display custom encoding characters that are split between lines
2023-03-14 09:35:43 +01:00
WerWolv
00a5fd2d7c
sys: Fixed more build issues
2023-03-13 09:25:07 +01:00
WerWolv
55f9faea10
sys: Updated more code to libwolv
2023-03-13 08:58:08 +01:00
WerWolv
fb2e668589
sys: Moved more functions to libwolv
2023-03-12 18:43:05 +01:00
WerWolv
0dafb3d230
sys: Replaced many helper functions with libwolv
2023-03-12 18:27:33 +01:00
WerWolv
0017cd2e40
feat: Added binary hex cell visualizer
...
Closes #939
2023-02-18 22:20:02 +01:00
WerWolv
bf8089dc7e
impr: Don't memory map files, never keep a write handle open for long
...
Closes #592
2023-02-17 10:26:09 +01:00
WerWolv
e48761b5c0
fix: Plot lines being invisible
2023-02-17 10:02:43 +01:00
WerWolv
5ccbfc1ff8
feat: Allow themes and nodes to be downloaded from the content store
2023-02-16 18:55:21 +01:00
WerWolv
ac83bbeb0e
feat: Added a theme manager view to make it easier to make new themes
2023-02-16 18:06:40 +01:00
WerWolv
61ce88ba9b
build: Fix build on systems that have no backtrace or execinfo
...
Fixes #932
2023-02-13 08:27:08 +01:00
WerWolv
3003dea409
fix: Occasional error when loading recent files
2023-02-12 17:52:09 +01:00
WerWolv
0b18930017
fix: Invalid theme load error
2023-02-12 17:39:47 +01:00
WerWolv
d084ec78e9
nodes: Allow immediate values on integer and float inputs
...
Closes #427
2023-02-12 17:33:53 +01:00
WerWolv
5cc01ae89d
nodes: Added support for nested, shareable, custom data processor nodes
2023-02-09 23:07:04 +01:00
WerWolv
303dd28c7c
fix: Fix macOS build again
2023-02-08 14:11:42 +01:00
WerWolv
dd87dc7046
fix: Building on macOS
2023-02-08 13:51:56 +01:00
WerWolv
22ff033b5e
fix: More P2468R2 issues
2023-02-02 21:13:56 +01:00
WerWolv
4ea8971adf
lang: Added base translation files
2023-02-02 10:08:47 +01:00
WerWolv
8da072b602
lang: Get codebase ready for the use with Weblate
2023-02-02 09:41:58 +01:00
WerWolv
c6e1f45dc3
feat: Added option to copy custom encoding strings from hex view
2023-01-28 21:12:35 +01:00
WerWolv
29c1a0cb78
feat: Allow multiple yara files to be selected at once
2023-01-28 00:01:53 +01:00
WerWolv
fee1b985c0
feat: Added better error messages for generating and importing ips patches
2023-01-25 10:38:04 +01:00
WerWolv
434b7649c3
fix: CRC8 hashing algorithm displaying 16 bits result
2023-01-25 00:06:48 +01:00
WerWolv
cf9df6e36d
feat: Added ability to query provider information from pattern language
2023-01-24 09:07:11 +01:00
WerWolv
915106f360
patterns: Fixed various issues with the 3d visualizer
2023-01-23 16:25:23 +01:00
WerWolv
89e0df86a2
feat: Added scaling and rotation to 3D visualizer
2023-01-21 13:00:02 +01:00
WerWolv
f17e04273d
fix: IPS patch applying being broken
2023-01-21 00:29:16 +01:00
WerWolv
d4967018c2
feat: Added basic lighting and rotations to 3d visualizer model
2023-01-20 23:32:51 +01:00
WerWolv
8e759d9b5f
feat: Added basic 3D visualizer, moved visualizers to separate file
2023-01-20 21:16:28 +01:00
WerWolv
4fb544d59d
fix: Views starting out super tiny
2023-01-19 16:59:09 +01:00
WerWolv
c5d2739a39
fix: File provider sometimes not saving path to project file
2023-01-19 11:09:24 +01:00
WerWolv
c747c15567
fix: Buffer overflow caused by hex input boxes
2023-01-18 14:30:44 +01:00
Nik
48a57cd981
feat: Added stacktrace printing on crashes ( #892 )
...
* feat: Added simple stack trace output
* feat: Added backtrace wrapper
* build: Added libbacktrace include dirs to build
* build: Fixed libbacktrace variables
* build: More backtrace variable fixes
* build: Try to find backtrace include
* build: Get backtrace header from cmake script
* feat: Added backtrace support for execinfo
* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +01:00
WerWolv
1b56c7ffae
ui: Show task progress in task bar
2023-01-14 14:21:16 +01:00
WerWolv
03d216f116
feat: Allow most resources to be loaded relative to the current project
2023-01-11 23:31:25 +01:00
WerWolv
dbcb13f473
patterns: Disallow application/octet-stream
to be used as MIME type
2023-01-09 08:38:19 +01:00
WerWolv
ceae23eab1
fix: Crash when opening a project file when already having providers open
2023-01-07 22:43:48 +01:00
Thomas
ab29303c2e
sys: Clear project context when closing all providers, Display project name in window title ( #860 )
...
* clear project context when closing all providers
* Show project name on window title
* refactor RequestChangeWindowTitle to RequestUpdateWindowTitle
* add spaces
2023-01-07 17:31:22 +01:00
WerWolv
c26bed894b
sys: Add imhex/lib
path to plugin libraries search paths
2023-01-07 10:32:01 +01:00
WerWolv
ff9048fcf0
fix: Crash on exit
...
Fixes #854
2023-01-05 09:29:33 +01:00
WerWolv
45bb9e6706
build: Fix some more ObjC issues
2023-01-04 14:55:58 +01:00
WerWolv
e6d14507e2
fix: Window title not resetting when closing all providers
2023-01-04 14:24:18 +01:00
WerWolv
9a5881fc47
build: Fixed -Wpedantic issues on macOS
2023-01-04 14:24:07 +01:00
WerWolv
f7dd28002e
build: Build everything using -Wpedantic
2023-01-04 14:03:09 +01:00
WerWolv
01917439dd
fix: More invalid iterator accesses
2023-01-03 13:04:36 +01:00
WerWolv
a20d6aa2b2
fix: Project file creation issues
2023-01-01 21:46:41 +01:00
WerWolv
d7d19d7594
feat: Further improve process memory provider
2023-01-01 12:26:27 +01:00
WerWolv
90df4413c3
feat: Added basic windows process memory provider
2023-01-01 02:29:38 +01:00
WerWolv
87ed0d31d4
fix: Various invalid iterator and container accesses
2023-01-01 01:01:24 +01:00
WerWolv
85823e8e5d
build: Removed all usages of Python
2022-12-29 23:32:57 +01:00
WerWolv
7859a9bb1f
feat: Added native custom theme support
2022-12-29 19:26:00 +01:00
WerWolv
cf601586fc
fix: Deadlock when loading recent files
2022-12-28 23:06:27 +01:00
WerWolv
f7b988906e
fix: Saving projects to unicode paths not working correctly
2022-12-28 10:46:02 +01:00
WerWolv
4b8e275254
fix: Crash when closing providers too quickly
2022-12-27 11:35:20 +01:00
WerWolv
a5296bab95
feat: Added pattern value editing
2022-12-16 11:20:39 +01:00
WerWolv
e3f2541fde
sys: Make sure libromfs is never used in libimhex
2022-12-05 15:29:19 +01:00
WerWolv
1347f81236
sys: Added postJson Net helper function
2022-12-04 21:50:47 +01:00
WerWolv
3b94a42783
lang: Updated localization system to use a more versatile json format
2022-12-02 12:00:04 +01:00
André Blome
4aa314b3ab
feat: Added quick "save project" action ( #826 )
...
* add quick -save project- action
* translation for -save project as- added
* removed machine translations; header file name extension fixed
* moved openProject() for consistency
2022-11-25 10:47:11 +01:00
iTrooz_
217cf799c2
sys: Warn user if a net request fails while a proxy is set ( #821 )
...
* tell the user if he have a proxy set
* Improved log message
Co-authored-by: Nik <werwolv98@gmail.com>
2022-11-25 10:39:45 +01:00
WerWolv
4c5d2f6ebb
feat: Finish up work on new pl section system
2022-11-08 21:43:22 +01:00
Asvel
c35eaa7a4d
fix: Pattern auto-loading issue on Windows ( #808 )
2022-10-30 13:39:40 +01:00
WerWolv
5cf6baca88
fix: Yara matching not being interruptable
2022-10-28 14:32:28 +02:00
WerWolv
0c5e72ab6a
nodes: Improve precision of values passed between nodes
2022-10-26 08:54:08 +02:00
WerWolv
858e1aed3b
nodes: Fixed a few issues with locatizations, errors and overlays
2022-10-22 23:17:18 +02:00
WerWolv
241b93aab5
patterns: Added menu to Edit menu for placing types at current selection
2022-10-21 10:03:37 +02:00
iTrooz_
f3b0971d00
sys: Improve various error messages ( #789 )
...
* Tell the user the net request which failed
* Show signal name
* Print execution time of startup tasks
* replace NULL with nullptr
* change wording for task logs
* Remove '..' from task name
* remove using namespace chrono
2022-10-20 08:28:29 +02:00
WerWolv
1ab949b7ef
nodes: Added RGBA8 image visualizer
2022-10-13 15:13:53 +02:00
WerWolv
8b39c8f219
feat: Make all tool windows be detachable
2022-10-13 10:47:38 +02:00
WerWolv
015266181e
fix: Various issue with the hex editor editing mode
2022-10-12 10:56:03 +02:00
WerWolv
4070833229
ui: Highlight selected patterns in pattern data view
2022-10-09 15:56:26 +02:00
WerWolv
484481f886
fix: Opening files with unicode names through the command line
2022-10-07 10:14:24 +02:00
WerWolv
e0c35e0002
fix: Data processor nodes not remembering their positions correctly
2022-10-06 09:14:46 +02:00
WerWolv
5ace199dc4
fix: Foreground tasks not being cancellable
2022-10-05 21:25:52 +02:00
WerWolv
7f2c60b0d7
fix: Race condition with data inspector
2022-10-05 12:02:40 +02:00
WerWolv
7bb9e7ee82
sys: Replaced awful task system with a much more efficient thread pool
2022-10-04 23:37:48 +02:00
WerWolv
b80517ab15
sys: Improved UTF-8 path handling in various places
...
Fixes #768
2022-10-04 09:10:58 +02:00
Nik
9c484e7b57
fix: Various clang / clang-tidy warnings ( #764 )
2022-10-02 17:30:26 +02:00
WerWolv
6a07a2f85d
feat: Look for custom inspector entries in imhex/scripts/inspectors
2022-10-02 14:18:40 +02:00
WerWolv
663fb88367
sys: Various cleanup
2022-09-30 12:49:28 +02:00
WerWolv
c769e9cc32
ui: Highlight modified bytes in red
2022-09-28 15:01:43 +02:00
WerWolv
e34703ea5a
fix: Saving and loading projects not working correctly
2022-09-22 09:05:09 +02:00
iTrooz_
3a94be9abb
ux: Display an error message if file picker can't be opened ( #748 )
...
* add error message for the file picker
* set a different message for Windows/MacOS
* fix typos
* Moved file dialog error handling to a callback function
Co-authored-by: Nik <werwolv98@gmail.com>
2022-09-20 15:47:59 +02:00
WerWolv
1d4cbbe418
ux: Handle project loading errors better
2022-09-20 15:33:36 +02:00
WerWolv
a55177edfa
fix: Curl SSL context not being thread safe in the slightest
2022-09-19 21:56:43 +02:00
WerWolv
4c01a749de
sys: Improved startup time by running startup tasks in parallel
2022-09-19 16:54:19 +02:00
WerWolv
7b61268f22
ux: Reduce file loading time to basically zero
2022-09-19 16:09:22 +02:00