Commit Graph

3052 Commits

Author SHA1 Message Date
Patryk Pilipczuk
b87b1472e1 HexEditor: Add BE decoding for UTF16String column in ValueInspector 2023-02-27 13:39:40 +01:00
Tim Ledbetter
ec5d2a5144 Spreadsheet: Fix column index to number conversion
The output of Spreadsheet::convert_from_string() is now correct for
numbers larger than 26^2.
2023-02-26 21:06:21 +03:30
Tim Ledbetter
799d570afc PixelPaint: Add "Apply Mask" action
This commit adds a "Apply Mask" action which merges the active layer
mask with the layer bitmap. The option is only displayed if the active
layer is masked.
2023-02-26 13:09:16 +01:00
Tim Ledbetter
062c9efa88 PixelPaint: Add "Delete Mask" action
This commit adds a "Delete Mask" action which deletes the active layer
mask. The option is only displayed if the active layer is masked.
2023-02-26 13:09:16 +01:00
kleines Filmröllchen
7b3b743f88 Piano: Move octave controls into main widget
This is not related to the track controls and it may move into another
separate widget in the future. The move also allows to simplify the
octave slider callback logic.
2023-02-25 20:49:41 -07:00
kleines Filmröllchen
9f5f6b3868 Piano: Clean up code style with help from clang-tidy
Includes shadowed variables and if-else return.
2023-02-25 20:49:41 -07:00
kleines Filmröllchen
401a21e4f4 Piano: Improve handling of possibly null parameter label
The current implementation could crash in various locations if the label
was null.
2023-02-25 20:49:41 -07:00
kleines Filmröllchen
cf6676beb2 Piano: Rename KnobsWidget to TrackControlsWidget
This more generic name will better reflect the purpose of the widget in
the future, as this commit begins the long process of enhancing the
widget into a container for all controls of Piano's currently selected
track.
2023-02-25 20:49:41 -07:00
Linus Groh
09d40bfbb2 Everywhere: Use _{short_,}string to create Strings from literals 2023-02-25 20:51:49 +01:00
kleines Filmröllchen
76b71fcb75 LibDSP: Get rid of DeprecatedString
This was a rather easy change, since only parameter names make use of
strings in the first place.

This also improves OOM resistance: If we can't create a parameter name,
we will just set it to the empty string.
2023-02-25 15:41:01 +01:00
Timothy Flynn
87c4080d00 Browser+LibWeb+WebContent: Store cookie expiry times in UTC
We are currently converting parsed expiry times to local time, whereas
the RFC dictates we parse them as UTC. When expiring cookies, we must
also use the current UTC time to compare against the cookies' expiry
times.
2023-02-24 15:50:42 -05:00
Tim Ledbetter
d62c95d779 PixelPaint: Make "Add Mask" action fallible 2023-02-24 20:33:18 +01:00
Tim Ledbetter
b548a7b5ea PixelPaint: Make "Add Mask" action undoable 2023-02-24 20:33:18 +01:00
Tim Ledbetter
f1a792e6c9 PixelPaint: Save layer mask when adding to the UndoStack
This makes undoing actions performed on layer masks work as
expected.

did_modify_bitmap() is now also called on redo, to ensure the layer
mask is displayed correctly.
2023-02-24 20:33:18 +01:00
timre13
d7f348ab50 VideoPlayer: Add button and menu item to toggle fullscreen
Add a button to the bottom toolbar and a menu item to toggle fullscreen.
Also implement toggling fullscreen mode by double-clicking the video.
2023-02-24 19:16:46 +01:00
Itamar
91224d47d2 SystemMonitor: Add "Debug In HackStudio" action to process context menu
This action launches HackStudio with its debugger attached to the
selected process.
2023-02-24 19:09:27 +01:00
Tim Ledbetter
e294c96aef PixelPaint: Make merge up and down actions work with disjoint layers
The "Merge Active Layer Up" and "Merge Active Layer Down" actions now
work with layers of different sizes. These actions now expand the
bounding rect of the newly merged layer to contain all layers being
merged. Layers which are not visible are now ignored by these actions.
2023-02-21 12:06:31 +00:00
Tim Ledbetter
74dff6250c PixelPaint: Make image flattening actions work with disjoint layers
The "Flatten Image" and "Merge Visible" actions now work with layers
of different sizes. These actions now expand the bounding rect of the
newly merged layer to contain all layers being merged.
2023-02-21 12:06:31 +00:00
Andreas Kling
33e87d1627 Userland: Fix remaining smart pointer const-correctness issues 2023-02-21 00:54:04 +01:00
Andreas Kling
87e26d2fa4 Assistant: Fix minor const-correctness issues 2023-02-21 00:54:04 +01:00
Andreas Kling
df07416171 PixelPaint: Store tool cursors as NNRP<Gfx::Bitmap const> 2023-02-21 00:54:04 +01:00
Andreas Kling
053afbf2d1 PixelPaint: Make Filter::apply() non-virtual and non-const
It didn't need to be either of these things.
2023-02-21 00:54:04 +01:00
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