Commit Graph

27 Commits

Author SHA1 Message Date
Přemysl Eric Janouch c214e668d9
Resolve more GLib #2907 warnings 2024-02-24 00:54:29 +01:00
Přemysl Eric Janouch f56c40cf00
Update sidebar entries on change automatically
This makes it more consistent.
2023-06-02 07:44:42 +02:00
Přemysl Eric Janouch 200485246b
Process some GFileMonitor events
So far, it's rather crude.
2023-05-31 18:39:14 +02:00
Přemysl Eric Janouch a012011631
Deduplicate file information structures 2023-04-14 07:31:03 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 5bae7c1bd2
Use gdk_event_triggers_context_menu() 2022-08-03 21:37:45 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch de27dce09c
Add a context menu to breadcrumbs 2022-07-04 20:44:48 +02:00
Přemysl Eric Janouch 4ca8825e02
Clean up
Use gchar when memory is allocated through GLib.
2022-06-05 13:30:53 +02:00
Přemysl Eric Janouch 3ddb0cf205
Expose the mtime of the model's entries 2022-06-04 14:50:56 +02:00
Přemysl Eric Janouch efc13db66e
Plug two memory leaks 2022-06-04 01:28:44 +02:00
Přemysl Eric Janouch 1a8c461af2
Simplify sidebar DnD 2022-02-19 23:13:35 +01:00
Přemysl Eric Janouch 13ae4810ca
Apply some bits of GNOME HIG 1.0 2022-01-13 21:38:32 +01:00
Přemysl Eric Janouch 59af3b7e7b
Show sidebar DnD targets when dragging breadcrumbs 2022-01-07 07:41:05 +01:00
Přemysl Eric Janouch fc559c3d01
Work around an annoying GTK+ issue 2022-01-07 07:28:05 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 06ab13797d
Add some padding to the location dialog
It looked awful with Ubuntu's theme.
2022-01-07 03:48:30 +01:00
Přemysl Eric Janouch bb67df716c
Mildly improve Ubuntu 20.04 compatibility 2022-01-06 08:39:33 +01:00
Přemysl Eric Janouch d889acc315
Show available protocols in open location dialog 2022-01-05 07:59:18 +01:00
Přemysl Eric Janouch 244779bd8c
Factor out make_browser_sidebar()
It's a very mild improvement, but an improvement nonetheless.
2022-01-05 05:17:18 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 5f8dc88fa7
Minor URL-related fix-ups 2021-12-31 00:41:04 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch b78010ccb1
Adopt shorter identifiers
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00