thankyouverycool
aa045a9fdf
WindowServer: Always restore modal chain when clicking a window
...
Refactors restore helper into move_to_front_and_make_active().
Fixes not bringing all modal children to the front when any modal
child or its modeless parent is clicked.
2022-08-26 12:48:05 +02:00
thankyouverycool
d815f659cc
LibGUI+Taskbar+WindowServer: Prevent minimization when blocked
...
This was intentionally enabled with WindowModes as a new Taskbar
convenience, but on second thought, it doesn't add up visually.
Taskbar buttons show blockers' context menus when available,
which is a bit confusing when the window isn't visible. The
modeless window's disabled context menu options and inactive title
bar also contradict the button. So, this patch reenables the
restriction for now. Blocking modals you don't want to answer to
immediately can still be tucked away on another workspace.
2022-08-26 12:48:05 +02:00
thankyouverycool
18b111b802
WindowServer: Ignore modal blocking if capturing input
...
This exception is necessary for ComboBoxes used in some blocking
Dialogs. CaptureInput is now the only mode which can spawn from
a blocking modal and it won't accept any children of its own.
2022-08-26 12:48:05 +02:00
Jean Lourenço
bab8bd143f
Chess: Highlight piece origin square when dragging piece
2022-08-26 09:53:13 +01:00
Andreas Kling
49deb936be
PixelPaint: Make selection changes undoable
...
Using the Rectangle Select Tool will now generate undo/redo commands
like any other tool. :^)
2022-08-26 01:04:52 +02:00
Andreas Kling
d571159aeb
PixelPaint: Move selection from ImageEditor to Image
...
This is preparation for making selection state undoable.
2022-08-26 01:04:52 +02:00
Andreas Kling
67596d9546
PixelPaint: Move "marching ants" painting logic to ImageEditor
...
Since this code needs to look at a bunch of ImageEditor state anyway,
it makes more sense for it to live in ImageEditor.
2022-08-26 01:04:52 +02:00
Andreas Kling
e6d860f2fe
PixelPaint: Round mouse event coordinates instead of truncating
...
This makes the rectangle select tool feel a lot better when zoomed in.
2022-08-26 01:04:52 +02:00
Andreas Kling
d32f7112dc
LibWeb: Intentionally leak the main thread JS VM
...
This way we avoid doing an expensive full GC on exit.
2022-08-26 01:04:51 +02:00
Andreas Kling
a3b2b20782
Kernel: Remove global MM lock in favor of SpinlockProtected
...
Globally shared MemoryManager state is now kept in a GlobalData struct
and wrapped in SpinlockProtected.
A small set of members are left outside the GlobalData struct as they
are only set during boot initialization, and then remain constant.
This allows us to access those members without taking any locks.
2022-08-26 01:04:51 +02:00
Linus Groh
36225c0ae7
LibJS: Allow undefined for calendar in MaybeFormatCalendarAnnotation
...
This is an editorial change in the Temporal spec.
Now that this is spec'd as either an Object or undefined, we can change
the parameter type from arbitrary JS::Value to JS::Object*.
See: cdfcffd
2022-08-25 23:41:09 +01:00
Linus Groh
741cc08221
LibJS: Use fully spec'd algorithm for ToISOWeekOfYear
...
This is an editorial change in the Temporal spec.
See: 33b62a3
2022-08-25 23:41:09 +01:00
Linus Groh
b438839fcc
LibJS: Reject ambiguous time string even with a calendar
...
This is a normative change in the Temporal spec.
See: 5e2afb9
2022-08-25 23:41:09 +01:00
Linus Groh
2cf5f5c278
LibJS: Remove unused nonterminals from the ISO8601 parser
...
This is an editorial change in the Temporal spec.
See: fe9ef00
2022-08-25 23:41:09 +01:00
Linus Groh
42452a81a2
LibJS: Simplify TimeSpecWithOptionalTimeZoneNotAmbiguous
...
This is a normative change in the Temporal spec.
See: 77b0163
2022-08-25 23:41:09 +01:00
Linus Groh
f29c7cab16
LibJS: Remove exception rule from TimeZoneIANAName production
...
This is an editorial change in the Temporal spec.
See: 6a758d6
2022-08-25 23:41:09 +01:00
MacDue
965237efb8
LibWeb: Don't return an opaque origin for file:// URLs
...
The protocol of the origin is used for checking if the a file://
iframe is allowed to be loaded (a document with a file:// origin
can load other files in iframes).
This used to be the case, but was changed in
6e71e400e6
, which broke file:// iframes.
2022-08-26 00:21:10 +02:00
MacDue
8d2c2f7c52
LibWeb: Determine the origin when navigating across documents
2022-08-26 00:21:10 +02:00
Luke Wilde
9643a5c63f
LibJS: Accept and ignore calendar annotation in Instant strings
...
This is a normative change in the Temporal spec.
See: 3cd9669
2022-08-25 23:07:08 +01:00
Luke Wilde
54bb6bf2c0
LibJS: Avoid calling ToString on calendar when calendarName is "never"
...
This is a normative change in the Temporal spec.
See:
- 6122f4e
- cf586bc
2022-08-25 21:11:23 +01:00
Xexxa
0d7b634313
Base: Add more emoji
...
☃️ - U+2603 Snowman
❄️ - U+2744 Snowflake
💐 - U+1F490 Bouquet
👸 - U+1F478 Princess
🐧 - U+1F427 Penguin
2022-08-25 20:12:20 +01:00
Xexxa
f3be312e7b
Base: Improve emoji
...
🪢 - U+1FAA2 KNOT (the knot was not knotting)
🌲 - U+1F332 Evergreen Tree (adding some shadow)
2022-08-25 20:12:20 +01:00
Timothy Flynn
6309b8773d
LibJS: Guard IntegerIndexedElementSet with receiver check
...
This is a normative change in the ECMA-262 spec. See:
3620f11
2022-08-25 19:50:04 +01:00
Timothy Flynn
a803d9226f
LibJS: Always access RegExp flags by its "flags" property
...
This is a normative change in the ECMA-262 spec. See:
35b7eb2
Note there is a bit of weirdness between the mainline spec and the set
notation proposal as the latter has not been updated with this change.
For now, this implements what the spec PR and other prototypes indicate
how the proposal will behave.
2022-08-25 16:39:45 +01:00
Timothy Flynn
9a1f55afe5
LibJS: Fix spec steps and links for RegExp set notation proposal
2022-08-25 16:39:45 +01:00
Timothy Flynn
3748370dfd
LibTimeZone: Fix tests when ENABLE_TIME_ZONE_DATABASE_DOWNLOAD is OFF
2022-08-25 16:20:22 +01:00
Timothy Flynn
6af9bf1a1e
LibUnicode: Fix compilation when ENABLE_UNICODE_DATABASE_DOWNLOAD is OFF
2022-08-25 16:20:22 +01:00
Xexxa
f488726c82
Base: Add more emoji
...
♿ - U+267F Wheelchair Symbol
🪸 - U+1FAB8 Coral
🦐 - U+1F990 Shrimp
🐟 - U+1F41F Fish
🐠 - U+1F420 Tropical Fish
🐡 - U+1F421 Blowfish
🥬 - U+1F96C Leafy Green
🫖 - U+1FAD6 Teapot
🫐 - U+1FAD0 Blueberries
🫘 - U+1FAD8 Beans
🍞 - U+1F35E Bread
🥭 - U+1F96D Mango
🥗 - U+1F957 Green Salad
2022-08-25 16:16:25 +01:00
Xexxa
71b6c896d7
Base: Add more emoji
...
🖨️ - U+1F5A8 Printer
🛸 - U+1F6F8 Flying Saucer
🥚 - U+1F95A Egg
⛄ - U+26C4 Snowman Without Snow
🐍 - U+1F40D Snake
🇲🇱 - U+1F1F2 U+1F1F1 ML Flag: Mali
🇹🇯 - U+1F1F9 U+1F1EF TJ Flag: Tajikistan
🇯🇲 - U+1F1EF U+1F1F2 JM Flag: Jamaica
🇲🇺 - U+1F1F2 U+1F1FA MU Flag: Mauritius
🇸🇨 - U+1F1F8 U+1F1E8 SC Flag: Seychelles
🇸🇩 - U+1F1F8 U+1F1E9 SD Flag: Sudan
🇷🇼 - U+1F1F7 U+1F1FC RW Flag: Rwanda
🇲🇬 - U+1F1F2 U+1F1EC MG Flag: Madagascar
🇸🇷 - U+1F1F8 U+1F1F7 SR Flag: Suriname
🇸🇳 - U+1F1F8 U+1F1F3 SN Flag: Senegal
🇸🇸 - U+1F1F8 U+1F1F8 SS Flag: South Sudan
🇧🇦 - U+1F1E7 U+1F1E6 BA Flag: Bosnia & Herzegovina
🇷🇪 - U+1F1F7 U+1F1EA RE Flag: Réunion
🇸🇱 - U+1F1F8 U+1F1F1 SL Flag: Sierra Leone
🇦🇴 - U+1F1E6 U+1F1F4 AO Flag: Angola
🇦🇬 - U+1F1E6 U+1F1EC AG Flag: Antigua & Barbuda
🇨🇼 - U+1F1E8 U+1F1FC CW Flag: Curaçao
🇹🇹 - U+1F1F9 U+1F1F9 TT Flag: Trinidad & Tobago
🇳🇷 - U+1F1F3 U+1F1F7 NR Flag: Nauru
2022-08-25 15:07:40 +01:00
martinfalisse
79a630adef
LibWeb: Begin formatting the grid
...
This is a really starter attempt at formatting the grid. It doesn't yet
take into account the computed_values of grid-template-rows, nor the
values in grid-column-start and like CSS properties.
But these changes are a start and make it so the examples in
display-grid.html work.
To be fleshed out further..
2022-08-25 13:47:48 +02:00
martinfalisse
7bb3a8d646
LibWeb: Parse grid-column and grid-row CSS values
2022-08-25 13:47:48 +02:00
martinfalisse
44d08b81b7
LibWeb: Parse grid-column-start and related CSS properties
...
Parse grid-column-start, end, and the equivalent for rows.
2022-08-25 13:47:48 +02:00
martinfalisse
92a00648b1
LibWeb: Parse grid-template-columns and grid-template-rows
...
Add functionality to begin parsing grid-template-columns and
grid-template-rows. There are still things to be added, like parsing
functions, but I would say a couple of the major points are already
adressed like length, percentage, and flexible-length.
2022-08-25 13:47:48 +02:00
martinfalisse
c40dd9ee78
LibWeb: Add GridTrackPlacementShorthandStyleValue
...
Add GridTrackPlacementShorthandStyleValue for the use of grid-column and
grid-row.
2022-08-25 13:47:48 +02:00
martinfalisse
08b832eb69
LibWeb: Add GridTrackPlacementStyleValue
...
Add GridTrackPlacementStyleValue for the use of CSS properties
grid-column-start, grid-column-end, grid-row-start, grid-row-end.
2022-08-25 13:47:48 +02:00
martinfalisse
0148260b5f
LibWeb: Add GridTrackSizeStyleValue
...
Add GridTrackSizeStyleValue for the use of CSS properties
grid-template-columns, grid-template-rows.
2022-08-25 13:47:48 +02:00
martinfalisse
ca286fc220
LibWeb: Add GridTrackPlacement for grid-[column/row]-[start/end]
...
Add GridTrackPlacement to use with grid-column-start and related CSS
properties.
2022-08-25 13:47:48 +02:00
martinfalisse
fc36970973
LibWeb: Add GridTrackSize class for grid-template-*
...
Add GridTrackSize to be used with grid-template-column and
grid-template-row.
2022-08-25 13:47:48 +02:00
martinfalisse
e4c5799026
LibWeb: Add GridFormattingContext
2022-08-25 13:47:48 +02:00
martinfalisse
e4541d83d3
LibWeb: Parse grid display value
2022-08-25 13:47:48 +02:00
martinfalisse
a7f5b6b15b
Base: Add display grid test page
2022-08-25 13:47:48 +02:00
MacDue
ffc0f9550d
Base: Add the -h/--hide-window option to the Eyes manpage
2022-08-25 13:42:17 +02:00
MacDue
b609dd7348
Eyes: Add an option to show/hide the window frame
...
This works the same as in the Cube demo, and now allows enjoying
the eyes without any obstructions :^)
The window frame can now be disabled with the -h/--hide-window
command-line option, or via toggle in the GUI.
2022-08-25 13:42:17 +02:00
faxe1008
21358d8a5f
PixelPaint: Reduce verbosity of crop to content feature
...
This patch reduces the repetitiveness of the crop to content feature
implementation.
2022-08-25 13:38:31 +02:00
thankyouverycool
d5de9bcc51
Applications: Use modeless windows in some apps
...
Browser, Spreadsheet and Charactermap now open child windows
modelessly.
2022-08-25 13:28:50 +02:00
thankyouverycool
35a230f974
LibGUI+Taskbar+WindowServer: Remove mode and parent methods from Taskbar
...
Taskbar only needs a modeless parent and the activity state of the
modal chain to update buttons.
2022-08-25 13:28:50 +02:00
thankyouverycool
d54dc22362
WindowServer: Default to Desktop when picking a new active window
2022-08-25 13:28:50 +02:00
thankyouverycool
af706d081c
WindowServer: Invalidate new and previous active input window frames
...
Fixes shared active title bar theming not updating for capturing
modals.
2022-08-25 13:28:50 +02:00
thankyouverycool
6f316d59f4
WindowServer: Restore modal chains from the Taskbar and Switcher
...
And only show modeless windows in WindowSwitcher.
2022-08-25 13:28:50 +02:00
thankyouverycool
5a0472d8d2
WindowServer: Use nearest modeless window for modal Taskbar rects
...
Modeless windows are guaranteed Taskbar buttons which lets us
simplify getting the proper taskbar rect for modals.
2022-08-25 13:28:50 +02:00