aboutsummaryrefslogtreecommitdiff
path: root/fiv-browser.c
Commit message (Collapse)AuthorAgeFilesLines
* Only offer horizontal browser scrolling if usefulPřemysl Eric Janouch2022-07-211-13/+19
| | | | Motivated by small screens.
* Use GDK event handling return value constantsPřemysl Eric Janouch2022-07-211-28/+28
|
* Fix touch screen drag scrolling in the browserPřemysl Eric Janouch2022-07-211-7/+20
|
* Handle the long press gesture on browser itemsPřemysl Eric Janouch2022-07-211-0/+40
| | | | Unfortunately, this doesn't work on X11, though Wayland seems fine.
* Support horizontal scrolling in the browserPřemysl Eric Janouch2022-07-171-1/+8
| | | | An unlikely situation.
* Implement GtkScrollable in FivViewPřemysl Eric Janouch2022-07-171-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 WaylandPřemysl Eric Janouch2022-07-151-2/+36
| | | | And generally clear up scroll handling.
* Move the browser's popup menu to its own filePřemysl Eric Janouch2022-07-041-182/+8
|
* Employ embedded thumbnail extractionPřemysl Eric Janouch2022-06-081-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 thumbnailsPřemysl Eric Janouch2022-06-081-1/+2
| | | | | Only use LibRaw for now, which probably has the most impact using the least amount of effort.
* Clean upPřemysl Eric Janouch2022-06-051-2/+2
| | | | Use gchar when memory is allocated through GLib.
* Cache thumbnails across reloadsPřemysl Eric Janouch2022-06-041-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 thumbnailsPřemysl Eric Janouch2022-06-041-1/+14
|
* Use the model's mtime for validating thumbnailsPřemysl Eric Janouch2022-06-041-7/+8
| | | | | Saves a syscall, generalizes fiv_thumbnail_lookup(), wastes a tiny bit of memory per entry.
* Expose the mtime of the model's entriesPřemysl Eric Janouch2022-06-041-6/+6
|
* Prevent thumbnailing from disrupting mouse clicksPřemysl Eric Janouch2022-02-241-9/+9
|
* Turn the browser into a DnD sourcePřemysl Eric Janouch2022-02-221-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 keyPřemysl Eric Janouch2022-02-211-2/+3
|
* Avoid g_app_info_should_show() in context menusPřemysl Eric Janouch2022-02-211-4/+2
| | | | We were hiding our own JPEG cropper.
* Clean upPřemysl Eric Janouch2022-02-201-3/+3
|
* Make thumbnailers pass back raw imagesPřemysl Eric Janouch2022-02-201-30/+51
|
* Show application icons in context menu itemsPřemysl Eric Janouch2022-02-201-2/+20
|
* Open items on mouse button release, not pressPřemysl Eric Janouch2022-02-141-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 viewerPřemysl Eric Janouch2022-02-131-2/+15
|
* Make changing the browser zoom launch thumbnailersPřemysl Eric Janouch2022-02-131-0/+3
|
* Add keyboard shortcuts for thumbnail sizePřemysl Eric Janouch2022-01-231-1/+13
|
* Fully support GNOME's inode/directory mechanismPřemysl Eric Janouch2022-01-121-9/+23
|
* Avoid blank browser space when resizing the windowPřemysl Eric Janouch2022-01-121-2/+10
|
* Implement browser keyboard navigationPřemysl Eric Janouch2022-01-111-8/+166
|
* Support invoking a context menu from keyboardPřemysl Eric Janouch2022-01-111-4/+54
|
* Implement selection in the browserPřemysl Eric Janouch2022-01-111-12/+61
| | | | Keyboard controls are missing so far.
* Make the browser implement its own scrollablePřemysl Eric Janouch2022-01-101-5/+114
| | | | It's quite rough around the edges so far.
* Add an unnecessarily fancy about dialogPřemysl Eric Janouch2022-01-091-1/+1
|
* Parallelize thumbnail productionPřemysl Eric Janouch2022-01-081-47/+75
|
* Fix browsing the "resource" GVfs schemaPřemysl Eric Janouch2022-01-051-0/+4
|
* Rename the whole project shorterPřemysl Eric Janouch2022-01-051-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 modelPřemysl Eric Janouch2022-01-051-61/+41
| | | | | | This removes some duplication of effort. So far, sorting adjustments are not exposed in the UI.
* A bunch of additional fixesPřemysl Eric Janouch2021-12-311-4/+5
|
* Minor URL-related fix-upsPřemysl Eric Janouch2021-12-311-13/+3
|
* Convert all loading to use GFilePřemysl Eric Janouch2021-12-301-15/+18
| | | | Now we're able to make use of GVfs, with some caveats.
* Fix thumbnailing cancellationPřemysl Eric Janouch2021-12-281-0/+5
| | | | Everything's according to GAsyncResult documentation.
* Move thumbnails into their own source filePřemysl Eric Janouch2021-12-281-15/+15
| | | | And clean up identifiers.
* Clean upPřemysl Eric Janouch2021-12-281-6/+5
|
* Avoid producing thumbnails of thumbnailsPřemysl Eric Janouch2021-12-281-0/+11
|
* Try to regenerate low quality thumbnailsPřemysl Eric Janouch2021-12-281-3/+8
|
* Clean upPřemysl Eric Janouch2021-12-281-46/+40
| | | | | This makes the thumbnailer able to load at most one directory, which we don't particularly mind.
* Implement trivial wide thumbnail productionPřemysl Eric Janouch2021-12-271-0/+123
| | | | Also make libwebp a required dependency.
* Add a context menu to opened directoriesPřemysl Eric Janouch2021-12-201-1/+10
| | | | So that they can be opened with, e.g., Thunar.
* Optimize thumbnail renderingPřemysl Eric Janouch2021-12-201-4/+10
| | | | | | Massive responsivity gains have been achieved here. Rescaling performance doesn't seem to be particularly affected.
* Adopt shorter identifiersPřemysl Eric Janouch2021-12-181-0/+1064
Also, slightly reformat the source code according to clang-format.