1
0
mirror of synced 2024-12-15 09:11:15 +01:00
Commit Graph

69 Commits

Author SHA1 Message Date
WerWolv
a67263fa27 patterns: Added basic file i/o functions 2021-10-07 14:49:49 +02:00
WerWolv
044e65eb20 sys: Fixed non-existing files being created in Read mode 2021-10-05 18:47:10 +02:00
WerWolv
545604da63 sys: Fixed reading empty file as string crashing 2021-10-05 18:46:57 +02:00
WerWolv
5db608c3fc ui: Fixed automatic pattern loading, added better pattern browse popup 2021-09-26 21:18:25 +02:00
WerWolv
e57481b87c tools: Added file shredder, splitter and combiner 2021-09-22 17:56:06 +02:00
WerWolv
26a0352851 tests: Fixed unit test compiling 2021-09-21 02:48:41 +02:00
WerWolv
8631cb0c2a sys: Allow multiple files to be loaded simultaneously 2021-09-21 02:29:54 +02:00
WerWolv
d3fb00d441 sys: Allow resources to be placed in appdata on windows 2021-09-13 23:55:50 +02:00
WerWolv
ea2d181741 utils: Fix file wrapper 2021-09-12 20:29:05 +02:00
WerWolv
8396e40fa0 tests: Added initial test structure 2021-09-11 14:41:18 +02:00
WerWolv
b3d102419b sys: Fixed opening custom protocols in the web browser 2021-09-10 21:42:35 +02:00
WerWolv
f0697679f4 sys: Add local search for plugins and resources on Linux 2021-09-10 15:30:49 +02:00
WerWolv
a8c9e96b72 fix: Inverted logic when checking for libmagic error 2021-09-09 01:56:48 +02:00
WerWolv
e74c0f5cf5 sys: Tons of long overdue cleanup
- std::string -> const std::string& where needed
- Added a FileIO abstraction class
- Fixed recent files not updating
- Removed localization file from global include
- Renamed lang to pattern_language/pl
- Renamed EventFileDropped to RequestFileOpen
2021-09-08 15:18:24 +02:00
WerWolv
6879cf765f sys: Cleanup libmagic mess 2021-09-06 16:15:05 +02:00
WerWolv
4b40546750 views: Add simple pattern, library and magics store 2021-09-03 02:34:40 +02:00
WerWolv
68d72eac16 sys: Move imhex path resolution away from utils 2021-09-03 02:33:15 +02:00
WerWolv
82cb7917e4 ui: Added half floats to data inspector 2021-09-01 00:23:45 +02:00
WerWolv
5f63db4a34 ui: Add first unifont plane by default 2021-08-31 15:22:00 +02:00
WerWolv
32eddbf581 ui: Fix wide characters and utf-8 display in inspector 2021-08-30 19:12:46 +02:00
WerWolv
633fa7213a sys: More compile time improvements 2021-08-29 22:15:18 +02:00
WerWolv
02d31d2d2a sys: First attempt at reducing build times 2021-08-29 14:18:45 +02:00
WerWolv
3138d2c4a2 tools: Added Anonfiles uploader 2021-08-28 00:45:59 +02:00
WerWolv
d3a227d0bc sys: Fixed open webpage command, added run command 2021-08-22 21:43:31 +02:00
WerWolv
66f94a452d net: Fix SSL verification with curl
This fixes update detection
2021-08-22 20:22:46 +02:00
WerWolv
37d2d58d2f ui: Added toolbar 2021-08-21 00:52:11 +02:00
WerWolv
a53cfaa63a sys: Make crypto wrapper compatible with mbedtls 2 and 3 2021-08-17 17:28:33 +02:00
WerWolv
e8d77f8269 sys: Embed resources into rodata 2021-07-31 17:10:19 +02:00
WerWolv
35c7f826bc views: Added constants search view 2021-06-26 01:18:33 +02:00
Foster Brereton
ac53b4bcab
Add rpath to binary executable on macOS (#258)
* removing superfluous slash from paths

* Add a necessary rpath to the imhex binary

* add a little error handling to dlopen

* fall back on en-US if no language specified in prefs

* PR changes as per @WerWolv
2021-06-18 20:09:36 +02:00
WerWolv
ee2b412a10 nodes: Added primitive saving and loading mechanism
Not fully integrated yet. Also doesn't yet save any node settings, just nodes and links
2021-05-17 23:17:58 +02:00
WerWolv
1f2fe6b93d sys: Merge splash screen and ImHex into one application
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv
ebbbcafe5c
sys: Implement more functionality into splash screen (#223)
* build: Add libcurl

* build: Stop the whole static linking on Windows mess. There's no use anymore

* sys: Added update detector and moved some startup tasks to splash screen

* sys: Updated ImHex icon

* fix: Settings button on welcome page once again works

* build: Fix build on Linux

* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv
8a485575f5 ui: Added recent files to File menu 2021-04-13 08:41:59 +02:00
WerWolv
907f25c231 patterns: Added parent keyword to access members of the parent struct 2021-04-12 20:49:37 +02:00
WerWolv
d805d976a6 sys: Replace the terrible event manager with a much better one 2021-03-27 11:36:36 +01:00
WerWolv
ef747cc4c0 sys: Explicitly delete views so destructors get called properly 2021-03-16 22:44:37 +01:00
WerWolv
188723e888 sys: Replace printf formatting with libfmt 2021-03-03 19:58:22 +01:00
WerWolv
f1c03f8b1d sys: Place config files in AppData/Local/imhex folder on Windows
Fixes #182
2021-03-02 10:20:29 +01:00
WerWolv
3e6865ffa9
sys/build: Properly support per-system metadata file paths (#181)
* sys: Move away from metadata paths next to executable in the application

Build system doesn't properly install / pack stuff yet

* build: Updated README to contain better install instructions

* sys: Search for imhex resource files in ~/Application Support

* sys: MAX_PATH -> PATH_MAX

* sys: Seach for imhex resource files in Application Support using NSFileManager (#180)

* sys: Allow for multiple file search paths

Also use install prefix instead of just /usr on Linux

* build: Fixed IMHEX_INSTALL_PREFIX macro definition

* build: Fix duplicate switch entry on Linux

* docs: Updated readme to properly reflect new paths and dependencies

* sys: Install files in their proper paths on linux (#183)

* Install files in their proper paths on linux

* Only create user directories

* Follow the XDG specification on linux

XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:

- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS

The default values are this:

- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg

Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.

In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.

* Look for plugins in all Plugin Paths

If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.

Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv
0af8b8155f ui/ux: Give up on custom ImGui file browsers and just use the system one 2021-02-22 23:36:13 +01:00
WerWolv
0e00555703 Added Footer and API for it and the welcome screen 2021-02-18 12:09:19 +01:00
WerWolv
460d5a9386 Various fixes and improvements 2021-02-17 14:47:25 +01:00
WerWolv
424bba71f7 Fixed localization issues when using the content registry 2021-02-13 15:15:32 +01:00
WerWolv
36a4930b35 Implement localization all throughout ImHex
English only for now, additional languages will come in the future
2021-02-11 23:09:45 +01:00
WerWolv
9227fba474 Revamped language system right away again to allow plugins to use it 2021-02-11 00:35:30 +01:00
WerWolv
bd5da4a36e Added Language setting and localization wrapper 2021-02-10 18:17:09 +01:00
WerWolv
179e222919 Fixed command palette and added /web command 2021-02-08 19:56:04 +01:00
WerWolv
91d05c5de6 Added AES decryption node 2021-02-04 00:21:53 +01:00
WerWolv
ac019a7d7e Fixed build on Unix, move crypto wrapper to libimhex 2021-02-03 11:54:41 +01:00