Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use a GQueue for thumbnailing | Přemysl Eric Janouch | 2022-08-09 | 1 | -18/+13 |
| | | | | It's mildly less awkward to use, and fixes one complexity issue. | ||||
* | Do produce thumbnails of thumbnails, but in memory | Přemysl Eric Janouch | 2022-08-09 | 1 | -11/+0 |
| | |||||
* | Remove a stale comment | Přemysl Eric Janouch | 2022-08-09 | 1 | -1/+0 |
| | |||||
* | Support opening collections of files | Přemysl Eric Janouch | 2022-08-08 | 1 | -11/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Make Alt+Return work in the browser as well | Přemysl Eric Janouch | 2022-08-06 | 1 | -0/+10 |
| | |||||
* | Use gdk_event_triggers_context_menu() | Přemysl Eric Janouch | 2022-08-03 | 1 | -7/+11 |
| | |||||
* | Centre ultra-wide items vertically | Přemysl Eric Janouch | 2022-07-31 | 1 | -1/+1 |
| | | | | Overall, this looks better, even though we lose a baseline of sorts. | ||||
* | Extend a comment | Přemysl Eric Janouch | 2022-07-24 | 1 | -0/+1 |
| | |||||
* | Work around broken Cairo Quartz backend on macOS | Přemysl Eric Janouch | 2022-07-23 | 1 | -38/+62 |
| | | | | Pre-render the padded pattern, costing us 2 megabytes of memory there. | ||||
* | Only offer horizontal browser scrolling if useful | Přemysl Eric Janouch | 2022-07-21 | 1 | -13/+19 |
| | | | | Motivated by small screens. | ||||
* | Use GDK event handling return value constants | Přemysl Eric Janouch | 2022-07-21 | 1 | -28/+28 |
| | |||||
* | Fix touch screen drag scrolling in the browser | Přemysl Eric Janouch | 2022-07-21 | 1 | -7/+20 |
| | |||||
* | Handle the long press gesture on browser items | Přemysl Eric Janouch | 2022-07-21 | 1 | -0/+40 |
| | | | | Unfortunately, this doesn't work on X11, though Wayland seems fine. | ||||
* | Support horizontal scrolling in the browser | Přemysl Eric Janouch | 2022-07-17 | 1 | -1/+8 |
| | | | | An unlikely situation. | ||||
* | Implement GtkScrollable in FivView | Přemysl Eric Janouch | 2022-07-17 | 1 | -6/+5 |
| | | | | | This fixes rendering and positioning behaviour when dragging on X11, where we aim to use a native GdkWindow. | ||||
* | Make the browser scroll with touchpad on Wayland | Přemysl Eric Janouch | 2022-07-15 | 1 | -2/+36 |
| | | | | And generally clear up scroll handling. | ||||
* | Move the browser's popup menu to its own file | Přemysl Eric Janouch | 2022-07-04 | 1 | -182/+8 |
| | |||||
* | Employ embedded thumbnail extraction | Přemysl Eric Janouch | 2022-06-08 | 1 | -12/+39 |
| | | | | | | | | | | | | And store all direct thumbnailer output in the browser's cache-- low-quality thumbnails will always be regenerated, as is desired, and we'll reload faster on devices where we don't store thumbnails. This change improves latency at the cost of overall efficiency, seeing as images with thumbnails will be spent cycles on twice. Keeping this out-of-process avoids undesired lock-ups. Moreover, embedded thumbnails can be fairly expensive to decode. | ||||
* | Add a command line option to extract thumbnails | Přemysl Eric Janouch | 2022-06-08 | 1 | -1/+2 |
| | | | | | Only use LibRaw for now, which probably has the most impact using the least amount of effort. | ||||
* | Clean up | Přemysl Eric Janouch | 2022-06-05 | 1 | -2/+2 |
| | | | | Use gchar when memory is allocated through GLib. | ||||
* | Cache thumbnails across reloads | Přemysl Eric Janouch | 2022-06-04 | 1 | -7/+34 |
| | | | | | | | | | This will speed up sort changes, as well as simple reloads, at the cost of an extra hash map from URIs to Cairo surface references. It seems unnecessary to provide an explicit option to flush this cache, as it may be cleared by changing either the directory or the current thumbnail size. | ||||
* | Attach mtime to the browser's rescaled thumbnails | Přemysl Eric Janouch | 2022-06-04 | 1 | -1/+14 |
| | |||||
* | Use the model's mtime for validating thumbnails | Přemysl Eric Janouch | 2022-06-04 | 1 | -7/+8 |
| | | | | | Saves a syscall, generalizes fiv_thumbnail_lookup(), wastes a tiny bit of memory per entry. | ||||
* | Expose the mtime of the model's entries | Přemysl Eric Janouch | 2022-06-04 | 1 | -6/+6 |
| | |||||
* | Prevent thumbnailing from disrupting mouse clicks | Přemysl Eric Janouch | 2022-02-24 | 1 | -9/+9 |
| | |||||
* | Turn the browser into a DnD source | Přemysl Eric Janouch | 2022-02-22 | 1 | -14/+99 |
| | | | | | | The destination does all the work of handling file operations. Also, add some missing logic for horizontal scrolling. | ||||
* | Use the X-GNOME-FullName desktop file key | Přemysl Eric Janouch | 2022-02-21 | 1 | -2/+3 |
| | |||||
* | Avoid g_app_info_should_show() in context menus | Přemysl Eric Janouch | 2022-02-21 | 1 | -4/+2 |
| | | | | We were hiding our own JPEG cropper. | ||||
* | Clean up | Přemysl Eric Janouch | 2022-02-20 | 1 | -3/+3 |
| | |||||
* | Make thumbnailers pass back raw images | Přemysl Eric Janouch | 2022-02-20 | 1 | -30/+51 |
| | |||||
* | Show application icons in context menu items | Přemysl Eric Janouch | 2022-02-20 | 1 | -2/+20 |
| | |||||
* | Open items on mouse button release, not press | Přemysl Eric Janouch | 2022-02-14 | 1 | -25/+31 |
| | | | | | | | | At least the left and middle mouse buttons seem to behave similarly in other programs and systems. Context menus are opened on button release on Windows and with some GTK+ widgets (popovers in GtkPlacesSidebar). | ||||
* | Scroll to selection when returning from the viewer | Přemysl Eric Janouch | 2022-02-13 | 1 | -2/+15 |
| | |||||
* | Make changing the browser zoom launch thumbnailers | Přemysl Eric Janouch | 2022-02-13 | 1 | -0/+3 |
| | |||||
* | Add keyboard shortcuts for thumbnail size | Přemysl Eric Janouch | 2022-01-23 | 1 | -1/+13 |
| | |||||
* | Fully support GNOME's inode/directory mechanism | Přemysl Eric Janouch | 2022-01-12 | 1 | -9/+23 |
| | |||||
* | Avoid blank browser space when resizing the window | Přemysl Eric Janouch | 2022-01-12 | 1 | -2/+10 |
| | |||||
* | Implement browser keyboard navigation | Přemysl Eric Janouch | 2022-01-11 | 1 | -8/+166 |
| | |||||
* | Support invoking a context menu from keyboard | Přemysl Eric Janouch | 2022-01-11 | 1 | -4/+54 |
| | |||||
* | Implement selection in the browser | Přemysl Eric Janouch | 2022-01-11 | 1 | -12/+61 |
| | | | | Keyboard controls are missing so far. | ||||
* | Make the browser implement its own scrollable | Přemysl Eric Janouch | 2022-01-10 | 1 | -5/+114 |
| | | | | It's quite rough around the edges so far. | ||||
* | Add an unnecessarily fancy about dialog | Přemysl Eric Janouch | 2022-01-09 | 1 | -1/+1 |
| | |||||
* | Parallelize thumbnail production | Přemysl Eric Janouch | 2022-01-08 | 1 | -47/+75 |
| | |||||
* | Fix browsing the "resource" GVfs schema | Přemysl Eric Janouch | 2022-01-05 | 1 | -0/+4 |
| | |||||
* | Rename the whole project shorter | Přemysl Eric Janouch | 2022-01-05 | 1 | -1/+1 |
| | | | | | | | There is no point in claiming speed, it turns out to be a strange focus to have, considering the amount of available innovations to make. The new name does not appear to be taken by anything important. | ||||
* | Use a unified filesystem model | Přemysl Eric Janouch | 2022-01-05 | 1 | -61/+41 |
| | | | | | | This removes some duplication of effort. So far, sorting adjustments are not exposed in the UI. | ||||
* | A bunch of additional fixes | Přemysl Eric Janouch | 2021-12-31 | 1 | -4/+5 |
| | |||||
* | Minor URL-related fix-ups | Přemysl Eric Janouch | 2021-12-31 | 1 | -13/+3 |
| | |||||
* | Convert all loading to use GFile | Přemysl Eric Janouch | 2021-12-30 | 1 | -15/+18 |
| | | | | Now we're able to make use of GVfs, with some caveats. | ||||
* | Fix thumbnailing cancellation | Přemysl Eric Janouch | 2021-12-28 | 1 | -0/+5 |
| | | | | Everything's according to GAsyncResult documentation. |