1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-17 15:42:24 +00:00
Commit graph

649 commits

Author SHA1 Message Date
Matthew Olsson
d5f94aaa7b LibPDF/PDFViewer: Support rotated pages 2021-05-18 16:35:23 +02:00
Matthew Olsson
fbe712e265 LibGfx: Rename RotationDirection members
Left => CounterClockwise
Right => Clockwise

Makes much more sense for a rotation
2021-05-18 16:35:23 +02:00
Matthew Olsson
f7ea1eb610 Applications: Add a very simple PDFViewer 2021-05-18 16:35:23 +02:00
Marcus Nilsson
63897c469b
SystemMonitor: Don't try and show process window with nothing selected (#7221)
When right-clicking with no selected row in the process list,
SystemMonitor would still show a context menu. This disables
the context menu if index is invalid and also disables Alt+Enter
so that build_process_window() is never called with a PID of -1.

Fixes #7167.
2021-05-18 08:10:27 +02:00
brapru
c2ae6c189e SystemMonitor: Show UDP sockets
Creates a new TableView in the socket list for UDP information.

Resolves #6980.
2021-05-18 08:03:40 +02:00
Andreas Kling
719168a1cd Browser: Move main browser window logic into a BrowserWindow class
Having so much the logic and lambdas in main() was getting unwieldy.
Moving it into a class simplifies this, and also opens up a path
towards supporting "Open in New Window" :^)
2021-05-17 23:32:35 +02:00
faxe1008
2b24fbdaaa LibGUI: Reset TextEditor modified state on sucessful write_to_file
Avoids missing reset of the state if saving is done in multiple places.
2021-05-17 21:04:54 +01:00
Grant Yap
ca9101e5f0 Piano: Use the return key emoji in the key labels
The new way labels are stored unfortunately makes it *slightly* less
convenient to update the lists of white key and black key labels.
2021-05-17 00:16:49 +01:00
Gunnar Beutner
53d0150827 AK+Userland: Remove nullability feature for the ByteBuffer type
Nobody seems to use this particular feature, in fact there were some
bugs which were uncovered by removing operator bool.
2021-05-16 17:49:42 +02:00
Gunnar Beutner
c4d0b0cd6b Userland: Don't explicitly call Vector<T>::is_null()
This method always returns false so there's no reason for calling it.
2021-05-16 17:49:42 +02:00
Gunnar Beutner
24ca645f08 HexEditor: Call size() instead of operator bool()
This previously called operator bool by accident.
2021-05-16 17:49:42 +02:00
Gunnar Beutner
fcaf98361f AK: Turn ByteBuffer into a value type
Previously ByteBuffer would internally hold a RefPtr to the byte
buffer and would behave like a reference type, i.e. copying a
ByteBuffer would not create a duplicate byte buffer, but rather
two objects which refer to the same internal buffer.

This also changes ByteBuffer so that it has some internal capacity
much like the Vector<T> type. Unlike Vector<T> however a byte
buffer's data may be uninitialized.

With this commit ByteBuffer makes use of the kmalloc_good_size()
API to pick an optimal allocation size for its internal buffer.
2021-05-16 17:49:42 +02:00
DragonAlex98
47ec5cf340 ImageViewer: Stop animation timer when deleting/changing image
Previously deleting an animated image wouldn't make the animation timer
stop. This resulted in the animation still running in the ViewWidget.

Moreover the timer wasn't stopped when loading different images, which
led to high CPU usage when going from an animated image to a
non-animated one.
2021-05-16 16:22:21 +01:00
DragonAlex98
bce119036a ImageViewer: Disable image actions when there is no image
Previously some actions like Rotate/Flip/Set as Desktop Wallpaper would
make the application crash if no image was loaded. Now image actions are
enabled/disabled based on whether an image has been loaded or not.
2021-05-16 16:22:21 +01:00
spigwitmer
04f26183cb
Debugger: Add basic backtrace support
This adds the "bt" command to the debugger which displays a backtrace
of the current thread.
2021-05-16 00:47:01 +01:00
Andreas Kling
10ea84a815 PixelPaint: Wrap the layer list in a GUI::GroupBox and tweak width 2021-05-16 01:11:56 +02:00
Andreas Kling
6c2c3b920e PixelPaint: Style the application name as "Pixel Paint" :^) 2021-05-16 01:11:56 +02:00
Andreas Kling
c7244e37eb PixelPaint: Start with a smaller new image (and smaller window)
We started this app with an overwhelmingly huge window. Shrink it.
2021-05-16 01:11:56 +02:00
Andreas Kling
4c186d1f44 PixelPaint: Stop creating two blue and yellow layers on startup
This was nice for testing, but let's start the app with just a white
background layer instead. :^)
2021-05-16 01:11:56 +02:00
Andreas Kling
5579ec767e PixelPaint: Add a statusbar to the main window 2021-05-16 01:11:56 +02:00
Andreas Kling
864392254e PixelPaint: Tweak height of palette widget 2021-05-16 01:11:56 +02:00
Andreas Kling
01d88f1b31 PixelPaint: Wrap the toolbox widget in a GUI::ToolbarContainer
This makes it consistent with the main toolbar and looks quite nice.
2021-05-16 01:11:56 +02:00
Andreas Kling
c7c273c31d PixelPaint: Add a toolbar to the main UI :^) 2021-05-16 01:11:56 +02:00
Andreas Kling
5b6d879721 PixelPaint: Tweak placement of current colors in palette widget 2021-05-16 01:11:56 +02:00
Andreas Kling
8c044d4f52 PixelPaint: Convert main UI to GML :^) 2021-05-16 01:11:56 +02:00
Andreas Kling
afc3ed228d PixelPaint: Make the color palette widgets smaller and square 2021-05-16 01:11:56 +02:00
Andreas Kling
ad2752276a PixelPaint: Use GUI::Toolbar inside the toolbox widget
We don't need to implement our own toolbar and tool button classes
when the ones from LibGUI work just fine. :^)
2021-05-16 01:11:56 +02:00
Andreas Kling
19a696e397 ImageViewer: Use GUI::CommonActions for zoom related actions 2021-05-15 20:36:41 +02:00
Andreas Kling
c6b44e215a PixelPaint: Use GUI::CommonActions for zoom related actions 2021-05-15 20:36:41 +02:00
Andreas Kling
ae7c5411a6 PixelPaint+Base: Tool icon refresh :^)
Redraw and shrink all tool icons to 16x16 instead of the off-beat size
(26x26) they had previously.
2021-05-15 18:35:06 +02:00
Daniel Bertalan
a5801e9919
FontEditor: Add missing unix pledge
Without this change, FontEditor would crash due to LibDesktop opening an
IPC connection.

Fixes #7137.
2021-05-15 16:07:05 +01:00
Linus Groh
d8a3609aa9 Everywhere: Add a blank line after copyright header where missing 2021-05-15 00:27:09 +01:00
Linus Groh
64c0deb1f1 SpaceAnalyzer: Add separator before quit menu action 2021-05-15 00:24:07 +01:00
Linus Groh
067b880459 SystemMonitor: Make ProcessModel icon column non-sortable
Sorting by icon is neither intuitive nor useful, so let's disable it
(like in GUI::FileSystemModel).
2021-05-15 00:15:09 +01:00
Andreas Kling
ef09f9c825 SystemMonitor: Make sure we set a model before changing column sizes
Changing a view's column metadata requires that a model is set.
2021-05-15 00:50:51 +02:00
Mart G
f70d0f03de SpaceAnalyzer: Use fstatat instead of lstat
By using fstatat during file system analyzation instead of lstat, we
reduce the amount of work the kernel has to do for each stat call.

During profiling it came up that the kernel was spending a lot of time
resolving paths. Because each call to stat passed an absolute path the
kernel had to do the same work over and over again.

When using relative paths the kernel only has to resolve the relative
part as it can reuse the already resolved path of the base directory.
2021-05-14 23:32:10 +02:00
Linus Groh
f512b24b21 AnalogClock: Use YYYY-MM-DD format for window title 2021-05-14 20:17:09 +01:00
Andreas Kling
212e1ba0d4 ImageViewer: Sandbox image decoding using the ImageDecoder service :^)
Instead of parsing untrusted and potentially malicious image files in
the ImageViewer GUI process, take advantage of the ImageDecoder service
that we already have on the system to sandbox the decode.

This prevents bugs in our image decoding libraries from being used as
an exploitation vector when viewing files in ImageViewer.
2021-05-14 21:02:18 +02:00
Andreas Kling
3168a4afe8 ImageViewer: Rename QSWidget => ImageViewer::ViewWidget 2021-05-14 18:37:08 +02:00
Andreas Kling
58d73ea36c Userland: Rename QuickShow => Image Viewer
The old name was a bit too ambiguous. This one is crystal clear. :^)
2021-05-14 18:34:44 +02:00
Andreas Kling
5fd65adb19 Browser: Don't spawn RequestServer and WebSocket in multi-process mode
Single-process Browser forces a connection to these services early on,
to avoid having to unveil their paths. I'm suspicious of the benefits
of this (and the comment about it wasn't even accurate) but let's keep
it for now.

In multi-process mode, there's no need to do this, and in fact it was
causing us to spawn two extra totally unused processes.
2021-05-14 17:17:30 +02:00
Andreas Kling
31d4bcf5bf Userland: Tighten a *lot* of pledges! :^)
Since applications using Core::EventLoop no longer need to create a
socket in /tmp/rpc/, and also don't need to listen for incoming
connections on this socket, we can remove a whole bunch of pledges!
2021-05-13 23:28:40 +02:00
Andreas Kling
3c3b384c80 SystemMonitor: Boost main thread priority to maximum on startup
It's frustrating when the system is under heavy load and you want to
investigate using SystemMonitor, but SystemMonitor chokes on the lag.

Let's at give it a fighting chance by maxing out the main thread prio.
2021-05-13 23:28:40 +02:00
Jelle Raaijmakers
55c3a5969c FileManager: Set minimum folder pane width 2021-05-13 00:43:41 +01:00
Linus Groh
292cd009ea KeyboardMapper: Embed icon in executable
By using serenity_app() instead of serenity_bin() in the CMakeLists.txt,
we can embed an icon as usual.
2021-05-12 23:12:29 +01:00
Linus Groh
847a49209e KeyboardMapper: Stylize title as "Keyboard Mapper"
We already do this in the about dialog and across the system in general.
2021-05-12 23:06:06 +01:00
Linus Groh
76c6bc3186 KeyboardMapper: Remove two useless comments 2021-05-12 23:05:26 +01:00
Andreas Kling
a6a57830d0 FileManager: Reorganize main toolbar a little bit
Re-group things so they match the menus better.
2021-05-12 21:37:37 +02:00
Andreas Kling
bed2356b11 FileManager: Reorganize menus a little bit
Move the common editing actions (cut/copy/paste/select-all) into a new
"Edit" menu. And move the "Open Terminal Here" action to the "Go" menu.
2021-05-12 21:32:54 +02:00
Linus Groh
91eda22208 Everywhere: Add Alt shortcuts to remaining top-level menus
Not sure why some menus did have one and others didn't, even in the
same application - now they all do. :^)
I added character shortcuts to some menu actions as well.
2021-05-12 18:09:42 +01:00