Age | Commit message (Collapse) | Author |
|
This matches the behavior of other remove_*_matching() functions.
|
|
These functions now return whether one or more entries were removed.
|
|
|
|
This removes all matching entries from a hash map in a single pass.
|
|
|
|
This removes all matching entries from a table in a single pass.
|
|
11AB0-11ABF https://www.unicode.org/charts/PDF/U11AB0.pdf
|
|
Move 1F41A up 1px to align it with other glyphs
|
|
1F990, 1F42C, 1FAB8, 1FAA8, 1FAB7
https://www.unicode.org/charts/PDF/U1F300.pdf
https://www.unicode.org/charts/PDF/U1FA70.pdf
https://www.unicode.org/charts/PDF/U1F900.pdf
|
|
When searching for the locale-specific flexible day period for a given
hour, we were neglecting to handle cases where the period crosses 00:00.
For example, the en locale defines a day period range of [21:00, 06:00).
When given the hour of 05:00, we were checking if (21 <= 5 && 5 < 6),
thus not recognizing that the hour falls in that period.
|
|
This impacts text editors' ctrl+left, ctrl+shift+right, ctrl+backspace,
etc..
For example, consider the text "Hello world |", pressing
ctrl+backspace each time.
Before: "hello world |"
"hello world|"
"hello |"
"hello|"
"|"
After: "hello world |"
"hello|"
"|"
Note that this breaks a nice symmetry. Doing ctrl+left and then
ctrl+right doesn't necessarily get you to the same place like it use to.
Before: " hello |"
" hello| "
" hello |" // same as initial
After: " hello |"
"|hello "
" hello| " // different from initial
|
|
Previously we were using this vector to store the inodes as we iterated.
However, we don't need to store all of them, just the previous inode, as
we know it will be safe to remove it once we've iterated past that
element.
|
|
We always validate the size before we append, so there is
no reason to use the checked append.
|
|
We have whittled away at the usages of these AK::Vector APIs in the
Kernel. This change disables them from being visible when building
the Kernel to make sure no new usages get added.
|
|
In preparation for making Vector::append + Vector::prepend
unavailable during compilation of the Kernel.
This specific file is compiled into the Kernel as well as LibVT.
|
|
In preparation for making Vector::empend unavailable during
compilation of the Kernel.
|
|
In preparation for making Vector::append unavailable during
compilation of the Kernel.
|
|
In preparation for disabling Vector::prepend from being available
during the compilation of the Kernel.
|
|
|
|
This removes one additional usage of Vector::append that stops us from
disabling it when compiling the Kernel.
|
|
The dynamic linker now supports having custom library paths
as specified by the user.
|
|
1489-167F https://www.unicode.org/charts/PDF/U1400.pdf
Our implementation of 150C does not correspond with the Unicode chart,
it uses an alternative glyph found in many fonts for clarity!
|
|
Move these glyphs 1px up
|
|
2317, 2318, 231A, 231B, 2326-2328, 232B, 2380-238C, 2396-239A,
23CD-23CF, 23E9-23FE
https://www.unicode.org/charts/PDF/U2300.pdf
|
|
2B1B, 2B1C, 2B55, 2B57, 2B58, 2B59
https://www.unicode.org/charts/PDF/U2B00.pdf
|
|
2206, 2207, 220F, 2227-222C, 2250-225C, 2261, 2263,
228F-22A1, 22A9-22AB, 22B0, 22B1, 22B9, 22BA, 22BF,
22D5, 22FF
https://www.unicode.org/charts/PDF/U2200.pdf
|
|
1F41B, 1F419, 1F420, 1F421, 1F433, 1F43E, 1F43D, 1F41A, 1F442, 1F41E
https://www.unicode.org/charts/PDF/U1F300.pdf
|
|
1F916, 1F988, 1F955, 1F968, 1F980, 1F940, 1F94C, 1F991, 1F969
https://www.unicode.org/charts/PDF/U1F900.pdf
|
|
1F50C, 1F5B2, 1F964, 1F941
|
|
2518, 2510, 250C, 2514, 253C, 2500, 251C, 2524, 2534, 252C,
2502
The following glyphs are ported directly from
2329c52ad94a4c40b1b2e3ce2dd8526208f08bef:
2550, 2551, 2554, 2557, 255A, 255D
https://www.unicode.org/charts/PDF/U2500.pdf
|
|
Icon by: Mustafa Quraish <mustafaq9@gmail.com>
|
|
This is just a slight variation of `/res/icons/16x16/paste.png`, I've
removed the lines on the paper to make it look consistent with the
"New Image" icon, which is an empty piece of paper.
|
|
I think this is likely the more common operation and makes more sense
in the toolbar. It calls the 'save as' action internally anyway if there
is no associated file.
|
|
Now, when trying to close the application, there is a separate prompt
for each open tab with unsaved changes. Each tab is closed after it is
handled appropriately (assuming the user didn't Cancel), this makes it
so that the message box is always asking about the currently active tab,
allowing the user to see that the image contains.
If at any point the user presses "Cancel", all remaining tabs are kept
open.
|
|
This is similar to opening an empty text file in TextEditor, the user
is only asked to saved changes if they have made any changes to it.
|
|
Previously a newly opened (and unedited) project was considered
modified, even though there was no need to actually re-save the
contents.
|
|
Previously MainWidget::request_close() would always put up the
message box asking to save unsaved changes, even if there aren't any.
This patch makes it so that the message box is only shown if the
undo stack is in a modified state.
|
|
As noted in the latest hacking video, it doesn't seem to make much
sense to store the title and path in the image itself. These fields
have now been moved to the actual ImageEditor itself.
This allows some nice simplicfications, including getting rid of the
`image_did_change_title` hook of ImageClient (which was just a way to
report back to the editor that the title had changed).
|
|
Adds 0180—01FF of the Latin extended-B section of the unicode table.
|
|
|
|
|
|
This is required to store a MarkedValueList as the value of a HashMap.
|
|
This allows you to keep an arbitrary JS::Value alive without having to
hook visit_edges somewhere, e.g. by being a NativeFunction that
overrides visit_edges.
For example, this allows you to store JS::Handle<JS::Value> as the key
of a HashMap. This will be used to keep arbitrary Values alive in
the key of a temporary HashMap in Array.prototype.groupByToMap.
Co-authored-by: Ali Mohammad Pur <mpfard@serenityos.org>
|
|
|
|
|
|
|
|
|
|
Slightly more verbose, but that's the last user of TRY_OR_DISCARD gone!
|
|
In one case we can replace it with MUST() and accept the crash (we also
VERIFY() that there wasn't an exception); in the other case we don't
need to return after a throw completion.
|
|
|