summaryrefslogtreecommitdiff
path: root/Userland/Applications/HexEditor
AgeCommit message (Collapse)Author
2022-12-06Everywhere: Rename to_{string => deprecated_string}() where applicableLinus Groh
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-11-14HexEditor: Allow keydown events to propagate if they are not handledZaggy1024
2022-11-13Userland: Accept drag_enter events for widgets supporting file dropsKarol Kosek
This patch will switch cursor to DragCopy when a user enters a widget while dragging file(s), giving them a visual clue that it *might* be dropped into this widget. This is a rather naive approach, as the cursor icon will change for any kind of file, as currently programs don't know the drag contents before dropping it. But after all I think it's better than nothing. :^)
2022-11-07TextEditor+HexEditor: Warn about unsaved changes after dropping filesKarol Kosek
2022-11-01Everywhere: Mark dependencies of most targets as PRIVATETim Schumacher
Otherwise, we end up propagating those dependencies into targets that link against that library, which creates unnecessary link-time dependencies. Also included are changes to readd now missing dependencies to tools that actually need them.
2022-11-01HexEditor: Implement undo and redo actionskamp
2022-11-01HexEditor: Only mark window as modified when document is actually dirtykamp
2022-10-31HexEditor: Specify page skip size in multiples of the line heightpremek
2022-10-25Applications: Use new global variables at /sys/kernel/ directoryLiav A
2022-10-25Userland: Let applications make use of make_command_palette_action()demostanis
2022-10-14HexEditor: Render selection background without gaps between rowsMart G
The selected region in HexEditor is indicated by rendering a different background color for the selected bytes. Previously this background was rendered so that the background rectangles were not contigous between different rows. This caused a high contrast pattern that interfered with the readability of the hexadecimal digits. Now the background is rendered as a single contiguous block.
2022-10-12HexEditor: Fix two off-by-one errorsMart G
The 'select all' feature now also selects the last byte of the document. The find function now also selects the last byte of a match.
2022-10-12Userland: Properly populate GENERATED_SOURCESAli Mohammad Pur
We previously put the generated headers in SOURCES, which did not mark them as GENERATED (and did not produce a proper dependency). This commit moves all generated headers into GENERATED_SOURCES, and removes useless header SOURCES.
2022-10-03Userland: Unveil /proc/all in applications which require itTimothy Flynn
These were missed in 7af5eef. It is needed for any application using e.g. FileSystemAccessServer.
2022-10-03Userland: Tighten promises by removing 'proc' where it isn't usedTimothy Flynn
This is a partial revert of commit 7af5eef. After 97d15e9, the 'proc' promise is not needed for operations using getsid(). This also fixes launching several applications in which 7af5eef added the 'proc' promise only in the second call to pledge().
2022-10-03SystemServer+LoginServer+Userland: Switch to sid-based socketsPeter Elliott
This commit does three things atomically: - switch over Core::Account+SystemServer+LoginServer to sid based socket names. - change socket names with %uid to %sid. - add/update necessary pledges and unveils. Userland: Switch over servers to sid based sockets Userland: Properly pledge and unveil for sid based sockets
2022-09-29AK+Everywhere: Replace "protocol" with "scheme" url helpersnetworkException
URL had properly named replacements for protocol(), set_protocol() and create_with_file_protocol() already. This patch removes these function and updates all call sites to use the functions named according to the specification. See https://url.spec.whatwg.org/#concept-url-scheme
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.