Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
Previously the utf8_view was validated for the utf16 valude instead
of the utf16_view.
|
|
|
|
This also changes those variables to be references to the casted
document type, instead of pointers.
|
|
Returning a `bool` is meaningless, so let's make it more expresive :^)
|
|
`HexEditor::set_readonly` was never called, even though
`HexEditor::is_readonly` was occasionally queried -- so it's entirely
been removed.
|
|
For each string found we would output it, which was way too much noise
:^)
|
|
The previous shortcut of `Ctrl + Shift + S` conflicted with `Save As...`
action shortcut.
|
|
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.
|
|
This should improve an overall visibility of "meaningful" data. :^)
|
|
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.
|
|
Besides simplifying the code, this will also draw outline for these
buttons as a cue for a user!
|
|
|
|
|
|
|
|
This is kind of redundant but probably easier to read than the ASCII
column. Also, it seems appropriate after we add other character
encodings.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
This applies for the "copy as hex", "copy as text", "copy as C code",
"fill selection" actions
|
|
|
|
Before this patch the fill selection command would set the selection
and one byte after it
|
|
|
|
|
|
Function-local `static constexpr` variables can be `constexpr`. This
can reduce memory consumption, binary size, and offer additional
compiler optimizations.
|
|
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.
|
|
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.
|
|
In such case, move the cursor up or down the amount of bytes per row,
multiplied by the visible content rectangle height, if possible.
|
|
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.
|
|
|
|
|
|
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."
|
|
Now the copy action takes exactly the selected chars and not one more.
|
|
Closes: #11925
|
|
|
|
This brings the existing GML files up to spec with the new requirements
|
|
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.
|
|
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.
|
|
How silly :^)
|
|
|
|
This lets us propagate the reason why it failed up to the caller. :^)
|
|
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. :^)
|
|
|
|
|