This PR adds some documentation. It's actually pretty random, I followed
the function calls I was curious about and commented whenever I wasn't
sure/I thought it needed clarification
You might want to make sure to squash them, because the commits are kind
of a mess, I didn't went through the effort of interactive rebase
This PR does two correlated things:
- Show a generic error message (Failed to open provider) rather than a
file-specific message (Failed to open file) when a provider fails to
open
- Set the error to something more specific when opening a file fails
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
* clear project context when closing all providers
* Show project name on window title
* refactor RequestChangeWindowTitle to RequestUpdateWindowTitle
* add spaces
* 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>
* feat: Initial implementation of an Intel Hex provider
* fix: Reading of bytes from intel hex files
* lang: Added localization for new provider
* ui: Only show file name in intel hex provider name
* feat: Added Motorola SREC provider
* sys: Initial effort to replace existing project files with a better system
* sys: Added back marking provider as dirty
* sys: Remove git commit information from project files
* sys: Format data processor save file nicely
* fix: Automatic pattern loading not working correctly
* ui: Added warning popup when closing a provider with modifications
Closes#604
* sys: Fixed build issues
* tests: Removed useless debug logs
* patterns: Updated pattern language
* sys: Added log message when crashing with a signal
* sys: Make sure abnormal termination handlers are being called more reliably
* ui/ux: Initial recreation of the hex editor view
* ui/ux: Added back support for editing cells
* ux: Make scrolling and selecting bytes feel nice again
* ui/ux: Improved byte selecting, added footer
* sys: Make math evaluator more generic to support integer only calculations
* patterns: Moved value formatting into pattern language
* ui/ux: Added Goto and Search popups, improved selection
* ui: Added better tooltips for bookmarks and patterns
* sys: Use worse hex search algorithm on macOS
Sadly it still doesn't support `std::boyer_moore_horsepool_searcher`
* ui: Added back missing events, menu items and shortcuts
* fix: Bookmark highlighting being rendered off by one
* fix: Various macOS build errors
* fix: size_t is not u64 on macos
* fix: std::fmod and std::pow not working with integer types on macos
* fix: Missing semicolons
* sys: Added proper integer pow function
* ui: Added back support for custom encodings
* fix: Editor not jumping to selection when selection gets changed
* ui: Turn Hexii setting into a data visualizer
* sys: Added back remaining shortcuts
* sys: Remove old hex editor files
* sys: Moved more legacy things away from the hex editor view, updated localization
* fix: Hex editor scrolling behaving weirdly and inconsistently
* sys: Cleaned up Hex editor code
* sys: Added selection color setting, localized all new settings
* fix: Search feature not working correctly
* ui: Replace custom ImGui::Disabled function with native ImGui ones
* ui: Fix bookmark tooltip rendering issues
* fix: Another size_t not being 64 bit issue on MacOS