Age | Commit message (Collapse) | Author |
|
|
|
We can't assume there's always a parent custody -- when we open "/"
there isn't gonna be one!
Fixes #1858.
|
|
|
|
|
|
|
|
This allows us to run "run-tests -g" for testing with GC after every
heap allocation. This may flush out bugs that would otherwise not
occur if GC'ing only occasionally.
|
|
A MarkedValueList is basically a Vector<JS::Value> that registers with
the Heap and makes sure that the stored values don't get GC'd.
Before this change, we were unsafely keeping Vector<JS::Value> in some
places, which is out-of-reach for the live reference finding logic
since Vector puts its elements on the heap by default.
We now pass all the JavaScript tests even when running with "js -g",
which does a GC on every heap allocation.
|
|
These strings would be applied when inserted into the buffer, but are
not shown as part of the suggestion.
This commit also patches up Userland/js and Shell to use this
functionality
|
|
On the first tab, only complete the token without suggesting extra
stuff, and on further tabs, show suggestions.
Except in one case where the completion is all in the buffer, then
we show the suggestions, but do no completion.
|
|
When copying files, the original file permissions are applied to the
copy. However, this was not done with directories. This should do it.
|
|
|
|
When a drag operation is accepted, we don't check whether the source
nodes contain the destination directory. This could trigger an unwanted
recursive copy.
|
|
This is a bit nicer than getting "Exec format error" after trying to
execvp() a directory.
|
|
If the selection is empty, the model index will be invalid and the file
system model will return the root directory path by default. This causes
the file manager to jump to the root directory when the currently
selected item on the tree view is deselected.
|
|
- Include all options
- Update example REPL session to match current output
- Mention REPL's help()
- Add test mode section
|
|
They now match the new, more verbose error messages.
|
|
This unbreaks the entire test suite. :^)
|
|
Json model wasn't stored after bookmark removal.
Store the model if remove() was successful.
|
|
|
|
Normally we focus any window that's added to the window stack. However,
for WindowType::Desktop this gets annoying since if the desktop manager
comes up after other GUI processes have already started, it steals the
focus from them.
Solve this by only auto-focusing desktop windows if they are the very
first window added.
|
|
|
|
|
|
This is a simple utility for invoking Core::DesktopServices::open() from command
line :^)
|
|
|
|
This is an utility to create a URL from a given string, which may be either a
URL such as http://example.com (which will be used as-is), or a file path such
as /etc/fstab (which will be transformed into file:///etc/fstab).
|
|
Not just http or https. This fixes "foo" being recognized as a valid URL with
protocol "foo", empty host and empty path.
|
|
For those good boy points :^)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This allows us to focus the desktop and interact with it normally. :^)
|
|
|
|
|
|
FileManager can now be started with the --desktop argument. When it's
started in this mode, it will run as a WindowType::Desktop window and
not create any of its regular UI.
The desktop version of the file manager is currently pretty bare-bones
but we can improve it over time and share more code with the regular
file manager windows.
I think this is pretty cool! :^)
|
|
|
|
|
|
This is a convenience helper that allows you to easily construct a
file:// URL from an absolute path.
|
|
Instead of squirreling away this logic deep in the FileManager app,
we now delegate file opening to GUI::DesktopServices.
|
|
This API is used to open a URL in whatever way the desktop system feels
is best. If you give it a file:// URL, it will try to work out a good
application to open the URL with. For all other protocols, it will open
a Browser instance. :^)
|
|
Most clients will want background autofill, so let's make it the
default mode.
|
|
For some reason this was trying to access the Palette of the parent
widget which is obviously not going to work if the ItemView itself is
the main widget in its window.
|
|
This makes it possible to create a see-through ItemView. :^)
|
|
|
|
This new window type can be used to implement a desktop file manager
for example. :^)
|