1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:27:35 +00:00
Commit graph

2958 commits

Author SHA1 Message Date
Timothy Flynn
8ccd6a31dc GamesSettings: Draw one of the previewed cards as "highlighted"
And draw a valid "moving" card over it to indicate that it is
highlighted for a reason.
2023-01-13 12:58:06 +00:00
Timothy Flynn
c0756d8e55 GamesSettings: Paint the card preview frame using a CardGame subclass
We currently paint the 3 previewed cards using ImageWidget. This works
fine, but in order to preview a card hovering over a valid target card,
it will be easier to use the already-existing CardGame paint logic. So
this patch changes GamesSettings to display the preview as-is using a
CardGame.
2023-01-13 12:58:06 +00:00
Timothy Flynn
208653a93c GamesSettings: Move classes into the GamesSettings namespace
This is to allow registering future classes as with GML.
2023-01-13 12:58:06 +00:00
Liav A
e241b47fee Userland: Remove a bunch of unveil calls on /sys/kernel/processes
These are not needed anymore since the introduction of the new
get_root_session_id syscall.
2023-01-13 13:41:30 +01:00
Linus Groh
2428e3e675 LibWebView+Ladybird: Move DOM inspection helpers to ViewImplementation 2023-01-12 23:39:36 +01:00
Linus Groh
36866730ce Browser: Implement zoom :^)
Largely based on the Ladybird implementation in 0cc151b.
2023-01-12 18:52:32 +00:00
Tim Schumacher
877be0eb43 SoundPlayer: Don't silently ignore parsing failures
If we failed to decode a sample we'd presumably want to tell the user,
and we definitely don't want to just go into another round of decoding
somewhere in the middle of a broken sample.
2023-01-12 16:52:34 +01:00
Karol Kosek
ca7648b1ae LibGUI: Port AbstractThemePreview::set_theme_from_file to Core::Stream 2023-01-12 13:56:11 +01:00
Tim Ledbetter
b0fad409bf PixelPaint: Scale lasso tool preview path on zoom level change
The size of the preview shown by the lasso tool now scales with the
current zoom level.
2023-01-12 11:29:10 +01:00
Sam Atkins
652f87821b Userland: Replace remaining Core::Timer::construct()s with try_create() 2023-01-12 11:25:51 +01:00
Sam Atkins
e181b1cb82 Userland: Use Core::Timer::create_foo() factory functions where possible 2023-01-12 11:25:51 +01:00
Sam Atkins
6edc0cf5ab LibCore+Userland: Don't auto-start new Core::Timers
This was unintuitive, and only useful in a few cases. In the majority,
users had to immediately call `stop()`, and several who did want the
timer started would call `start()` on it immediately anyway. Case in
point: There are only two places I had to add a manual `start()`.
2023-01-12 11:25:51 +01:00
Sam Atkins
a8cf0c9371 LibCore+Userland: Make Core::Timer::create_single_shot() return ErrorOr
clang-format sure has some interesting opinions about where to put a
method call that comes after a lambda. :thonk:
2023-01-12 11:25:51 +01:00
Sam Atkins
a15d44f019 LibCore+Userland: Make Core::Timer::create_repeating() return ErrorOr
The FIXMEs must flow!
2023-01-12 11:25:51 +01:00
Karol Kosek
eed63e8174 ThemeEditor: Warn about unsaved changes on file drop 2023-01-11 20:15:47 +00:00
Karol Kosek
5157a6f6b3 ThemeEditor: Fully load files on drop events
Previously, only the preview frame was updated without changing any
values in the right panel or even a file path in the window title.
2023-01-11 20:15:47 +00:00
Karol Kosek
93a2b2a02d ThemeEditor: Take drop events from the whole window
Drops were handled only by the Preview Widget previously. It probably
made a little more sense before the program redesign, as it took most of
window the space, but now honestly this idea doesn't hold up that well.
2023-01-11 20:15:47 +00:00
Karol Kosek
d4367f42ba PDFViewer: Port to Core::Stream::File 2023-01-10 22:15:23 +00:00
Timothy Flynn
d0403ec14f AK+Everywhere: Rename Utf16View::to_utf8 to to_deprecated_string
A subsequent commit will add to_utf8 back to create an AK::String.
2023-01-09 23:00:24 +00:00
Andreas Kling
3110f5b328 Presenter: Rearchitect on top of LibWeb
This patch replaces the bespoke rendering engine in Presenter with a
simple pipeline that turns presentations into single-page HTML files.
The HTML is then loaded into an OutOfProcessWebView.

This achieves a number of things, most importantly:
- Access to all the CSS features supported by LibWeb
- Sandboxed, multi-process rendering

The code could be simplified a lot further, but I wanted to get the new
architecture in place without changing anything about the file format.
2023-01-09 22:34:57 +00:00
implicitfield
f63ecc2763 VideoPlayer: Port to GML 2023-01-09 17:32:03 +00:00
implicitfield
f0a33b2a8e VideoPlayer: Propagate errors from VideoPlayerWidget::initialize_menubar 2023-01-09 17:32:03 +00:00
Arda Cinar
33ea96912a SpaceAnalyzer: Do not reset the path to '/' after a refresh
Clicking analyze or deleting a file would always cause the tree view in
the widget to reset back to viewing the root. This was changed to stay
in the directory currently being viewed
2023-01-09 17:08:17 +00:00
Arda Cinar
c045ae1a96 SpaceAnalyzer: Keep the current path via filenames, not indices
The tree map widget keeps the current path to allow the user to navigate
between directories. This path was being kept as indices into the
children array. The indices might change after the tree is regenerated
and this change is required to keep the user's current place after a
re-analysis
2023-01-09 17:08:17 +00:00
Arda Cinar
ba33267132 SpaceAnalyzer: Add a method to TreeNode to get a child node by name
This will make it easier to get to a tree node given a file path
2023-01-09 17:08:17 +00:00
Arda Cinar
0d67e60559 SpaceAnalyzer: Make sure data fields of TreeNode are encapsulated
Made the member fields of Tree and TreeNode structures private and moved
the functions in main.cpp that accessed the internals of these
structures inside the TreeNode class
2023-01-09 17:08:17 +00:00
Arda Cinar
8ba37872e9 SpaceAnalyzer: Remove an unnecessary level of inheritance
The TreeMapNode and TreeMap structs inside TreeMapWidget.h both had
single implementers, TreeNode and Tree inside main.cpp. The indirection
was removed and the new structures were moved to their own file
2023-01-09 17:08:17 +00:00
Tim Ledbetter
61074b6b5c Help: Update browse view when opening a new help page
The browse view now always tracks the currently open help page.
2023-01-09 09:55:02 +01:00
Lucas CHOLLET
a33a490d48 Magnifier: Port to Core::Stream 2023-01-08 20:08:18 +00:00
Timothy Flynn
115baa7e32 LibJS+Everywhere: Make PrimitiveString and Utf16String fallible
This makes construction of Utf16String fallible in OOM conditions. The
immediate impact is that PrimitiveString must then be fallible as well,
as it may either transcode UTF-8 to UTF-16, or create a UTF-16 string
from ropes.

There are a couple of places where it is very non-trivial to propagate
the error further. A FIXME has been added to those locations.
2023-01-08 12:13:15 +01:00
Timothy Flynn
d793262beb AK+Everywhere: Make UTF-16 to UTF-8 converter fallible
This could fail to allocate the underlying storage needed to store the
UTF-8 data. Propagate this error.
2023-01-08 12:13:15 +01:00
Timothy Flynn
1edb96376b AK+Everywhere: Make UTF-8 and UTF-32 to UTF-16 converters fallible
These could fail to allocate the underlying storage needed to store the
UTF-16 data. Propagate these errors.
2023-01-08 12:13:15 +01:00
Lucas CHOLLET
8377adfde0 ThemeEditor: Port to Core::Stream 2023-01-08 08:12:50 +00:00
Ben Wiederhake
3281050359 Everywhere: Remove "LibC/" includes, add lint-rule against it 2023-01-07 10:01:37 -07:00
Andrew Kaster
88957b42e9 3DFileViewer: Use AK::Time to accumulate frame and cycle counts
Let's accumulate frame times in AK::Time and only convert to ms for
display.
2023-01-07 14:51:04 +01:00
Andrew Kaster
ddf348daeb Everywhere: Use ElapsedTimer::elapsed_time() for comparisons
Simplify a lot of uses of ElapsedTimer by converting the callers to
elapsed_time from elapsed, as the AK::Time returned is better for unit
conversions and comparisons against constants.
2023-01-07 14:51:04 +01:00
Sam Atkins
f0395a2042 LibGUI+Userland: Rename try_load_from_gml() -> load_from_gml() :^)
It's the only one, so the `try` prefix is unnecessary now.
2023-01-07 14:39:30 +01:00
Sam Atkins
54b1326165 Userland: Replace all uses of load_from_gml with try_load_from_gml
MOAR FIXMES! ;^)
2023-01-07 14:39:30 +01:00
Karol Kosek
301f9de915 PixelPaint: Port to Core::Stream :^) 2023-01-07 10:53:43 +00:00
Karol Kosek
2cbe2dd3c0 LibFileSystemAccessClient+CrashReporter: Introduce FSAC::File and use it
The new result returned just a file stream, which wasn't sufficient
enough for most applications because it didn't provide a filename.

This patch will make a new File object that has both a file stream and
a filename.
2023-01-07 10:53:43 +00:00
Karol Kosek
247db3fdd0 LibFileSystemAccessClient: Rename try_* functions to try_*_deprecated
These functions return the deprecated `Core::File` class, so let's mark
it as such to avoid possible confusion between future non try_*
functions which will use Core::Stream family classes and to possibly
grab someone's attention. :^)
2023-01-07 10:53:43 +00:00
Jonah
e361025cfb Browser: Add Accessibility Tab to Inspector Widget
This tab allows you to view the accessibility tree like you do
the DOM tree. The implementation limited to the role currently,
once we add the name and description calculation algorithm, those
will be displayed here as well. Selections are also not currently
supported.
2023-01-07 10:51:53 +00:00
Karol Kosek
e9d73a6256 Spreadsheet: Port ExportDialog to Core::Stream 2023-01-07 04:03:01 +03:30
Karol Kosek
3a8450ae11 Spreadsheet: Port XSV writer to Core::Stream 2023-01-07 04:03:01 +03:30
Karol Kosek
5793f7749c Spreadsheet: Make file export functions return ErrorOr<> 2023-01-07 04:03:01 +03:30
Karol Kosek
29a3cdcfb7 Spreadsheet: Generate file previews in memory and save directly to file
When we were asked to make a new preview text, we first generated the
whole file in the /tmp directory and then read the first 8 lines to put
them in a text box. This was doing a bit of unnecessary work at first,
but more importantly, didn't work on a given file descriptor from
FileSystemAccessServer as we were copying a file to a filename instead,
meaning that we also had to unveil the whole home directory.

Anyway, previews will be written now to a MemoryStream by the generator,
which will limit to 8 lines. File saves will omit /tmp entirely,
allowing us to tighten program unveil list a little. :^)
2023-01-07 04:03:01 +03:30
Karol Kosek
c74441395b Spreadsheet: Use has_flag helper functions for XSV WriterBehaviors 2023-01-07 04:03:01 +03:30
Cody Hein
e0aae9e60a Spreadsheet: Remove cursor keys from is_navigation
This change allows for cursor navigation of a forumula while editing
rather than having to use the mouse to edit the cursor position within
a cell. Tab and Enter still allow you to navigate out of the cell to
next row or columns. :)
2023-01-07 03:46:52 +03:30
Sam Atkins
0c24522635 LibGUI+Everywhere: Use fallible Window::set_main_widget() everywhere :^)
Rip that bandaid off!

This does the following, in one big, awkward jump:
- Replace all uses of `set_main_widget<Foo>()` with the `try` version.
- Remove `set_main_widget<Foo>()`.
- Rename the `try` version to just be `set_main_widget` because it's now
  the only one.

The majority of places that call `set_main_widget<Foo>()` are inside
constructors, so this unfortunately gives us a big batch of new
`release_value_but_fixme_should_propagate_errors()` calls.
2023-01-06 13:36:02 -07:00
Rodrigo Tobar
b406f1d5a4 PDFViewer: Inform users of underlying issue when loading document
While this is not super useful to end users, it's still better than the
simpler, generic "failed to load" error message.
2023-01-06 18:06:41 +01:00