Commit graph

24416 commits

Author SHA1 Message Date
Timothy ccd19d464e LibGUI: Handle multiple lines of text in MessageBox
The total height of text is calculated from the glyph height, the number
of lines, and a padding modifier.
2021-07-22 22:38:25 +02:00
Kenneth Myhra cc45ccbd9b Ports: Add ScummVM game Soltys 2021-07-22 22:30:55 +02:00
Kenneth Myhra d84102de99 Ports: Add ScummVM game Sfinx 2021-07-22 22:30:55 +02:00
Kenneth Myhra caca5b0b3e Ports: Add ScummVM game Nippon Safes Inc 2021-07-22 22:30:55 +02:00
Kenneth Myhra 924930f357 Ports: Add ScummVM game Lure of the Temptress 2021-07-22 22:30:55 +02:00
Kenneth Myhra 8853d94032 Ports: Add ScummVM game DreamWeb 2021-07-22 22:30:55 +02:00
Kenneth Myhra 59e303cc54 Ports: Add ScummVM game Dráscula: The Vampire Strikes Back 2021-07-22 22:30:55 +02:00
Kenneth Myhra 281cff7845 Ports: Add ScummVM game Hi-Res Adventure #1: Mystery House 2021-07-22 22:30:55 +02:00
Kenneth Myhra bcd96df2ac Ports: Add ScummVM game The Griffon Legend 2021-07-22 22:30:55 +02:00
Kenneth Myhra f11fc28351 Ports: Add ScummVM game Flight of the Amazon Queen
This adds the ScummVM game Flight of the Amazon Queen.

Since all files are on the root of the zip file we utilize 'pre_fetch'
to create the directory 'workdir'. In 'post_fetch' we move all the files
into 'workdir' except for the zip file and 'package.sh'. Doing this lets
us use the 'clean' command without any modifications.
2021-07-22 22:30:55 +02:00
Kenneth Myhra f7161b03ca Ports: Add overridable pre_fetch method in .port_include.sh
This adds an overridable pre_fetch method which is called from the fetch
method at the very beginning.

The pre_fetch method can be overridden in your package.sh script so that
you can do any necessary preparations before the fetch method is called.
2021-07-22 22:30:55 +02:00
Gunnar Beutner f2be1f9326 Kernel: Fix the variable declaration for some linker script symbols
Despite what the declaration would have us believe these are not "u8*".
If they were we wouldn't have to use the & operator to get the address
of them and then cast them to "u8*"/FlatPtr afterwards.
2021-07-22 22:27:11 +02:00
Linus Groh 40580696a6 js: Implement pretty-printing of Temporal.PlainDateTime objects 2021-07-22 21:19:40 +01:00
Linus Groh 93e52f6ad8 js: Implement pretty-printing of Temporal.PlainDate objects 2021-07-22 21:19:40 +01:00
Linus Groh 38645347a7 LibJS/Tests: Fix this value error test description in a PlainDate test 2021-07-22 21:19:40 +01:00
Linus Groh 2c46a0fa6c LibJS/Tests: Replace snake_case with pascalCase in two PlainDate tests 2021-07-22 21:19:40 +01:00
Linus Groh 8b6865b128 LibJS: Add missing step number in PlainDatePrototype 2021-07-22 21:19:40 +01:00
Linus Groh aa2c8b6b91 LibJS: Implement Temporal.PlainDateTime.prototype.calendar 2021-07-22 21:19:40 +01:00
Linus Groh 78acc976a6 LibJS: Implement Temporal.PlainDateTime.prototype.valueOf() 2021-07-22 21:19:40 +01:00
Linus Groh 591ee813fb LibJS: Implement Temporal.PlainDateTime.prototype[@@toStringTag] 2021-07-22 21:19:40 +01:00
Linus Groh 4be3196882 LibJS: Start implementing Temporal.PlainDateTime
This commit adds the PlainDateTime object itself, its constructor and
prototype (currently empty), and the CreateTemporalDateTime abstract
operation.
2021-07-22 21:19:40 +01:00
Linus Groh 42b6bffbf2 AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> work
By replacing MakeUnsigned<Source> in this specific specialization with a
simple negativity check this now works for floating point source types.
Previously it would attempt a comparison of the destination type and
void.
2021-07-22 21:19:40 +01:00
Linus Groh 8f26f51580 LibJS: Add missing spec links to System{Instant,UTCEpochNanoseconds} 2021-07-22 21:19:40 +01:00
Linus Groh bece2093f2 LibJS: Remove pointless 'explicit' from a couple of constructors 2021-07-22 21:19:40 +01:00
Linus Groh c65424d806 LibJS: Fix value of Temporal.PlainDate.length
Should be 3 (year, month, day, optional calendar-like), not 0.
2021-07-22 21:19:40 +01:00
Tom fd60815c58 WindowServer: Fix rendering overlays when there's no desktop window
We were missing to account for areas that are not covered by any
window. If any of these areas are covered by an overlay we need to
render the wallpaper into transparency and also render the overlay
over them.

This fixes not rendering overlays properly when e.g. the FileManager
(desktop) crashed as there is no longer any window underneath.
2021-07-22 21:38:52 +02:00
Gunnar Beutner 60d6137e73 Userland: Use /proc/kernel_base to determine the kernel base address
This removes all the hard-coded kernel base addresses from userspace
tools.

One downside for this is that e.g. Profiler no longer uses a different
color for kernel symbols when run as a non-root user.
2021-07-22 21:38:23 +02:00
Andreas Kling 6115258a5c Kernel: Add /proc/kernel_base (superuser only)
This file contains the kernel base address as a decimal integer.
2021-07-22 14:20:05 +02:00
Andreas Kling 0642f8f2c6 Kernel: Make committed physical page allocation return NonnullRefPtr
Since we're taking from the committed set of pages, there should never
be a reason for this call to fail.

Also add a Badge to disallow taking committed pages from anywhere but
the Region class.
2021-07-22 14:20:05 +02:00
Andreas Kling d79d768010 LaunchServer: Remove debug spam about incoming connections 2021-07-22 14:20:05 +02:00
Sam Atkins 9122967d5f FileOperation: Use LexicalPath::join() for all path joining 2021-07-22 12:48:44 +02:00
Sam Atkins 9ac757647f FileManager: Switch FileOperationProgressWidget::did_error() to SV& 2021-07-22 12:48:44 +02:00
Sam Atkins 469bca9d3a FileManager: Show progress dialog for file deletions
Progress dialogs are nice! :^)

Showing a proper file-deletion animation would be nice, but that is
outside the scope of my abilities.
2021-07-22 12:48:44 +02:00
Sam Atkins 967314023c FileOperation: Implement 'Delete' operation 2021-07-22 12:48:44 +02:00
Sam Atkins e99200cc23 FileOperation: Combine 'sources' and 'destination' CL arguments
The upcoming 'Delete' operation has no destination, so this was the
best solution we could come up with for now. Perhaps ArgsParser
could support sub-commands, so we would define 'Copy', 'Move' and
'Delete' each as sub-commands with their own argument definitions.
That would make things like git's variety of commands possible.
2021-07-22 12:48:44 +02:00
Sam Atkins dd833dc220 FileManager: Rename FileOperation::Cut to FileOperation::Move 2021-07-22 12:48:44 +02:00
Sam Atkins 5090b1bdba FileManager: Set file op progress window's text based on the operation 2021-07-22 12:48:44 +02:00
Sam Atkins 0a62d517fd FileManager+FileOperation: Implement (and use) 'Move' command
`FileOperation Move ...` is now used for cut-and-paste in the
FileManager.
2021-07-22 12:48:44 +02:00
Sam Atkins a1b4ec1507 FileOperation: Extract execute_work_items() from perform_copy()
This is in preparation for a perform_move() function.
2021-07-22 12:48:44 +02:00
Sam Atkins 516764ef17 FileManager: Show progress dialog for pasted files
For now, this is a slight step backwards, as Cut does not remove the
source files. This will be rectified next.
2021-07-22 12:48:44 +02:00
Sam Atkins d8fb8b9583 FileManager: Move mass-copy code from DirectoryView to FileUtils
This is preparation for calling it from FileManager/main.cpp

Also made file_operation_windows take NonnullRefPtrs.
2021-07-22 12:48:44 +02:00
Sam Atkins 9060310840 FileManager: Combine drag&drop file copies into one progress window
This fixes #6902.

Previously, dragging and dropping multiple files would create a window
for each file or directory that was selected. Now, we combine them and
show one progress window for the whole batch. :^)
2021-07-22 12:48:44 +02:00
Sam Atkins 3267556ce4 FileOperation: Accept multiple source arguments
You can now list multiple files or directories and they will all be
copied to the destination. :^)

Note that this means you can pass the same file or directory multiple
times. It runs fine, just means that it does unnecessary work. But
figuring out if a file is already queued is probably more hassle than
it's worth, if it's even possible at all due to symlinks.
2021-07-22 12:48:44 +02:00
Sam Atkins ca039e6ba1 FileManager+FileOperation: Switch to east const
(And some adjustments based on MaxWipfli's feedback)
2021-07-22 12:48:44 +02:00
Andreas Kling 5217875f6a Kernel: Consolidate API for creating AnonymousVMObject with given pages
We don't need to have a dedicated API for creating a VMObject with a
single page, the multi-page API option works in all cases.

Also make the API take a Span<NonnullRefPtr<PhysicalPage>> instead of
a NonnullRefPtrVector<PhysicalPage>.
2021-07-22 09:17:02 +02:00
Andreas Kling 9e15708aa0 Kernel: Convert VMObject & subclasses to east-const style 2021-07-22 09:17:02 +02:00
Andreas Kling 1610669519 LibC: Make calloc() actually fail on multiplication overflow 2021-07-22 09:17:02 +02:00
Andreas Kling e4c1514033 LibGfx: Use calloc() instead of malloc()+memset() Gfx::BitmapFont 2021-07-22 09:17:01 +02:00
Andreas Kling 027bfc4eff DesktopPicker: Make sure the applet always ends up in the same place 2021-07-22 09:17:01 +02:00
Timothy Flynn d3c25593b9 LibJS: Implement String.prototype.split with UTF-16 code units
Also required implementing the SplitMatch abstract operation with UTF-16
code units.
2021-07-22 09:10:44 +02:00