summaryrefslogtreecommitdiff
path: root/Userland/Applications/HexEditor
AgeCommit message (Collapse)Author
2022-08-30Applications+DevTools: Remove fixed sizes from Splittersthankyouverycool
And adjust some GML properties. Since a808cfa, splitters grow opportunistically. Setting them to fixed sizes now quite literally fixes them in place. Fixes immovable splitters missed in the aforementioned commit.
2022-08-29HexEditor: Add Help->Manual entry in Menudjwisdom
2022-08-22HexEditor: Fix utf16 validationJannis Weis
Previously the utf8_view was validated for the utf16 valude instead of the utf16_view.
2022-08-14Base: Launch FileSystemAccessServer at session start-upLucas CHOLLET
2022-08-03HexEditor: Rename camel case variable names in `HexEditor::save_as`James Puleo
This also changes those variables to be references to the casted document type, instead of pointers.
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-08-03HexEditor: Don't spam debug output when finding all stringsJames Puleo
For each string found we would output it, which was way too much noise :^)
2022-08-03HexEditor: Change `Find All Strings` shortcut to `Ctrl + Shift + F`James Puleo
The previous shortcut of `Ctrl + Shift + S` conflicted with `Save As...` action shortcut.
2022-07-12Everywhere: Add sv suffix to strings relying on StringView(char const*)sin-ack
Each of these strings would previously rely on StringView's char const* constructor overload, which would call __builtin_strlen on the string. Since we now have operator ""sv, we can replace these with much simpler versions. This opens the door to being able to remove StringView(char const*). No functional changes.
2022-07-11HexEditor: Gray-out null bytesKarol Kosek
This should improve an overall visibility of "meaningful" data. :^)
2022-07-06AK: Use an enum instead of a bool for String::replace(all_occurences)DexesTTP
This commit has no behavior changes. In particular, this does not fix any of the wrong uses of the previous default parameter (which used to be 'false', meaning "only replace the first occurence in the string"). It simply replaces the default uses by String::replace(..., ReplaceMode::FirstOnly), leaving them incorrect.
2022-06-02Userland: Use default buttons instead of manually handling return pressKarol Kosek
Besides simplifying the code, this will also draw outline for these buttons as a cue for a user!
2022-05-13LibGUI+Userland: Make Dialog::ExecResult an enum classSam Atkins
2022-04-27HexEditor: Add UTF16 to the value inspectorkleines Filmröllchen
2022-04-27HexEditor: Add UTF8 to the value inspectorkleines Filmröllchen
2022-04-27HexEditor: Add ASCII to the value inspectorkleines Filmröllchen
This is kind of redundant but probably easier to read than the ASCII column. Also, it seems appropriate after we add other character encodings.
2022-04-27HexEditor: Don't require the ValueInspectorModel's value size to be i32kleines Filmröllchen
2022-04-18HexEditor: Show endianness in the value inspectorEli Youngs
2022-04-09LibGfx: Move other font-related files to LibGfx/Font/Simon Wanner
2022-04-07HexEditor: Add Value InspectorTimothy Slater
This adds a value inspector window to the Hex Editor. This window shows the data at the current cursor position (or selection start if a range is selected) interpreted as a variety of data types. Currently supported values include 8, 16, 32, and 64 bit signed and unsigned values as well as float and double. The inspector can operate in both little endian and big endian modes. This is switched between by options in the View menu.
2022-04-07HexEditor: Add get_byte() method to HexEditor classTimothy Slater
2022-04-07HexEditor: Add ability to set a selection rangeTimothy Slater
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-03-14HexEditor: Selection follows cursor while pressing shiftSamu698
This patch makes the HexEditor behaviour similar to the one of the text editor, this can be seen by pressing shift and the arrow keys
2022-03-14HexEditor: Disable selection dependent actions when no selection is madeSamu698
This applies for the "copy as hex", "copy as text", "copy as C code", "fill selection" actions
2022-03-14HexEditor: Offset segment in status bar opens goto offset dialogSamu698
2022-03-14HexEditor: Fill selection sets only bytes inside selectionSamu698
Before this patch the fill selection command would set the selection and one byte after it
2022-03-14HexEditor: Copy as C code doesn't add trailing spacesSamu698
2022-03-02Applications: Fix undefined behavior capturing non-static constexprLenny Maiorani
2022-02-28Applications: Change static constexpr variables to constexprLenny Maiorani
Function-local `static constexpr` variables can be `constexpr`. This can reduce memory consumption, binary size, and offer additional compiler optimizations.
2022-02-24LibGUI+Apps: Convert Statusbar Labels to Segmentsthankyouverycool
Segments inherit from Button and let us add clickable widgets to status bars. This patch also adds proportional, fixed and autosized modes for segments and lets the status bar consume all non-clickable segments for override text.
2022-02-21Userland: Ask first for unsaved changes after clicking an "Open" actionKarol Kosek
Previously there was some inconsistency between the apps when clicking the "Open" action while the file wasn't saved. Some programs (Font Editor) immediately asked you if you wanted to save the modified file, while others (Text Editor, Hex Editor and Playground) would show the save dialog only *after* you selected a file. I think it's better to ask a user right away if they want to save file, because a dialog after selecting a file should be generally related to that selected file, like an error opening a file, an import window etc.
2022-02-20HexEditor: Add support for handling PageUp and PageDown key eventsLiav A
In such case, move the cursor up or down the amount of bytes per row, multiplied by the visible content rectangle height, if possible.
2022-02-20HexEditor: Reduce code duplication when handling key down eventsLiav A
Instead of having the same update block for each event we can use lambda functions to help updating the cursor when handling key down events.
2022-02-20HexEditor: Use the system-wide unsaved changes dialogKarol Kosek
2022-02-20HexEditor: Display dirty close icon when the file is changedKarol Kosek
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 copy {text/hex} to clipboardFederico Guerinoni
Now the copy action takes exactly the selected chars and not one more.
2022-02-14HexEditor: Fix crash of copy action when selection is emptyFederico Guerinoni
Closes: #11925
2022-02-13Base+HexEditor: Add iconselectrikmilk
2022-02-13Userland: Run gml-formatIdan Horowitz
This brings the existing GML files up to spec with the new requirements
2022-02-11LibConfig: Rename pledge_domains(String) => pledge_domain(String)Vitaly Dyachkov
pledge_domains() that takes only one String argument was specifically added as a shortcut for pledging a single domain. So, it makes sense to use singular here.
2022-02-07Meta+Userland: Run the GML formatter on CI and pre-commitkleines Filmröllchen
Now that the GML formatter is both perserving comments and also mostly agrees to the existing GML style, it can be used to auto-format all the GML files in the system. This commit does not only contain the scripts for running the formatting on CI and the pre-commit hook, but also initially formats all the existing GML files so that the hook is successfull.
2022-01-28Userland: Remove a bunch of unnecessary Vector importskleines Filmröllchen
How silly :^)
2022-01-28HexEditor: Use Array in FindDialog's optionskleines Filmröllchen
2022-01-24AK+Userland: Make AK::decode_hex() return ErrorOrSam Atkins
This lets us propagate the reason why it failed up to the caller. :^)
2022-01-24Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOrSam Atkins
Apologies for the enormous commit, but I don't see a way to split this up nicely. In the vast majority of cases it's a simple change. A few extra places can use TRY instead of manual error checking though. :^)
2022-01-20HexEditor: Use FileSystemAccessClient::try_* APIsMustafa Quraish
2022-01-01HexEditor: Port HexEditor to LibMainConor Byrne