Age | Commit message (Collapse) | Author |
|
This prevents infinite loops when symlinks point to a parent directory.
|
|
Now that we're passing the display name directly to the search results
structure, let's move() the string instead of copying it.
|
|
Code points that have a bidirectional attribute of right-to-left (e.g.
some Arabic and Hebrew code points) were causing the code point to
render at the end of the search result, rather than the beginning. To
keep the results consistent, split the search results into two columns:
the first for the code point, the second for its name.
|
|
This reverts commit fa016a72fd8f0288de02f3aa8e7834b08b8f2238.
|
|
This reverts commit 080b054695f03df2f731d9a519432e3f196f48e6.
|
|
This reverts commit 0c13a3a8ff07a7dde8acc30ede885685c224ef64.
|
|
This reverts most of commit ede5c9548e55d8216dba21ed431b9e53d085a248.
The one change not reverted is ClockWidget.h, so that the taskbar clock
can continue to notice time zone changes.
|
|
Rather than finding apps that benefit from time zone awareness one-by-
one, and calling tzset in their serenity_main, let's do it in LibMain.
|
|
The clipping logic is not DRY (Don't Repeat Yourself). The same logic
is repeated in multiple parts of an `if-else` statement. This can be
simplified to contain fewer branches and eliminate the redundant code.
|
|
|
|
|
|
ls is already using local time, but needs tzset() for that to actually
work.
|
|
|
|
|
|
|
|
The path to the language server local socket was accidentally broken
in 2e1bbcb.
|
|
|
|
|
|
You can now press Ctrl+Shift+A in any LibGUI application and we'll give
you a command palette dialog where you can search for context-relevant
actions by name (via the keyboard.)
The set of actions is currently the same one you'd access via keyboard
shortcuts. In the future, we'll probably want to add APIs to allow
richer integrations with this feature.
|
|
While the rows are filtered, we can't just return data from column 0
every time, since that breaks underlying multi-column models.
Instead, simply forward the incoming index.
|
|
Return an empty GUI::Variant on indexing error.
|
|
The root index (ModelIndex()) should should have the same column count
as the root index in the underlying model.
|
|
Just a couple of typos in
`TextDocument::first_non_skippable_span_after`.
|
|
|
|
|
|
This is to enable emplacing this struct in containers. GCC is fine with
emplacing without this constructor, but Clang raises an error.
|
|
In the one place this will be used, we will know that the NumberFormat
object is non-null. So return a reference, as the AO it is passed off to
also expects a reference.
|
|
|
|
As we didn't (and still don't) have Intl.PluralRules when we implemented
Intl.NumberFormat, we use a locale-unaware basic implementation to pick
a pattern based on a number's value. Templatize this method for now to
work other other format-like structures (will be used for relative-time
formatting).
|
|
Relative-time format patterns are of one of two forms:
* Tensed - refer to the past or the future, e.g. "N years ago" or
"in N years".
* Numbered - refer to a specific numeric value, e.g. "in 1 year"
becomes "next year" and "in 0 years" becomes "this year".
In ECMA-402, tensed and numbered refer to the numeric formatting options
of "always" and "auto", respectively.
|
|
Much of the `Clipper` class can be made free functions and their scope
limited.
The purpose of this is to prepare the interface for a change to more
compile-time dispatch.
|
|
Clearing the `m_alpha_blend_factors` is performed manually and in
separate steps. This is error prone for future developers. The
behavior is to reset the entire `struct` to the same state as default
initialization, so this simplifies it to do just that.
|
|
Each of the material faces is copied member by member then the copied
material state is passed by `const&` to another function, then
destroyed.
This is changed to simply passing the material state directly without
copying.
|
|
There is a loop over the lights in which each light state is copied
member by member then the copied light state is passed by `const&` to
another function, then destroyed.
This is changed to simply passing the light state directly without
copying.
|
|
|
|
Previously, we were breaking up digits into groups without regard for
the locale's minimumGroupingDigits value in the CLDR. This value is 1 in
most locales, but is 2 in locales such as pl-PL. What this means is that
in those locales, the group separator should only be inserted if the
thousands group has at least 2 digits. So 1000 is formatted as "1,000"
in en-US, but "1000" in pl-PL. And 10000 is "10,000" in en-US and
"10 000" in pl-PL.
|
|
For example, say you try to create a Value from an Array and forgot to
include LibJS/Runtime/Array.h. This would cause the boolean constructor
to be used instead of a compile error.
|
|
|
|
Let the Request subclass decide how they store the URL instead of
storing it in a Request member.
|
|
|
|
|
|
Several apps were implementing this behavior ad hoc. This provides
a standard API as well as a comfy visual cue for default return key
behavior.
|
|
The default return key widget takes precendence when dispatching
return key events with the exception of focused buttons.
|
|
|
|
|
|
This was only passing in the `R` value to the scene's ambient color,
which is incorrect.
|
|
|
|
|
|
|
|
Code generators that generate their files for both Lagom and Serenity
have a blob in their CMake file like this:
set(TIME_ZONE_DATA_HEADER LibTimeZone/TimeZoneData.h)
set(TIME_ZONE_DATA_IMPLEMENTATION LibTimeZone/TimeZoneData.cpp)
set(TIME_ZONE_META_TARGET_PREFIX LibTimeZone_)
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibTimeZone")
# Serenity build.
set(TIME_ZONE_DATA_HEADER TimeZoneData.h)
set(TIME_ZONE_DATA_IMPLEMENTATION TimeZoneData.cpp)
set(TIME_ZONE_META_TARGET_PREFIX "")
endif()
LibEDID generates files only for Serenity, but was using the Lagom build
version of the _HEADER, _IMPLEMENTATION, and _PREFIX variables. Thus if
pnp_ids.cmake was ever touched, the following error would be raised:
Userland/Libraries/LibEDID/EDID.cpp:18:18: fatal error:
LibEDID/PnpIDs.h: No such file or directory
18 | # include <LibEDID/LibEDID/PnpIDs.h>
Use the Serenity paths in pnp_ids.cmake and in the #include within
LibEDID itself.
|