1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-18 11:31:00 +00:00
Commit graph

8296 commits

Author SHA1 Message Date
Andreas Kling
a5992a4ef8 FileManager: Tweak layout spacing in file properties window
There wasn't enough vertical spacing between the TabWidget and the three
(Ok/Cancel/Apply) buttons at the bottom.
2021-08-31 02:43:50 +02:00
Andreas Kling
af9d4281eb LibC: Run clang-format on setjmp.h 2021-08-31 01:37:30 +02:00
Andreas Kling
6cb536daa8 FileManager: Hide the Inode and Symlink Target columns in TableView
These are not generally interesting, so let's hide them by default.
The user can re-enable them if they want.
2021-08-31 01:35:09 +02:00
Andreas Kling
887ab3cc9a LibGUI: Rename FileSystemModel's "Owner" column to "User"
A file is owned by a User+Group, not an Owner+Group.
2021-08-31 01:35:08 +02:00
Andreas Kling
34f186e1e6 LibGUI: Tweak scrollbar arrows
Remove the base, leaving only the pointy triangle part. :^)
2021-08-31 01:35:08 +02:00
Andreas Kling
b8416df173 LibGUI+LibGfx: Make scrollbar buttons a little bit thicker
The common thin-cap button look (1px highlight, 2px shadow) looks nice
on regular buttons, but the scrollbar didn't feel quite right.
This patch adds 1px of offset to the highlight, giving it a thick-cap
look (which I have named Gfx::ButtonStyle::ThickCap) :^)
2021-08-31 01:35:08 +02:00
Andreas Kling
087bd7f767 Userland: Use Rect::centered_within() where useful 2021-08-31 01:35:08 +02:00
Andreas Kling
43220568b0 LibGfx: Add Rect::centered_within(Rect)
I've wanted this API a number of times but never added it.
2021-08-31 01:35:08 +02:00
Dimenus
de0861581e Userland: Guard set_jmp.h static_assert check to cpp impls only 2021-08-31 00:47:18 +02:00
Karol Kosek
1700b6d113 FileManager: Remove tree_view_directory_context_menu
It isn't used anywhere and the tree view shows only directories
(and that is covered by the tree_view_directory_context_menu).
2021-08-31 00:46:43 +02:00
Karol Kosek
7d6308523a FileManager: Add 'Open in Terminal' action for selected dirs on desktop
This is to be more similar to the context menu from the windowed
instance of File Manager.
2021-08-31 00:46:43 +02:00
Karol Kosek
dd75ed0c5e FileManager: Add default 'Open' action in context menu for directories
This makes the directory context menu more similar to the file context
menu.
2021-08-31 00:46:43 +02:00
Karol Kosek
7cf5904124 FileManager: Place mkdir and touch actions below openings in tree view
This way, the Properties action will always be everywhere on bottom.
2021-08-31 00:46:43 +02:00
Karol Kosek
d184e5327a FileManager: Put file launch actions first
The default action (shown in bold) indicates what would you get
by double-clicking on file.  Since it's a default option, I think it
deserves to be on top (together with alternative launch options). :^)

Also they're not task actions like "Extract .zip here" or "Add to
bookmarks".
2021-08-31 00:46:43 +02:00
Linus Groh
e3254bf4c5 LibJS: Implement Temporal.Calendar.prototype.dateAdd() 2021-08-30 22:33:10 +01:00
Ali Mohammad Pur
f492e98f19 LibWasm: Make the Truncate operator trap on undefined results 2021-08-30 22:47:02 +02:00
Ali Mohammad Pur
2c7e2e351a LibWasm: Implement fx.nearest using nearbyint() instead of round()
This instruction wants RoundingMode::ToEven, so let's use the correct
function.
2021-08-30 22:47:02 +02:00
Timothy Flynn
a2f0eeff7a LibJS: Canonicalize Unicode locale extension attributes and keywords 2021-08-30 19:42:40 +01:00
Timothy Flynn
94e66f500c LibJS: Reject structurally invalid Unicode locale extensions 2021-08-30 19:42:40 +01:00
Timothy Flynn
f897c2edb3 LibUnicode: Canonicalize locale private use extensions 2021-08-30 19:42:40 +01:00
Timothy Flynn
6f0cb52dc4 LibUnicode: Canonicalize locale extensions 2021-08-30 19:42:40 +01:00
Timothy Flynn
671eaa0c59 LibUnicode: Add helper lambda for appending canonicalized strings
Once canonical extensions are implemented, the number of:

    if (optional_string.has_value() {
        builder.append('-');
        builder.append(optional_string->to_lowercase_string());
    }

Will be quite large. This commit just adds a helper lambda to handle
this pattern to prevent this function from becoming even more enormous.
2021-08-30 19:42:40 +01:00
Timothy Flynn
30855e6663 LibUnicode: Parse locale private use extensions 2021-08-30 19:42:40 +01:00
Timothy Flynn
29f76ef7c8 LibUnicode: Parse locale extensions of the other extension form 2021-08-30 19:42:40 +01:00
Timothy Flynn
d2d304fcf8 LibUnicode: Parse locale extensions of the transformed extension form 2021-08-30 19:42:40 +01:00
Timothy Flynn
eda92d15e4 LibUnicode: Parse locale extensions of the Unicode locale extension form 2021-08-30 19:42:40 +01:00
Timothy Flynn
dd89901b07 LibUnicode: Use GenericLexer to parse Unicode language IDs
This is preparatory work to read locale extensions. The parser currently
enforces that the entire string is consumed. But to parse extensions,
parse_unicode_locale_id() will need parse_unicode_language_id() to just
stop parsing on the first segment that does not match the language ID
grammar. It will also need to know where the parsing stopped. Both of
these needs are fulfilled by GenericLexer.

The caveat is that we can no longer simply split the parsed string on
separator characters. So parse_unicode_language_id() now operates as a
small state machine.
2021-08-30 19:42:40 +01:00
Ali Mohammad Pur
206bc01f81 LibRegex: Allow null bytes in pattern
That check was rather pointless as the input is a StringView which knows
its own bounds.
Fixes #9686.
2021-08-30 18:43:09 +02:00
Andreas Kling
0de35db0f1 Minesweeper: Use AK::get_random_uniform() instead of rand() 2021-08-30 18:35:36 +02:00
Andreas Kling
d3d170851d Snake: Use AK::get_random_uniform() instead of rand() 2021-08-30 18:35:36 +02:00
Andreas Kling
4c8fe01bff SQLServer: Don't stat()-then-mkdir() when mkdir() alone is enough
Closes a TOCTOU race that SonarCloud complained about.

SonarCloud: https://sonarcloud.io/project/issues?id=SerenityOS_serenity&issues=AXuVO_uKk92xXUF3qSVc&open=AXuVO_uKk92xXUF3qSVc
2021-08-30 18:35:36 +02:00
Andreas Kling
eaf904000f LibJS: Always use AK::get_random() in Math.random()
Let AK deal with the underlying platform instead of having __serenity__
specific code in LibJS.
2021-08-30 18:35:36 +02:00
Andreas Kling
47420e72b8 Shell: Fix a TOCTOU in popd by simplifying it
This builtin was doing a lot of redundant work, including doing a stat()
followed by a chdir(), when just a chdir() would suffice.

SonarCloud: https://sonarcloud.io/project/issues?id=SerenityOS_serenity&issues=AXuVPAHNk92xXUF3qTNb&open=AXuVPAHNk92xXUF3qTNb
2021-08-30 18:35:36 +02:00
Ali Mohammad Pur
04f02a5b9e Spreadsheet: Don't invalidate the model on set_data()
No previous model index will be invalidated afterwards, so avoid
invalidating them.
Also fixes an issue where committing to an edit with the inline cell
editor makes the focused cell switch to A0.
Fixes #9677.
2021-08-30 18:29:33 +02:00
Brian Gianforcaro
619200774b CMake: Add custom target to build only the generated sources
This is needed so all headers and files exist on disk, so that
the sonar cloud analyzer can find them when executing the compilation
commands contained in compile_commands.json, without actually building.

Co-authored-by: Andrew Kaster <akaster@serenityos.org>
2021-08-30 16:44:16 +02:00
Brian Gianforcaro
f0b3aa0331 Everywhere: Pass AK::Format TypeErasedFormatParams by reference
This silences a overeager warning in sonar cloud, warning that
slicing could occur with `VariadicFormatParams` which derives from
`TypeErasedFormatParams`.

Reference:
https://sonarcloud.io/project/issues?id=SerenityOS_serenity&issues=AXuVPBO_k92xXUF3qWsm&open=AXuVPBO_k92xXUF3qWsm
2021-08-30 15:50:00 +04:30
Itamar
11832544e5 HackStudio: Add "Go Back" and "Go Forward" navigation actions
These actions allow the user to move backwards & forwards between
previous project locations they were at.
2021-08-30 12:44:26 +02:00
Itamar
8fc9ec942e HackStudio: Optionally pass line & column to open_file
This makes it easier to open a file at a specific location.
2021-08-30 12:44:26 +02:00
Andreas Kling
f727dc3c42 MouseSettings: Tweak UI layout of cursor themes tab 2021-08-30 02:48:31 +02:00
sin-ack
d9900ece2f LibWeb: Preprocess the CSS stream in the Tokenizer
This commit implements the input preprocessing algorithm that CSS Syntax
Module Level 3 defines.
2021-08-30 00:08:40 +02:00
sin-ack
e6818388e4 LibTextCodec: Add "process" API for allocation-free code point iteration
This commit adds a new process method to all Decoder subclasses which
do what to_utf8 used to do, and allows callers to customize the handling
of individiual UTF-8 code points through a callback. Decoder::to_utf8
now uses this API to generate a string via StringBuilder, preserving the
original behavior.
2021-08-30 00:08:40 +02:00
Mandar Kulkarni
0a7efb7d7b Spreadsheet: Save and load cell alignment 2021-08-29 21:07:42 +04:30
sin-ack
fa4eeca0ac LibWeb: Properly handle newlines at the end of LineBoxes
This always subtracted the glyph width of a space, despite isspace
also accepting newlines and a few other characters. It now also uses
AK/CharacterTypes.h. :^)
2021-08-29 01:43:09 +02:00
sin-ack
b08bb0bdc3 LibGfx: Return 0 width for non-printable ASCII characters
Non-printable characters should always have a width of 0. This is not
true for some characters like tab, but those can be exempted as the need
arises. Doing this here saves us from a bunch of checks in any place
that needs to figure out glyph widths for text which can contain
non-printable characters.
2021-08-29 01:43:09 +02:00
sin-ack
27c5eb66f1 LibWeb: Rename wrap_breaks to respect_linebreaks
This more clearly expresses the purpose of this flag. Since only
CSS::WhiteSpace::Nowrap sets this value to false and it does not respect
linebreaks, this made the most sense as a flag name.
2021-08-29 01:43:09 +02:00
sin-ack
0342fe4e0c LibWeb: Refactor TextNode::ChunkIterator
This commit refactors the text chunking algorithm used in
TextNode::ChunkIterator. The m_start_of_chunk member parameter has been
replaced with a local variable that's anchored to the current iterator
at the start of every next() call, and the algorithm is made a little
more clear by explicitly separating what can and cannot peek into the
next character during iteration.
2021-08-29 01:43:09 +02:00
Linus Groh
31bc9565f8 LibJS: Avoid transitions for name/length of native functions/accessors 2021-08-28 23:17:01 +01:00
Linus Groh
8bcda353a2 LibJS: Avoid transitions for more object properties in global object 2021-08-28 23:17:01 +01:00
Linus Groh
45eef97906 LibJS: Avoid transitions in GlobalObject::initialize_constructor()
We don't need transitions for either of these:

- Adding the 'name' property to a constructor object
- Adding the 'constructor' property to its prototype object
2021-08-28 23:17:01 +01:00
Linus Groh
47ab84ffd9 LibJS: Add define_direct_{property,accessor}_without_transition() 2021-08-28 23:17:01 +01:00