Age | Commit message (Collapse) | Author |
|
This will be inherited by documents and workers, to provide a common
abstraction for script execution. (We don't have workers yet, but we
might as well make this little space for them now to simplify things
down the road.)
|
|
|
|
This one is a little weird. I don't know why it's okay for this
function to assume that there is a current scope on the scope stack
when it can be called during global object initialization etc.
For now, just make it say "we are in strict mode" when there is no
currently active scope.
|
|
Shape was allocating property tables inside visit_children(), which
could cause garbage collection to happen. It's not very good to start
a new garbage collection while you are in the middle of one already.
|
|
|
|
Previously, it didn't take into account the visibility of
column headers.
|
|
To make slightly more aesthetically pleasing use of the vertical space,
we now move all vertically centered text lines down by half the amount
of space below the font's baseline.
This is probably not the "correct" way to do this, but it does make
things look nicer with some of our fonts already.
|
|
|
|
This does nothing at the moment but will soon allow us to improve the
vertical positioning of text.
|
|
When holding Ctrl and scrolling on a slider widget, the scrolling
acceleration gets increased.
This can make it faster to get to the knob location you want to
get to. :^)
|
|
In the case of an exception in a property getter function we would not
return early, and a subsequent attempt to call the replacer function
would crash the interpreter due to call_internal() asserting.
Fixes #3548.
|
|
Fixes #3471, adds a test.
|
|
This does exactly what it sounds like. :^)
|
|
Now that the "/" directory can have a (virtual) parent index, we need
to account for that when converting a full path to a model index.
|
|
|
|
This will allow FileIconProvider to check additional things about
the specified path. (We previously only had access to the basename.)
|
|
Only focus the new active child if the old one had focus previously.
|
|
|
|
The parser considers it a syntax error at the moment, other engines
throw a ReferenceError during runtime for ++foo(), --foo(), foo()++ and
foo()--, so I assume the spec defines this.
|
|
|
|
When SO_TIMESTAMP is set as an option on a SOCK_DGRAM socket, then
recvmsg() will return a SCM_TIMESTAMP control message that
contains a struct timeval with the system time that was current
when the socket was received.
|
|
I want to add another entry to this list and don't want to
have to think of a number for it.
|
|
The implementation only supports a single iovec for now.
Some might say having more than one iovec is the main point of
recvmsg() and sendmsg(), but I'm interested in the control message
bits.
|
|
Need to set the sort order after model was set to sort the table.
|
|
Instead of forcefully setting the sort order to Ascending upon column
sort, setting it to the previously selected sort order
|
|
Writing to the socket may trigger a close of the socket descriptor
if a disconnect was detected. We need to check if it is still valid
when waiting for a response after attempting to send a synchronous
message.
Fixes #3515
|
|
Basically, setting the hue is numerically sensitive when the value or
saturation are low.
|
|
When 4 character colors were allowed, backspace misbehaved and you
couldn't backspace the whole color.
|
|
|
|
|
|
You can now construct a FileSystemModel with a null String() as the
root path. This will root it one level above "/" which makes the
root directory itself selectable as a child.
This will be useful in some places, e.g the FileManager application.
|
|
|
|
|
|
Because we're closing a file descriptor, we need to disable any
Notifier that is using it so that the EventLoop does not use invalid
file descriptors.
Fixes #3508
|
|
If a file descriptor is being closed, we need to permanently disable
any Notifier and remove it from the event loop. This method removes
the notifier and disables it so that the EventLoop does not use a
invalid file descriptor.
|
|
Don't just set the selection, set the cursor.
|
|
This code was confusing two different versions of scroll_into_view that
were getting mixed up due to member function shadowing.
Adding an "override" to the subclass declaration exposed the problem.
With this fixed, we no longer lose our scroll position wildly when
using the mouse to select TreeView items.
|
|
Instead of everyone overriding save_to() and set_property() and doing
a pretty asymmetric job of implementing the various properties, let's
add a bit of structure here.
Object properties are now represented by a Core::Property. Properties
are registered with a getter and setter (optional) in constructors.
I've added some convenience macros for creating and registering
properties, but this does still feel a bit bulky. We'll have to
iterate on this and see where it goes.
|
|
LibDiff currently contains functionality for parsing diffs in the
"unified format" and for a generating simple diff that contains only
additions.
|
|
This adds a "Git" tab to Hackstudio.
Currently has support for staging and unstaging files.
|
|
Add utility functions for executing commands and getting their output.
|
|
|
|
OutputMemoryStream was originally a proxy for DuplexMemoryStream that
did not expose any reading API.
Now I need to add another class that is like OutputMemoryStream but only
for static buffers. My first idea was to make OutputMemoryStream do that
too, but I think it's much better to have a distinct class for that.
I originally wanted to call that class FixedOutputMemoryStream but that
name is really cumbersome and it's a bit unintuitive because
InputMemoryStream is already reading from a fixed buffer.
So let's just use DuplexMemoryStream instead of OutputMemoryStream for
any dynamic stuff and create a new OutputMemoryStream for static
buffers.
|
|
|
|
|
|
It does the same thing as Ctrl + Arrow left/right: Wordwise movement.
|
|
xterms send a bitmask (+ 1) in the 2nd CSI parameter if "special"
keys (arrow keys, pgup/down, etc) are sent with modifiers held down.
Serenity's Terminal used to send ^[[O, which is a nonexistent
escape sequence and a misread of VT100's ^[O (ie the '[' is
replaced by 'O'). Since the xterm scheme also supports shift
and alt modifiers, switch to that.
More flexible, and makes ctrl-left/right and alt-left/right work
in SerenityOS's bash port.
Also do this for page up/down.
No behavior change for SerenityOS's Shell.
|
|
No behavior change, but it makes it easy to handle
page up and page down if we wanted to make them do something
in libline.
|
|
Consider the following snippet:
void foo(InputStream& stream) {
if(!stream.eof()) {
u8 byte;
stream >> byte;
}
}
There is a very subtle bug in this snippet, for some input streams eof()
might return false even if no more data can be read. In this case an
error flag would be set on the stream.
Until now I've always ensured that this is not the case, but this made
the implementation of eof() unnecessarily complicated.
InputFileStream::eof had to keep a ByteBuffer around just to make this
possible. That meant a ton of unnecessary copies just to get a reliable
eof().
In most cases it isn't actually necessary to have a reliable eof()
implementation.
In most other cases a reliable eof() is avaliable anyways because in
some cases like InputMemoryStream it is very easy to implement.
|
|
|