1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-24 00:45:07 +00:00
Commit graph

3030 commits

Author SHA1 Message Date
Sam Atkins
2db168acc1 LibTextCodec+Everywhere: Port Decoders to new Strings 2023-02-19 17:15:47 +01:00
Tim Ledbetter
3d9ba87077 PixelPaint: Enable more text tool keyboard shortcuts
This commit allows the text tool's internal TextEditor component to
handle keyboard shortcuts that would normally be handled by menu
actions.

The shortcuts that can now be used are: cut, copy, paste, undo, redo
and select all.
2023-02-19 01:48:14 +01:00
Sam Atkins
af03cf9e80 FileManager: Use PathBreadcrumbbar instead of Breadcrumbbar :^) 2023-02-19 01:09:09 +01:00
Sam Atkins
f5cf41eb5d LibGUI+FileManager: Move has_{parent,child}_segment logic into BCB 2023-02-19 01:09:09 +01:00
Sam Atkins
6b66e39df4 LibGUI+Userland: Stop returning Layout from Widget::(try_)set_layout()
Nobody uses this return value any more. It also lets us remove a whole
bunch of `(void)` casts. :^)
2023-02-18 16:56:56 +00:00
Sam Atkins
77ad0fdb07 Userland: Specify margins and spacing in the GUI::Layout constructor 2023-02-18 16:56:56 +00:00
Sam Atkins
9561ec15f4 Userland: Use Widget::add_spacer() everywhere 2023-02-18 16:56:56 +00:00
Karol Kosek
ba5df46a49 PixelPaint: Propagate errors from making filter settings widgets 2023-02-17 22:45:44 -07:00
Fausto Tommasi
97398eb568 TextEditor: Replace DeprecatedString for String 2023-02-17 16:32:02 +00:00
Timothy Flynn
88814acbd3 LibJS+Everywhere: Convert JS::Error to String
This includes an Error::create overload to create an Error from a UTF-8
StringView. If creating a String from that view fails, the factory will
return an OOM InternalError instead. VM::throw_completion can also make
use of this overload via its perfect forwarding.
2023-02-17 09:14:23 -05:00
Karol Kosek
be717edd33 PixelPaint: Propagate errors from making tool property widgets 2023-02-16 23:36:58 +00:00
Lucas CHOLLET
e8249d735d LibFileSystemAccessClient: Remove the deprecated API
Concerned functions are:
 - try_request_file_read_only_approved_deprecated
 - try_request_file_deprecated
 - try_open_file_deprecated
 - try_save_file_deprecated

It also allows some simplifications in the implementation of the client.
2023-02-16 20:11:52 +01:00
Timothy Flynn
a2f1b80c36 Assistant+Spreadsheet: Convert usages of Value::TDSWOSE to Value::TSWOSE 2023-02-16 14:32:22 +01:00
Timothy Flynn
b245300ba1 LibJS+Everywhere: Deprecate Value::to_string_without_side_effects 2023-02-16 14:32:22 +01:00
Tim Ledbetter
644a61c318 ImageViewer: Rename "Go Back" and "Go Forward" actions
This commit renames "Go Back" to "Go to Previous" and "Go Forward" to
"Go to Next". This better reflects what the actions do.
2023-02-16 12:26:41 +00:00
Tim Ledbetter
b983dc8807 ImageViewer: Make arrow key shortcuts work
The user can now navigate to the previous and next image using the
left and right arrow keys respectively. These shortcuts were
previously not working.
2023-02-16 12:26:41 +00:00
Lucas CHOLLET
d5f7771039 3DFileViewer: Don't unveil "/home/anon/Documents/3D Models"
Usage of models is now done by `LibFileSystemAccessClient`.
2023-02-16 10:56:01 +00:00
Lucas CHOLLET
851b887cd0 3DFileViewer: Set the window title name in load_file()
This patch allows two things:
 - Factorizing code that was in main and the open action
 - Displaying the full path of non-unveiled paths

Indeed, looking for the path of a fd is not allowed if the file isn't
unveiled. By setting the title in `load_file()` we are actually relying
on the value returned by `LibFSAC` who is actually authorized to
retrieve the entire path.
2023-02-16 10:56:01 +00:00
Lucas CHOLLET
95a03f8ed6 3DFileViewer: Don't try to open textures without LibFSASC 2023-02-16 10:56:01 +00:00
Lucas CHOLLET
9c2800fbb5 3DFileViewer: Port to Core::File 2023-02-16 10:56:01 +00:00
Lucas CHOLLET
13b149b42e 3DFileViewer: Remove unnecessary tests when loading files
These tests are already performed by `LibFileSystemAccessClient`.
2023-02-16 10:56:01 +00:00
Lucas CHOLLET
f9e3a591d2 3DFileViewer: Use LibFSAC in GLContextWidget::load_path()
It was the only function to not use the `LibFSAC`, it will allow us to:
 - Not unveil some file
 - Drop some tests on to-be-read-from file as they are performed in
   `LibFSAC`.
2023-02-16 10:56:01 +00:00
Lucas CHOLLET
b4cea1c72e 3DFileViewer: Port MeshLoader and its child to the new Core::File
As it was using the `lines()` method of `Core::DeprecatedFile`, this
patch also introduce the usage of `BufferedFile` to take advantage of
its API: `can_read_line()` and `read_line()`.
2023-02-16 10:56:01 +00:00
Karol Kosek
83da3c5c3e PixelPaint: Add an option for making a Gradient with a secondary color 2023-02-16 10:50:58 +00:00
Karol Kosek
1ce2d7e674 PixelPaint: Put the main gradient color at the cursor
It doesn't seem right to me that we are 'holding' a transparent color,
with the main color being on the opposite side.
2023-02-16 10:50:58 +00:00
Karol Kosek
d27d19f012 PixelPaint: Set Tool on_*_color_change logic using virtual functions
Previously, we were rewriting the on_primary_color_change in the Text
Tool and Gradient, which made the palette widget no longer update after
picking a color from an image. Additionally, it also crashed the program
after leaving the Gradient tool and trying to change color.
2023-02-16 10:50:58 +00:00
MetallicSquid
eb27b397b8 HexEditor: Add selection strings to the value inspector
Strings include ASCII, UTF-8, and UTF-16

Co-authored-by: Andreas Krohn <hamburger1984@gmail.com>
2023-02-15 12:13:31 +00:00
Florian Kaiser
815442b2b5 Piano: Fix insertion and deletion of notes
On mouse move the pressed button is not present in the event argument
which causes the corresponding code to never fire. Instead it now stores
the original mouse down event and acts according to that on mouse move.
2023-02-15 12:58:25 +01:00
Tim Schumacher
43f98ac6e1 Everywhere: Remove the AK:: qualifier from Stream usages 2023-02-13 00:50:07 +00:00
Tim Schumacher
874c7bba28 LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
Tim Schumacher
606a3982f3 LibCore: Move Stream-based file into the Core namespace 2023-02-13 00:50:07 +00:00
Tim Schumacher
d43a7eae54 LibCore: Rename File to DeprecatedFile
As usual, this removes many unused includes and moves used includes
further down the chain.
2023-02-13 00:50:07 +00:00
Karol Kosek
e39adc4772 Userland: Set Button text using the new String class 2023-02-13 00:45:09 +00:00
Karol Kosek
f802920a3a Userland: Use default initializer instead of an empty string for Buttons 2023-02-13 00:45:09 +00:00
Karol Kosek
d32d4029d3 Userland: Replace usages of AbstractButton::text_deprecated with text() 2023-02-13 00:45:09 +00:00
Karol Kosek
d32b052f22 LibGUI+Userland: Add _deprecated suffix to AbstractButton::{set_,}text 2023-02-13 00:45:09 +00:00
Karol Kosek
67ffc687d8 LibGUI+PixelPaint: Port GUI::ValueSlider's suffix to the new String 2023-02-13 00:26:39 +00:00
Zaggy1024
a6b938b407 LibVideo/VideoPlayer: Dispatch state change events and update play icon
The PlaybackStateChangeEvent wasn't connected up anymore, so the player
wouldn't change icons when stopping playback due to reaching the end of
the stream or encountering an error.
2023-02-12 18:47:56 +01:00
Tim Ledbetter
d910dd345e Assistant: Allow arguments in AppProvider queries 2023-02-11 19:32:24 +00:00
Tim Ledbetter
baaf97787b FileManager: Show directory size and file count in PropertiesWindow
When displaying properties for a directory, the PropertiesWindow now
shows: the total number of files, the total number of subdirectories,
and the total size of all files, in bytes.

These numbers are calculated on a background thread, and current
progress is displayed to the user every 100ms.
2023-02-11 19:32:07 +00:00
Tim Ledbetter
d2e1f6ff57 FileManager: Propagate errors from PropertiesWindow initialization 2023-02-11 19:32:07 +00:00
Lucas CHOLLET
be28800e0d FileManager: Factorize code to handle drag-and-drop
The treeview and the breadcrumbbar used to be on one side, sharing
drag-and-drop handling and on the other side the directory view had
its one logic.

This patch factorizes both versions, in the meantime upgrading the
version used by the treeview/breadcrumbbar that was left behind. It now
uses the copy dialog :^).
2023-02-11 14:18:13 +00:00
Julian Offenhäuser
ab5b61c3fe DisplaySettings: Capitalize fallback display mode when loading settings
This setting was capitalized a while ago, except for this place where
we fall back to "[C]center". This caused a crash in MonitorWidget.
2023-02-10 15:41:56 +01:00
Timothy Flynn
4a916cd379 Everywhere: Remove needless copies of Error / ErrorOr instances
Either take the underlying objects with release_* methods or move() the
instances around.
2023-02-10 09:08:52 +00:00
Tim Ledbetter
d32961777b Spreadsheet: Don't recalculate column sizes when no data has changed
Use the Model::UpdateFlag::DontResizeColumns option when performing a
model update where no data has been changed. This improves navigation
performance on large spreadsheets.
2023-02-10 05:12:06 +03:30
Julian Offenhäuser
adb1c842c2 SoundPlayer: Fix logic bug in bars visualization
When calculating bar height, we clamp our values to the maximum
vertical height of the widget minus a margin. When the window was
resized such that the widget got smaller than this margin however,
our maximum height became negative. This caused a crash in clamp().
2023-02-09 19:41:54 +01:00
kleines Filmröllchen
e127c4acdc Piano: Show a progress window when exporting WAV
This exposes that the export is pretty slow, but it's much nicer than
having the GUI lock up for 20s :^)
2023-02-08 20:07:37 -05:00
Zaggy1024
b0db56cd39 VideoPlayer/LibVideo: Seek accurately when scrolling in the seek bar
Fast seeking does not work correctly when seeking in small increments,
so it is necessary to use accurate seeking when using certain actions.

The PlaybackManager has been changed to accept the seek mode as a
parameter to `seek_to_timestamp` to facilitate this. This now means
that it no longer has to track a seek mode preference.
2023-02-08 21:52:42 +01:00
Zaggy1024
275d57eb6f LibVideo/PlaybackManager: Organize playback states into virtual classes
Storing playback states in virtual classes allows the behavior to be
much more clearly written. Each `PlaybackStateHandler` subclass can
implement some event-handling functions to model their behavior, and
has functions to change its parent PlaybackManager's state to any other
state.

This will allow expanding the functionality of playback in the future,
for example to allow skipping a single frame forward/backward.
2023-02-08 21:52:42 +01:00
Zaggy1024
a4c7672802 LibVideo: Rename Status -> State in PlaybackStatusChangeEvent class
A bit of a bikeshed, but status sounds more like a result of an action,
and state sounds more accurate to what the `PlaybackManager` does.

The previous and current state fields of the `PlaybackStateChangeEvent`
are now removed, since they were unused (for now).

This is a lead-up to the refactoring of VideoPlaybackManager to make
that diff more legible.
2023-02-08 21:52:42 +01:00