summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-31LibJS: Use builder.join in `to_string_impl()`s where applicableHendiadyoin1
2022-08-31HackStudio: Warn of unsaved changes before making a new projectSkye Sprung
Before, the warning dialog would be opened after the NewProjectDialog, leading to focus-fighting by the two windows. This fixes that and makes the action more consistent with the standard serenity way of handling unsaved changes by asking before the NewProjectDialog is brought up. The way this is achieved avoids having to rewrite open_project as well.
2022-08-31HackStudio: Fix crash when opening or creating with open empty fileSkye Sprung
This commit fixes a crash that would occur due to an unnamed file being automatically saved via EditorWrapper::save(). Now, we throw up a FilePicker::get_save_filepath.
2022-08-31Ports: Tidy up Quake2 platform patchJelle Raaijmakers
There were a lot of unrelated formatting changes in the patch, which is now shrunk by roughly 60%.
2022-08-31Ports: Fix Quake2 dynamic loading issuesJelle Raaijmakers
Our DynamicLoader would choke on a couple of missing symbols. I'm not certain how this could have worked before, but there we go. :^)
2022-08-31Ports: Move Quake2 port in-treeJelle Raaijmakers
All commits have been combined into one platform support patch.
2022-08-31Ports: Support "restarts" in SDL2Jelle Raaijmakers
SDL2 applications are prone to reinitializing the SDL components when, for example, changing the display resolution. This would lead to crashes since we were doing things in the wrong order. * We now decouple `GLContext` from `SDL_Window` a bit more, allowing the window to be destroyed before the GLContext. * Do not quit the `GUI::Application`, let our event loop handle exiting These changes allow changing the display resolution in the Quake3 port.
2022-08-31PixelPaint: Add point_position_to_preferred_cell to RectangleSelectToolCrax97
Specializing point_position_to_preferred_cell for the RectangleSelectTool as it selects a new cells with a rounding behavior instead of a flooring behavior
2022-08-31PixelPaint: Ask the current tool for the preferred pixel locationCrax97
When handling mouse events, different tools may want to interact with a different pixel in the image for the same input position.
2022-08-31PixelPaint: Execute mousemove_event early return check beforeCrax97
This is done to allow querying the current active tool inside the event_with_pan_and_scale_applied and event_adjusted_for_layer functions without risking a null pointer dereference
2022-08-31PixelPaint: Add point_position_to_preferred_cell method to ToolCrax97
This method is used to point a position at the preferred pixel of the image. Certain tools may want to specify a different preferred pixel for the same input position.
2022-08-31LibGfx: Add Point::to_ceiled method for getting a ceiled PointCrax97
2022-08-31FileManager: Navigate to parent dir when current location is removedAdam Jakubek
When the location currently displayed in FileManager is removed, find the nearest existing parent path and open it in the window. Without the fix, the FileManager window remained in the deleted directory. Changing the path in 'DirectoryView' object will automatically update other components in the FileManager (breadcrumb bar, directory tree view).
2022-08-31LibGUI: Fix assertion when handling removal of FileSystemModel's rootAdam Jakubek
This commit fixes FileSystemModel behaviour when the root path of the model has been deleted. In this case, the model index resolved for the root path is invalid and passing it to 'begin_delete_rows' would trigger assertion failure. Instead of deleting all children rows one by one, we simply invalidate the whole model.
2022-08-31Base: Add more emoji ðŸŒū ðŸŒŋ ðŸļ 🏠 ðŸĄ ðŸĨ 🏑 🏒 🏓 ðŸ•đïļ 🎧Xexxa
ðŸŒū - U+1F33E SHEAF OF RICE ðŸŒŋ - U+1F33F HERB ðŸļ - U+1F378 COCKTAIL GLASS 🏠 - U+1F3E0 HOUSE ðŸĄ - U+1F3E1 HOUSE WITH GARDEN ðŸĨ - U+1F94F FLYING DISC 🏑 - U+1F3D1 FIELD HOCKEY 🏒 - U+1F3D2 ICE HOCKEY 🏓 - U+1F3D3 PING PONG ðŸ•đïļ - U+1F579 JOYSTICK 🎧 - U+1F3A7 HEADPHONE
2022-08-31Base: Add 24 new emojiselectrikmilk
ðŸ’Ē - U+1F4A2 ANGER SYMBOL 💎 - U+1F4AC SPEECH BALLOON ðŸĶī - U+1F9B4 BONE ðŸĨĨ - U+1F965 COCONUT ðŸĨž - U+1F95E PANCAKES 🍙 - U+1F359 RICE BALL 🎂 - U+1F382 BIRTHDAY CAKE ðŸĨĪ - U+1F964 CUP WITH STRAW 🏛 - U+1F3DB CLASSICAL BUILDING â™Ļïļ - U+2668 U+FE0F HOT SPRINGS 🎃 - U+1F383 JACK-O-LANTERN 🀄 - U+1F004 MAHJONG RED DRAGON 🔋 - U+1F50B BATTERY 🔌 - U+1F50C ELECTRIC PLUG ðŸ–Ĩïļ - U+1F5A5 U+FE0F DESKTOP COMPUTER ðŸ–Ĩ - U+1F5A5 DESKTOP COMPUTER ðŸ–ą - U+1F5B1 COMPUTER MOUSE 📋 - U+1F4CB CLIPBOARD 🔒 - U+1F512 LOCKED 🔓 - U+1F513 UNLOCKED 🔞 - U+1F51E NO ONE UNDER EIGHTEEN ♀ïļ - U+2640 FEMALE SIGN ♂ïļ - U+2642 MALE SIGN 🟰 - U+1F7F0 HEAVY EQUALS SIGN â™ūïļ - U+267E INFINITY
2022-08-30LibJS: Create DurationFormat's ListFormat object with type and styleTimothy Flynn
This is a normative change in the Intl.DurationFormat spec. See: https://github.com/tc39/proposal-intl-duration-format/commit/1304e4b
2022-08-30LibJS: Use numeric style if the previous style was numeric or 2-digitTimothy Flynn
This is a normative change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/3a46ee3
2022-08-30LibJS: Update DurationFormat AO text to align with ECMA-402 and TemporalTimothy Flynn
These are editorial changes in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/71b291b https://github.com/tc39/proposal-intl-duration-format/commit/d0cc6fa https://github.com/tc39/proposal-intl-duration-format/commit/d4b35bb
2022-08-30LibJS: Rename DurationFormat's DurationSign to DurationRecordSignTimothy Flynn
This is an editorial change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/f947239
2022-08-30LibJS: Align ToDurationRecord with ToTemporalDurationRecordTimothy Flynn
This is an editorial change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/527ea58
2022-08-30LibJS: Mark PartitionDurationFormatPattern as infallibleTimothy Flynn
This is an editorial change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/cea3b68
2022-08-30LibJS: Change GetDurationUnitOptions to require a string for prevStyleTimothy Flynn
This is an editoral change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/62ee645
2022-08-30LibJS: Resolve FIXMEs in DurationFormat's PartitionDurationFormatPatternTimothy Flynn
These are normative changes in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/e2e18d1 https://github.com/tc39/proposal-intl-duration-format/commit/f1e8ed3 https://github.com/tc39/proposal-intl-duration-format/commit/2ed31b8 https://github.com/tc39/proposal-intl-duration-format/commit/2d51d64 https://github.com/tc39/proposal-intl-duration-format/commit/64cc5db https://github.com/tc39/proposal-intl-duration-format/commit/a1d7876 https://github.com/tc39/proposal-intl-duration-format/commit/47a3a69 https://github.com/tc39/proposal-intl-duration-format/commit/3e9358e https://github.com/tc39/proposal-intl-duration-format/commit/f4ecb46 https://github.com/tc39/proposal-intl-duration-format/commit/b454c8c
2022-08-30LibJS: Default to "short" for DurationFormat's style optionTimothy Flynn
This is a normative change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/b289494
2022-08-30LibJS: Default to 0 for DurationFormat's fractionalDigits optionTimothy Flynn
This is a normative change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/ac7e184
2022-08-30LibJS: Update spec steps to validate DurationFormat's numberingSystemTimothy Flynn
This is a normative change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/63a9202
2022-08-30Applications+DevTools: Remove fixed sizes from Splittersthankyouverycool
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.
2022-08-30LibJS: Implement $262.evalScript() according to the given algorithmLinus Groh
test262's INTERPRETING.md specifies the exact steps for this function, so let's shuffle some things around and add "spec" comments. Most importantly this now returns the result of the evaluated script, which at least one test relies on: https://github.com/tc39/test262/blob/main/test/built-ins/Proxy/revocable/tco-fn-realm.js
2022-08-30LibJS: Make string_to_bigint() a standalone functionLinus Groh
This now matches the newly added string_to_number().
2022-08-30LibJS: Trim non-ASCII whitespace as well in StringToBigIntLinus Groh
This was never caught since the original implementation AFAICT, and isn't being covered by test262 either: https://github.com/tc39/test262/issues/1354
2022-08-30LibJS: Trim non-ASCII whitespace as well in StringToNumberLinus Groh
This regressed in f4b3bb5.
2022-08-30LibJS: Handle non-decimal integer literals in Value::to_numberSlappy826
Implements support for parsing binary and octal literals, and fixes instances where a hex literal is parsed in ways the spec doesn't allow.
2022-08-30Base: Add more emojiXexxa
ðŸĪ° - U+1F930 Pregnant Woman 🧌 - U+1F9CC Troll ðŸĶ˜ - U+1F998 Kangaroo ðŸĶ‹ - U+1F98B Butterfly 🛌 - U+1F6CC Person in Bed ðŸŒ― - U+1F33D Ear of Corn ðŸ”Ķ - U+1F526 Flashlight ðŸŽŊ - U+1F3AF Bullseye ðŸī - U+1F374 Fork and Knife ðŸĩ - U+1F375 Teacup Without Handle ðŸŪ - U+1F3EE Red Paper Lantern ðŸķ - U+1F376 Sake ðŸŧ‍❄ïļ - U+1F43B_U+200D_U+2744 Polar Bear ðŸĨĒ - U+1F962 Chopsticks ðŸĨ’ - U+1F952 Cucumber â„Ēïļ - U+2122 Trade Mark 🎋 - U+1F38B Tanabata Tree ðŸ›ī - U+1F6F4 Kick Scooter ‾ïļ - U+203C Double Exclamation Mark ⁉ïļ - U+2049 Exclamation Question Mark
2022-08-30Kernel/Storage: Introduce new boot device addressing modesLiav A
Before of this patch, we supported two methods to address a boot device: 1. Specifying root=/dev/hdXY, where X is a-z letter which corresponds to a boot device, and Y as number from 1 to 16, to indicate the partition number, which can be omitted to instruct the kernel to use a raw device rather than a partition on a raw device. 2. Specifying root=PARTUUID: with a GUID string of a GUID partition. In case of existing storage device with GPT partitions, this is most likely the safest option to ensure booting from persistent storage. While option 2 is more advanced and reliable, the first option has 2 caveats: 1. The string prefix "/dev/hd" doesn't mean anything beside a convention on Linux installations, that was taken into use in Serenity. In Serenity we don't mount DevTmpFS before we mount the boot device on /, so the kernel doesn't really access /dev anyway, so this convention is only a big misleading relic that can easily make the user to assume we access /dev early on boot. 2. This convention although resemble the simple linux convention, is quite limited in specifying a correct boot device across hardware setup changes, so option 2 was recommended to ensure the system is always bootable. With these caveats in mind, this commit tries to fix the problem with adding more addressing options as well as to remove the first option being mentioned above of addressing. To sum it up, there are 4 addressing options: 1. Hardware relative address - Each instance of StorageController is assigned with a index number relative to the type of hardware it handles which makes it possible to address storage devices with a prefix of the commandset ("ata" for ATA, "nvme" for NVMe, "ramdisk" for Plain memory), and then the number for the parent controller relative hardware index, another number LUN target_id, and a third number for LUN disk_id. 2. LUN address - Similar to the previous option, but instead we rely on the parent controller absolute index for the first number. 3. Block device major and minor numbers - by specifying the major and minor numbers, the kernel can simply try to get the corresponding block device and use it as the boot device. 4. GUID string, in the same fashion like before, so the user use the "PARTUUID:" string prefix and add the GUID of the GPT partition. For the new address modes 1 and 2, the user can choose to also specify a partition out of the selected boot device. To do that, the user needs to append the semicolon character and then add the string "partX" where X is to be changed for the partition number. We start counting from 0, and therefore the first partition number is 0 and not 1 in the kernel boot argument.
2022-08-30AK: Add find_first_split_view() helper for StringView containerLiav A
Similar to the find_last_split_view() helper, but in this helper we search for the first split view instead of the last one.
2022-08-29LibJS: Properly initialize the global object for $262.createRealmdavidot
2022-08-29LibRegex: Explicitly check if a character falls into a table-based rangeTimothy Flynn
Previously, for a regex such as /[a-sy-z]/i, we would incorrectly think the character "u" fell into the range "a-s" because neither of the conditions "u > s && U > s" or "u < a && U < a" would be true, resulting in the lookup falling back to assuming the character is in the range. Instead, first explicitly check if the character falls into the range, rather than checking if it falls outside the range. If the explicit checks fail, then we know the character is outside the range.
2022-08-29HexEditor: Add Help->Manual entry in Menudjwisdom
2022-08-29LibJS: Hide all the constructors!Andreas Kling
Now that the GC allocator is able to invoke Cell subclass constructors directly via friendship, we no longer need to keep them public. :^)
2022-08-29LibJS: Make Heap a friend of everyone who uses JS_CELLAndreas Kling
This will allow Heap to invoke non-public constructors when allocating new cells.
2022-08-29LibJS: Make JS_OBJECT and JS_ENVIRONMENT forward to JS_CELLAndreas Kling
2022-08-29LibJS: Add JS_CELL macro and use it in all JS::Cell subclassesAndreas Kling
This is similar to what we already had with JS_OBJECT (and also JS_ENVIRONMENT) but sits at the top of the Cell inheritance hierarchy.
2022-08-28LibGL+LibGPU+LibSoftGPU: Report texture env add extensionJelle Raaijmakers
The Quake 3 port makes use of this extension to determine a more efficient multitexturing strategy. Since LibSoftGPU supports it, let's report the extension in LibGL. :^)
2022-08-28Ports: Disable libsamplerate dependency for SDL2Valtteri Koskivuori
On Arch Linux, the build was picking up the system libsamplerate, which is undesirable. Unlikely that it is needed on Serenity, so disabling it is a good workaround.
2022-08-28Base: Add Box Drawing glyphs to Csilla Regular+Bold12djwisdom
2022-08-28Base: Add new MouseSettings.md help documentdjwisdom
2022-08-28Base: Add new Mouse.md help documentdjwisdom
2022-08-28Base: Update Terminal's help documentationdjwisdom
2022-08-28LibJS: Implement ShadowRealmConstructor::construct() closer to specLinus Groh
Defer creation of the global object to Realm::set_global_object(), and use the newly added set_default_global_bindings() AO as intended.