Commit Graph

87 Commits

Author SHA1 Message Date
WerWolv 8a485575f5 ui: Added recent files to File menu 2021-04-13 08:41:59 +02:00
WerWolv 6223b26888 ui: Added hex editor highlight opacity setting 2021-03-29 23:07:18 +02:00
WerWolv 147aefc7e5 ux: Add close file button to file menu 2021-03-29 22:44:35 +02:00
WerWolv 0cc7004d0d ux: Show currently loaded file name in window name 2021-03-29 22:44:23 +02:00
WerWolv d805d976a6 sys: Replace the terrible event manager with a much better one 2021-03-27 11:36:36 +01:00
WerWolv 688ca01b1b ux: Added undo and redo option 2021-03-26 21:43:24 +01:00
WerWolv 42461c467f ux: Properly use current key layout for shortcuts 2021-03-26 21:40:35 +01:00
WerWolv 2a7b698a3d prv: Make data overlays work everywhere, not just in the hex editor view 2021-03-21 14:50:47 +01:00
WerWolv 4a908a314f lang: Added German translation, improved language handling 2021-03-03 22:26:17 +01:00
WerWolv 188723e888 sys: Replace printf formatting with libfmt 2021-03-03 19:58:22 +01:00
WerWolv 2e4eaf8d33 ux: Fixed region selection only selecting one byte 2021-03-02 13:49:23 +01:00
WerWolv 4a1de5d1cb bookmarks: Added ability to lock bookmarks 2021-02-24 21:42:18 +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 0a29f25330 ui: Open all views and create default layout on first launch 2021-02-21 13:49:03 +01:00
WerWolv e5d664bc07 Fixed bookmark creation in huge files 2021-02-17 14:57:32 +01:00
WerWolv 460d5a9386 Various fixes and improvements 2021-02-17 14:47:25 +01:00
WerWolv b4c2f7d371 Implemented crude support for custom encodings via thingy files
Relevant issue: #26
2021-02-14 01:11:55 +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 8e7bfb7f1a Fixed some popups not appearing when no views are open 2021-02-07 14:29:13 +01:00
WerWolv ac019a7d7e Fixed build on Unix, move crypto wrapper to libimhex 2021-02-03 11:54:41 +01:00
WerWolv 785ecb8a78 Switch from openssl/libcrypto to mbedtls 2021-02-02 23:11:23 +01:00
WerWolv 29f50bb70b Fixed search selection and hex editor shortcuts 2021-02-02 00:39:35 +01:00
WerWolv d69eee55dd Added recent files selection to Welcome screen 2021-02-01 19:03:45 +01:00
WerWolv 8dd76a6cc8 Added error messages for file opening issues 2021-01-31 00:05:07 +01:00
WerWolv 073eee8fab Further improved UI/UX of welcome screen 2021-01-30 23:02:03 +01:00
WerWolv 5c7a529fa1
Added Data Processor using Nodes (#152)
* Added imnodes

* Added basic data processor view. Still needs to be cleaned up

* Make sure all attached links get properly removed when a Node is deleted

* Cleanup and API exposing

* Added data provider overlays and integrate them with the data processor

* Optimized data processing

* Node UI enhancements

* Added support for all themes to the nodes editor

* Improved data processor context menus

* Fixed data processor context menu showing up everywhere

* Make hex editor context menu behave the same as data processor one

* Add different node pin types and prevent incompatible ones from being connected

* Don't require explicitly marking node as end node

* Fixed plugin copying

* Added some more nodes
2021-01-30 22:39:06 +01:00
WerWolv 319068eef5 Implemented Open File and Preferences button in Welcome screen 2021-01-27 14:26:24 +01:00
WerWolv 8990fad85a Make File Dialogs less hacky 2021-01-27 00:44:10 +01:00
WerWolv a641f27b7e Improved events API 2021-01-21 10:53:12 +01:00
WerWolv b2648afc7b Improve bookmark API 2021-01-20 20:16:24 +01:00
WerWolv be738eb5e7 Improved byte highlighting 2021-01-20 18:10:40 +01:00
WerWolv 740619529c Allow most modal popups to be closed with escape 2021-01-14 17:01:44 +01:00
WerWolv 0a8368d639 Close base address popup when clicking Set 2021-01-13 22:53:21 +01:00
WerWolv eb066b3539 Refactored libimhex to and includes to better represent it as library 2021-01-13 17:28:27 +01:00
WerWolv c1ad816211 Added hover tooltip for bookmarks in hex editor 2021-01-13 16:45:31 +01:00
WerWolv 4328a335ec Added color picker for Bookmarks and highlighting in the hex view 2021-01-13 14:11:23 +01:00
WerWolv dc85616549 Hopefully fixed the whole plugin mess I started 2021-01-12 23:28:41 +01:00
WerWolv 14adcc0e51 Added set base address function to hex editor
This resolves #19
2021-01-11 13:50:04 +01:00
WerWolv f9039f4b34 Added hex editor view right click context menu 2021-01-10 23:59:36 +01:00
WerWolv 99f37504de Force reload the current pattern when loading a new file 2021-01-08 17:38:43 +01:00
WerWolv eed7ef1ac3 Make sure important data is synchronized between ImHex and plugins 2021-01-04 00:19:56 +01:00
WerWolv 206be8b110 Greatly improved hex editor byte highlighting performance 2021-01-03 02:37:37 +01:00
WerWolv f74eff8934 Add support for custom providers via plugins 2020-12-27 15:39:06 +01:00
WerWolv dbbc525174
Added Plugin support (#102)
* Build refactoring and initial plugin support

* Possibly fixed linux / mac build

* Added libdl to libglad build script

* Add glfw to imgui dependencies

* Refactored common functionality into "libimhex" for plugins

* Added plugin loading and example plugin

* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00
WerWolv b9324f44e6 Added selected addresses to hex editor footer
This (and the two previous commits) fixes #99
2020-12-21 15:20:57 +01:00
averne 56cca88fbd
Proper DPI scaling and basic custom font (#85)
* add glm to arch deps

After running got `None of the required 'glm' found`. This fixes that

* dist/fedora: Include file magic headers

Due to differences in package names between Deb based systems, Arch
Linux, and RPM based systems the package containing the development
headers for file were missing from the Fedora dependencies script.

This includes the package `file-devel`, which is the package which
resolves the issue.

In Fedora, one can identify the package providing a specific file using
the verb "whatprovides" with the command dnf, e.g.:

    [~]$ dnf whatprovides /usr/include/magic.h
    Last metadata expiration check: 4 days, 0:23:05 ago on Fri 04 Dec 2020 09:06:53 AM PST.
    file-devel-5.39-3.fc33.i686 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : @System
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

If one is unsure of the specific path, globbing may be used (but must be
quoted):

    dnf whatprovides "*/magic.h"

Resolves #48

* dist: Prevent already installed packages in ArchLinux and MSYS2.

Use --needed option with pacman to prevent it.

* Add script to install dependencies on Debian/Ubuntu.

Tested with Xubuntu 20.04 and Debian testing
(in today's Docker image bitnami/minideb).

Update README.md.

* ci: rework (#31)

* Support non standard LLVM library names (#86)

This fix openSUSE and Gentoo issue mentioned in https://github.com/WerWolv/ImHex/issues/37#issuecomment-739503138.

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.

* Implement proper DPI handling

* Implement basic custom font support

* Fix building on windows

* Hopefully fix fonts on Windows

* Fix several scaling issues

* Replace font renderer with freetype

* Updated CI and dependency scripts

* Rebuild default font atlas

* Correct platform detection macro for mingw

* Fixed PKGBUILD

Co-authored-by: brockelmore <31553173+brockelmore@users.noreply.github.com>
Co-authored-by: Brian 'Redbeard' Harrington <redbeard@dead-city.org>
Co-authored-by: Biswapriyo Nath <nathbappai@gmail.com>
Co-authored-by: Stéphane Gourichon <stephane.gourichon@fidergo.fr>
Co-authored-by: umarcor <38422348+umarcor@users.noreply.github.com>
Co-authored-by: Mary <me@thog.eu>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2020-12-11 14:24:42 +01:00
WerWolv 485761f45c Fixed ImHex refusing to be closed in some circumstances 2020-12-07 00:42:52 +01:00
WerWolv 4720cf9fbe Added possible support for MacOS. Completely untested.
Relevant: #32
2020-12-06 13:48:56 +01:00
WerWolv 7b8330f8f8 Added command line support / dropping files onto executable
Closes #36
2020-12-05 22:10:03 +01:00
WerWolv c6134bc038 Added basic python-based load scripts 2020-12-01 02:21:40 +01:00