Simon Danner
138c3c7d58
ClipboardHistory: Fix crash when deleting without selection
...
* Fix by only activating the deletion action if we have a selection
2021-01-01 22:50:56 +01:00
Andreas Kling
3eca77bd86
Lagom: Build test-compress
2021-01-01 22:42:13 +01:00
Andreas Kling
19ffa676f2
LibWeb: Use is<T> in XMLHttpRequestPrototype
2021-01-01 22:41:50 +01:00
asynts
8ff61698da
Meta: Add test-compress to Github workflow.
2021-01-01 22:23:13 +01:00
asynts
e77031ce67
AK: Deal with unsigned integers in binary search.
2021-01-01 22:23:13 +01:00
Andreas Kling
febc8a5ac7
UserspaceEmulator: Remove hand-rolled is_foo() helpers in favor of RTTI
2021-01-01 19:37:36 +01:00
Andreas Kling
db790dda62
LibJS: Remove hand-rolled type information in JS AST in favor of RTTI
2021-01-01 19:34:07 +01:00
Andreas Kling
07dd73c351
LibWeb: Remove hand-rolled is_foo() helpers in Layout::Node classes
2021-01-01 18:56:49 +01:00
Andreas Kling
3bb0cb2202
LibWeb: Remove more hand-rolled type information :^)
...
Hoo boy, we've really accumulated a lot of this stuff.
2021-01-01 18:14:00 +01:00
Andreas Kling
d2613403e0
LibJS+LibWeb: Stop generating is_foo_wrapper() for JS DOM wrappers
2021-01-01 18:06:38 +01:00
Andreas Kling
f48751a739
LibJS: Remove hand-rolled Object is_foo() helpers in favor of RTTI
2021-01-01 17:46:39 +01:00
Andreas Kling
8333055c3d
LibJS: Use RTTI for inheritance checks
...
This replaces the hand-rolled string-based inheritance check tech.
2021-01-01 17:00:20 +01:00
Andreas Kling
fc86717f43
LibWeb: Demangle the names returned by Layout::Node::class_name()
...
Note that these are only used in debugging/test output so it's not
performance sensitive.
2021-01-01 16:42:44 +01:00
Andreas Kling
730af2c524
LibWeb: Simplify Layout::Node::class_name() with RTTI
2021-01-01 16:08:49 +01:00
Andreas Kling
7841528cd4
LibCore: Remove Core::Object::is_widget() in favor of RTTI
2021-01-01 16:08:49 +01:00
Andreas Kling
42179715c3
LibCore: Remove some hand-rolled type information from Core::Object
...
Both is_action() and is_window() can be answered by RTTI.
2021-01-01 16:08:49 +01:00
Andreas Kling
32fd59b471
LibGUI: Remove some hand-rolled type information from Widget
2021-01-01 16:08:49 +01:00
Andreas Kling
167906d02b
PixelPaint: Remove hand-rolled type information in favor of RTTI
2021-01-01 16:08:49 +01:00
Jesse Buhagiar
ef5e9af6d3
DisplaySettings: Remove root_widget()
from DisplaySettings
...
This fixes a weird dependency graph in DisplaySettings. The widget itself
(which is described in `gml` now), no longer contains `root_widget()`.
The widget itself has been moved into a tabbed pane, to get it ready
to add some more features and bring it more up to date with the current
UI code.
2021-01-01 15:55:08 +01:00
Andreas Kling
865f524d5b
AK+LibGUI+LibWeb: Remove AK::TypeTraits in favor of RTTI-based helpers
...
Now that we have RTTI in userspace, we can do away with all this manual
hackery and use dynamic_cast.
We keep the is<T> and downcast<T> helpers since they still provide good
readability improvements. Note that unlike dynamic_cast<T>, downcast<T>
does not fail in a recoverable way, but will assert if the object being
casted is not a T.
2021-01-01 15:33:30 +01:00
Andreas Kling
7c3b6b10e4
Kernel: Remove the limited use of AK::TypeTraits we had in the kernel
...
This was only used for VMObject and we can do without it there. This is
preparation for migrating to dynamic_cast-based helpers in userspace.
2021-01-01 15:32:44 +01:00
Linus Groh
aa92adeedf
LibJS: Fix email in TypedArray{Constructor,Prototype} copyright headers
2021-01-01 15:02:58 +01:00
Andrew Kaster
347bf6459d
Applications+LibGUI: Convert all GML consumers to use the LibCore finder
...
Remove Widget::find_child_by_name and Widget::find_descendant_by_name,
and convert all users to using the type-safer version in Core::Object.
2021-01-01 14:45:09 +01:00
Andrew Kaster
5b03a0867f
LibCore: Add typed find_child and find_descendant helpers to Object
...
These look a lot like the parallel functionality in GUI::Widget :).
These use dynamic_cast now, to make use of that RTTI we just added.
2021-01-01 14:45:09 +01:00
Andrew Kaster
350d4d3543
Meta: Enable RTTI for Userspace programs
...
RTTI is still disabled for the Kernel, and for the Dynamic Loader. This
allows for much less awkward navigation of class heirarchies in LibCore,
LibGUI, LibWeb, and LibJS (eventually). Measured RootFS size increase
was < 1%, and libgui.so binary size was ~3.3%. The small binary size
increase here seems worth it :^)
2021-01-01 14:45:09 +01:00
Brian Gianforcaro
43908db594
CMake: Add public cmake option to document BUILD_LAGOM
...
- Making this an option makes this option visible to users and tooling.
2021-01-01 14:37:04 +01:00
Brian Gianforcaro
40f671ac67
CMake: Add public cmake option to document ENABLE_ALL_THE_DEBUG_MACROS
...
- Making this an option makes this option visible to users and tooling.
- Rename `ALL_THE_DEBUG_MACROS` -> `ENABLE_ALL_THE_DEBUG_MACROS`.
2021-01-01 14:37:04 +01:00
Brian Gianforcaro
ab6ee9f7b2
CMake: Remove some trailing whitespace from a few CMakeLists.txt files
2021-01-01 14:37:04 +01:00
Brian Gianforcaro
6d67c4cafc
CMake: Consolidate all options to the root of the project
2021-01-01 14:37:04 +01:00
Brendan Coles
74a65cffbd
LibELF: validate_program_headers: Validate p_memsz and p_align
2021-01-01 14:34:25 +01:00
AnotherTest
887a62582d
ProtocolServer: Use an empty Optional<IPC::File> to pass along "no fd"
...
Passing `-1` wouldn't work, as these are passed to `sendfd()'.
Fixes #4706 .
2021-01-01 14:26:43 +01:00
Brendan Coles
f2973875e3
Base: Add Coffee theme
2021-01-01 13:10:54 +01:00
Andreas Kling
fc75421d50
Terminal: Tweak "Find" menu item -> "Find..."
...
The ellipsis (...) in a menu item traditionally means that the action
will require more input before executing. In this case, you need to
provide a search string. :^)
2021-01-01 02:19:45 +01:00
Andreas Kling
39efb3df18
LibGUI: Hide unnecessary scrollbars in MultiView
...
This removes pointless scrollbars in FilePicker which looks nice.
2021-01-01 02:12:39 +01:00
Andreas Kling
3eba01a02d
LibGUI: Simplify setup code in GUI::MultiView
...
Use for_each_view_implementation() to avoid duplicating the setup code
for each subview.
2021-01-01 02:12:39 +01:00
Andreas Kling
71663a9431
FileManager: Hide unnecessary scrollbars in DirectoryView
2021-01-01 02:12:39 +01:00
Andrew Kaster
a3a9016701
DynamicLoader: Tell the linker to not add a PT_INTERP header
...
Use the GNU LD option --no-dynamic-linker. This allows uncommenting some
code in the Kernel that gets upset if your ELF interpreter has its own
interpreter.
2021-01-01 02:12:28 +01:00
Andreas Kling
4ea4cd5ee3
FileManager: Defer setting FileSystemModel root path in DirectoryView
...
Otherwise we always load the root directory on startup before switching
to whatever directory we actually wanted to open.
2021-01-01 01:55:30 +01:00
Andreas Kling
950a736127
Base: Add a desktop shortcut to the root directory
2021-01-01 01:48:20 +01:00
Andreas Kling
e82195ed1d
Base: Add 32x32 variant of the hard-disk icon
2021-01-01 01:48:07 +01:00
Andreas Kling
78fbfd7795
Meta: Update project copyright dates (2018-2021) :^)
2021-01-01 01:14:16 +01:00
Andreas Kling
af7800d947
WindowServer: Flash modal window when clicking on window blocked by it
...
This makes window modality a bit more discoverable by indicating to the
user that the modal window must be closed before mouse interaction is
possible in the clicked window.
2021-01-01 01:10:53 +01:00
Andreas Kling
2e8db6560f
LibGUI: Transfer focus when checking exclusive button programmatically
...
When calling set_checked(true) on an exclusive button, we will now
transfer focus to the newly checked button if one of its now-unchecked
siblings had focus before.
This makes windows that place initial focus somewhere in a group of
radio buttons look nicer when they show up, since focus will be on
whichever radio button was pre-checked, which may not be the first one
in the group.
2021-01-01 00:40:12 +01:00
Andreas Kling
5e19e72a6a
LibGUI: Simplify RadioButton by using AbstractButton exclusive mode
...
Making an AbstractButton exclusive means that we enforce that only one
of the exclusive buttons within the same parent widget can be checked
at a time.
RadioButton was doing exactly the same thing, except in a custom way.
So just remove the custom code and make it exclusive. :^)
2021-01-01 00:33:44 +01:00
Andreas Kling
f0482a4cab
Terminal: Make the settings window modal
2021-01-01 00:08:32 +01:00
Stephan Unverwerth
bb27b212de
LibGfx: Introduce provisional font interface
...
Old font functionality has been moved into BitmapFont
and an abstract Font interface has been introduced to
faciliate further development of TTF font integration.
2020-12-31 23:40:27 +01:00
Andreas Kling
ac50bc79e4
Terminal: Move the settings window to GML :^)
2020-12-31 23:38:39 +01:00
Andreas Kling
f330dc3886
LibGUI: Add a bunch of missing widget registrations
2020-12-31 23:32:13 +01:00
Andreas Kling
87ad68c75b
Meta: Use a raw string delimiter in text-to-cpp-string.sh
...
Otherwise we can't have the sequence ')"' in GML :^)
2020-12-31 23:31:22 +01:00
Tom
a4b3eb6b2d
LibWeb: Clear circular download reference when download finished
2020-12-31 22:15:00 +01:00