summaryrefslogtreecommitdiff
path: root/Userland/Applications/HexEditor/HexEditor.h
AgeCommit message (Collapse)Author
2023-03-06Everywhere: Remove NonnullOwnPtr.h includesAndreas Kling
2023-03-06Everywhere: Remove NonnullRefPtr.h includesAndreas Kling
2023-03-04Userland: Use Font::pixel_size_rounded_up() instead of glyph_height()Andreas Kling
The only remaining clients of this API are specific to bitmap fonts and editing thereof.
2023-02-15HexEditor: Add selection strings to the value inspectorMetallicSquid
Strings include ASCII, UTF-8, and UTF-16 Co-authored-by: Andreas Krohn <hamburger1984@gmail.com>
2023-02-13LibCore: Move Stream-based file into the `Core` namespaceTim Schumacher
2023-02-04HexEditor: Propagate errors when using "Save"Lucas CHOLLET
2023-02-04HexEditor: Propagate errors when using "Save as"Lucas CHOLLET
2023-02-04HexEditor: Port to `Core::Stream`Lucas CHOLLET
2023-01-12Userland: Use Core::Timer::create_foo() factory functions where possibleSam Atkins
2022-12-14HexEditor: Handle some errors inside the editorArda Cinar
Specifically, the ones HexEditor::did_complete_action possibly raised in case creating an undo stack entry or pushing it onto the undo stack fails. In this case, an error popup is displayed and the modifications are undone. This removes 2 FIXMEs inside the code :^)
2022-11-01HexEditor: Implement undo and redo actionskamp
2022-11-01HexEditor: Only mark window as modified when document is actually dirtykamp
2022-08-03HexEditor: Make `HexEditor::open_new_file` fallible and reduce branchingJames Puleo
Returning a `bool` is meaningless, so let's make it more expresive :^)
2022-08-03HexEditor: Remove unused readonly flagJames Puleo
`HexEditor::set_readonly` was never called, even though `HexEditor::is_readonly` was occasionally queried -- so it's entirely been removed.
2022-04-09LibGfx: Move other font-related files to LibGfx/Font/Simon Wanner
2022-04-07HexEditor: Add get_byte() method to HexEditor classTimothy Slater
2022-04-07HexEditor: Add ability to set a selection rangeTimothy Slater
2022-02-14Applications: Use default constructors/destructorsLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-02-14HexEditor: Fix crash of copy action when selection is emptyFederico Guerinoni
Closes: #11925
2022-01-20HexEditor: Use FileSystemAccessClient::try_* APIsMustafa Quraish
2021-12-23HexEditor: Stream input files instead of keeping them in memoryArne Elster
To support editing of large files it is an advantage to not load the entire file into memory but only load whatever is needed for display at the moment. To make it work, file access is abstracted into a socalled HexDocument, of which there two: a memory based and a file based one. The former can be used for newly created documents, the latter for file based editing. Hex documents now do track changes instead of the HexEditor. HexEditor only sets new values. This frees HexEditor of some responsibility.
2021-11-01HexEditor: Give magic constants namesArne Elster
There are a lot of numbers just floating around in the code. Give them proper names.
2021-11-01HexEditor: Use size_t where applicableArne Elster
File positions as well as selection positions should be size_t, as they are never negative and can become quite big.
2021-11-01HexEditor: Show blinking caret at current positionArne Elster
For better visibility of wether the editing focus is on the hex or the ascii view, render a blinking caret instead of a solid cell background. For that to work, it's also necessary to change the way selection works. The selection shouldn't extend to the current position but up to the byte before it.
2021-09-13Everywhere: Use my fancy new serenityos.org email :^)Mustafa Quraish
2021-09-04HexEditor: Use FileSystemAccessClient, add unveilsMustafa Quraish
Most of the code here is based off the implementation of how TextEditor uses FileSystemAccessClient.
2021-06-01HexEditor: Fix off-by-one bugs in selected text length calculationsBrendan Coles
find_and_highlight() selected +1 too many bytes. 'Select All' selected +1 too many bytes past the end of the buffer. Status bar 'Selected Bytes' count was off by -1 when more than zero bytes were selected.
2021-05-29HexEditor: Add find_all_strings() functionBrendan Coles
2021-05-27HexEditor: Add 'Find All' option to Find Dialog to find all matchesBrendan Coles
2021-05-23HexEditor: Add 'Go to Offset...' dialogBrendan Coles
2021-05-22HexEditor: Add 'Select All' actionBrendan Coles
2021-05-03LibGUI: Rename ScrollableWidget => AbstractScrollableWidgetAndreas Kling
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-01-24HexEditor: FindCamisul
Added search submenu with options to find or find again. Find allows to search for ASII string or sequence of Hex value.
2021-01-12LibC+Everywhere: Remove open_with_path_length() in favor of open()Andreas Kling
This API was a mostly gratuitous deviation from POSIX that gave up some portability in exchange for avoiding the occasional strlen(). I don't think that was actually achieving anything valuable, so let's just chill out and have the same open() API as everyone else. :^)
2021-01-12Applications: Move to Userland/Applications/Andreas Kling