Commit Graph

28 Commits

Author SHA1 Message Date
c46fc73c34 Prefill the 'Enter location' dialog 2025-11-02 02:09:28 +01:00
c214e668d9 Resolve more GLib #2907 warnings 2024-02-24 00:54:29 +01:00
f56c40cf00 Update sidebar entries on change automatically
This makes it more consistent.
2023-06-02 07:44:42 +02:00
200485246b Process some GFileMonitor events
So far, it's rather crude.
2023-05-31 18:39:14 +02:00
a012011631 Deduplicate file information structures 2023-04-14 07:31:03 +02:00
8da5f807cf Move and extend the browser toolbar
This makes the user interface more cohesive, and easier to use.

Both toolbars should ideally be made configurable.
2023-04-11 06:33:22 +02:00
701846ab39 Support opening collections of files
Implement a process-local VFS to enable grouping together arbitrary
URIs passed via program arguments, DnD, or the file open dialog.

This VFS contains FivCollectionFile objects, which act as "simple"
proxies over arbitrary GFiles.  Their true URIs may be retrieved
through the "standard::target-uri" attribute, in a similar way to
GVfs's "recent" and "trash" backends.

(The main reason we proxy rather than just hackishly return foreign
GFiles from the VFS is that loading them would switch the current
directory, and break iteration as a result.

We could also keep the collection outside of GVfs, but that would
result in considerable special-casing, and the author wouldn't gain
intimate knowledge of GIO.)

There is no perceived need to keep old collections when opening
new ones, so we simply change and reload the contents when needed.

Similarly, there is no intention to make the VFS writeable.

The process-locality of this and other URI schemes has proven to be
rather annoying when passing files to other applications,
however most of the resulting complexity appears to be essential
rather than accidental.

Note that the GTK+ file chooser widget is retarded, and doesn't
recognize URIs that lack the authority part in the location bar.
2022-08-08 18:06:50 +02:00
5bae7c1bd2 Use gdk_event_triggers_context_menu() 2022-08-03 21:37:45 +02:00
0bfd3ad4ce Fix touch screen scrolling on sidebar breadcrumbs
The drag gesture needs to be disabled there,
because touch drags fail in an unfortunate way.
2022-07-22 15:40:17 +02:00
c6096d05b5 Discard the inner sidebar's size request
It used to create a hole when there weren't enough bookmarks
to fill that space.
2022-07-14 12:47:35 +02:00
de27dce09c Add a context menu to breadcrumbs 2022-07-04 20:44:48 +02:00
4ca8825e02 Clean up
Use gchar when memory is allocated through GLib.
2022-06-05 13:30:53 +02:00
3ddb0cf205 Expose the mtime of the model's entries 2022-06-04 14:50:56 +02:00
efc13db66e Plug two memory leaks 2022-06-04 01:28:44 +02:00
1a8c461af2 Simplify sidebar DnD 2022-02-19 23:13:35 +01:00
13ae4810ca Apply some bits of GNOME HIG 1.0 2022-01-13 21:38:32 +01:00
59af3b7e7b Show sidebar DnD targets when dragging breadcrumbs 2022-01-07 07:41:05 +01:00
fc559c3d01 Work around an annoying GTK+ issue 2022-01-07 07:28:05 +01:00
8fdf9e2bc3 Turn breadcrumbs into DnD sources
Now it makes sense to keep that GtkSidebar placeholder item around.
2022-01-07 06:11:42 +01:00
235af37382 Handle middle mouse clicks on breadcrumbs
Also, don't act on button releases happening outside the widget.
2022-01-07 05:33:33 +01:00
06ab13797d Add some padding to the location dialog
It looked awful with Ubuntu's theme.
2022-01-07 03:48:30 +01:00
bb67df716c Mildly improve Ubuntu 20.04 compatibility 2022-01-06 08:39:33 +01:00
d889acc315 Show available protocols in open location dialog 2022-01-05 07:59:18 +01:00
244779bd8c Factor out make_browser_sidebar()
It's a very mild improvement, but an improvement nonetheless.
2022-01-05 05:17:18 +01:00
b935b0baf8 Use a unified filesystem model
This removes some duplication of effort.

So far, sorting adjustments are not exposed in the UI.
2022-01-05 03:48:22 +01:00
5f8dc88fa7 Minor URL-related fix-ups 2021-12-31 00:41:04 +01:00
380ddd540b Convert all loading to use GFile
Now we're able to make use of GVfs, with some caveats.
2021-12-30 22:32:29 +01:00
b78010ccb1 Adopt shorter identifiers
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00