Commit graph

32203 commits

Author SHA1 Message Date
Lady Gegga 365bd8a0c3 Base: Add Unified Canadian Aboriginal Syllabics Ext-A Katica Reg. 10
11AB0-11ABF https://www.unicode.org/charts/PDF/U11AB0.pdf
2022-01-05 18:42:18 +01:00
Lady Gegga 0305304c91 Base: Adjust 1F41A in font Katica Regular 10
Move 1F41A up 1px to align it with other glyphs
2022-01-05 18:42:18 +01:00
Lady Gegga 765d675d27 Base: Add symbols to font Katica Regular 10
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
2022-01-05 18:42:18 +01:00
Timothy Flynn ec7d5351ed LibJS+LibUnicode: Handle flexible day periods that roll over midnight
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.
2022-01-05 16:22:55 +01:00
Mathieu PATUREL c8addf1a5e LibGUI: Consume initial spaces when going to next/prev word break
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
2022-01-05 14:18:44 +01:00
Brian Gianforcaro 4b4cf06069 Kernel: Remove temporary Vector from Ext2FS::flush_writes()
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.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro aa77c2ca58 Kernel: Use unchecked_append in PerformanceEventBuffer raw_backtrace()
We always validate the size before we append, so there is
no reason to use the checked append.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro 1a2aad287f AK: Disable Vector insert/empend/prepend + a append overload in Kernel
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.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro 538986c991 Kernel+LibVT: Use MUST + try_prepend / try_append
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.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro 6c66311ade Kernel: Use MUST + Vector::try_empend instead of Vector::empend
In preparation for making Vector::empend unavailable during
compilation of the Kernel.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro 24066ba5ef Kernel: Use MUST + Vector::try_append instead of Vector::append
In preparation for making Vector::append unavailable during
compilation of the Kernel.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro 8bcce82887 Kernel: Use MUST+ Vector::try_prepend instead of Vector::prepend
In preparation for disabling Vector::prepend from being available
during the compilation of the Kernel.
2022-01-05 14:04:18 +01:00
Brian Gianforcaro 48206be121 AK: Use MUST + try_empend so AK::Trie continues to compile in the kernel 2022-01-05 14:04:18 +01:00
Brian Gianforcaro 7d27798c8d AK: Use unchecked_append in AK::Stack, as we always validate the size
This removes one additional usage of Vector::append that stops us from
disabling it when compiling the Kernel.
2022-01-05 14:04:18 +01:00
Jesse Buhagiar 48c9350036 LibELF: Add LD_LIBRARY_PATH envvar support :^)
The dynamic linker now supports having custom library paths
as specified by the user.
2022-01-05 15:01:14 +02:00
Lady Gegga 360cdabcdc Base: Add Unified Canadian Aboriginal Syllabics to Katica Regular 10
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!
2022-01-05 14:00:00 +01:00
Lady Gegga ccad35bc75 Base: Align 1428-142A in font Katica Regular 10
Move these glyphs 1px up
2022-01-05 14:00:00 +01:00
Lady Gegga 3f928a158f Base: Add Miscellaneous Technical glyphs to font Katica Regular 10
2317, 2318, 231A, 231B, 2326-2328, 232B, 2380-238C, 2396-239A,
23CD-23CF, 23E9-23FE

https://www.unicode.org/charts/PDF/U2300.pdf
2022-01-05 14:00:00 +01:00
Lady Gegga 1c2728ca0c Base: Add Miscellaneous Symbols and Arrows to font Katica Regular 10
2B1B, 2B1C, 2B55, 2B57, 2B58, 2B59

https://www.unicode.org/charts/PDF/U2B00.pdf
2022-01-05 14:00:00 +01:00
Lady Gegga 60f943c495 Base: Add Mathematical Operators to font Katica Regular 10
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
2022-01-05 14:00:00 +01:00
Lady Gegga 988bd6ed03 Base: Add Miscellaneous Symbols and Pictographs to Katica Regular 10
1F41B, 1F419, 1F420, 1F421, 1F433, 1F43E, 1F43D, 1F41A, 1F442, 1F41E

https://www.unicode.org/charts/PDF/U1F300.pdf
2022-01-05 14:00:00 +01:00
Lady Gegga c1b8f7c9c7 Base: Add Supplemental Symbols and Pictographs to Katica Regular 10
1F916, 1F988, 1F955, 1F968, 1F980, 1F940, 1F94C, 1F991, 1F969

https://www.unicode.org/charts/PDF/U1F900.pdf
2022-01-05 14:00:00 +01:00
Lady Gegga f8bd3120a1 Base: Change some glyphs in font Katica Regular 10
1F50C, 1F5B2, 1F964, 1F941
2022-01-05 14:00:00 +01:00
Lady Gegga a407511ebd Base: Add Box Drawing glyphs to font Katica Regular 10
2518, 2510, 250C, 2514, 253C, 2500, 251C, 2524, 2534, 252C,
2502

The following glyphs are ported directly from
2329c52ad9:
2550, 2551, 2554, 2557, 255A, 255D

https://www.unicode.org/charts/PDF/U2500.pdf
2022-01-05 14:00:00 +01:00
thankyouverycool d375904978 Base+LibGUI: Add unique "Save As" icon
Icon by: Mustafa Quraish <mustafaq9@gmail.com>
2022-01-05 13:58:18 +01:00
Mustafa Quraish 7c69830169 PixelPaint: Add new icon for New Image from Clipboard
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.
2022-01-05 12:08:20 +01:00
Mustafa Quraish e2c73a114d PixelPaint: Use 'save' action in toolbar instead of 'save as'
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.
2022-01-05 12:08:20 +01:00
Mustafa Quraish c03f271bbf PixelPaint: Ask about unsaved changes for all tabs on close
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.
2022-01-05 12:08:20 +01:00
Mustafa Quraish 915211252d PixelPaint: Mark editor as unmodified when creating a default image
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.
2022-01-05 12:08:20 +01:00
Mustafa Quraish fc5c327751 PixelPaint: Mark editor as unmodified when opening an image
Previously a newly opened (and unedited) project was considered
modified, even though there was no need to actually re-save the
contents.
2022-01-05 12:08:20 +01:00
Mustafa Quraish 8c4579bced PixelPaint: Only prompt for unsaved changes if there any
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.
2022-01-05 12:08:20 +01:00
Mustafa Quraish 2440d2c2fe PixelPaint: Move title and path from Image to ImageEditor
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).
2022-01-05 12:08:20 +01:00
electrikmilk 0b43a92eed Base: Add some Latin Extended-B characters
Adds 0180—01FF of the Latin extended-B section of the unicode table.
2022-01-05 02:34:04 -08:00
Luke Wilde 0b9ea712be LibJS: Implement Array.prototype.groupByToMap 2022-01-05 11:21:38 +01:00
Luke Wilde 48cc1c97d5 LibJS: Implement Array.prototype.groupBy 2022-01-05 11:21:38 +01:00
Luke Wilde 4a14455dff LibJS: Make MarkedValueList copyable and move assignable
This is required to store a MarkedValueList as the value of a HashMap.
2022-01-05 11:21:38 +01:00
Luke Wilde c97244d3a5 LibJS: Add Handle specialisation for Value
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>
2022-01-05 11:21:38 +01:00
mjz19910 1f1383fe1e unzip: Remove useless .characters() calls 2022-01-04 23:53:46 -08:00
mjz19910 2351bb2db9 Utilities/CMakeList: Remove duplicate target_link_libraries(...) 2022-01-04 19:14:57 -08:00
mjz19910 87b719a494 Utilities/CMakeList: Sort target_link_libraries(...) 2022-01-04 19:14:57 -08:00
Linus Groh bfa42cbe4f LibJS: Remove the now retired TRY_OR_DISCARD() macro :^) 2022-01-04 23:37:26 +00:00
Linus Groh 9e50bd91a6 js: Remove uses of TRY_OR_DISCARD()
Slightly more verbose, but that's the last user of TRY_OR_DISCARD gone!
2022-01-04 23:37:26 +00:00
Linus Groh c4f0f1cc05 LibTest: Remove uses of TRY_OR_DISCARD() from JavaScriptTestRunner
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.
2022-01-04 23:37:26 +00:00
Linus Groh 6c9cf4d31a LibTest: Convert JavaScriptTestRunner's get_test_results() to ErrorOr 2022-01-04 23:37:26 +00:00
Linus Groh 29e96eceeb LibJS: Convert PropertyKey::from_value() to ThrowCompletionOr
Lots of MUST() - perhaps we'll eventually come up with a better API for
the common case where it can't fail.
2022-01-04 23:37:26 +00:00
Linus Groh 62356cff40 LibJS: Convert FunctionObject::bind() to ThrowCompletionOr 2022-01-04 23:37:26 +00:00
Linus Groh 245d486ba4 LibJS: Convert PromiseResolvingElementFunction to ThrowCompletionOr 2022-01-04 23:37:26 +00:00
Linus Groh b4208c8ea1 LibJS: Remove unused Accessor::call_{getter,setter}()
If only we had such "a way to communicate to our caller if an exception
happened" - too bad it's dead code :^)
2022-01-04 23:37:26 +00:00
Linus Groh 0e363e92ef LibJS: Remove unused IndexedProperties::take_{first,last}() 2022-01-04 23:37:26 +00:00
Timothy Flynn 1116a29c19 LibUnicode: Remove now unused Unicode symbol loader
All generated sources are now linked via weak symbols.
2022-01-04 22:49:43 +00:00