aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Generate TIFF structs/enums from a text filePřemysl Eric Janouch2022-06-104-504/+531
| | | | This is to make the tables much easier to maintain.
* Build tools with Meson as wellPřemysl Eric Janouch2022-06-105-21/+17
|
* Downscale embedded thumbnails within minionsPřemysl Eric Janouch2022-06-083-67/+76
| | | | Otherwise the UI would become unresponsive during loading.
* 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-084-71/+161
| | | | | Only use LibRaw for now, which probably has the most impact using the least amount of effort.
* Add flags to the serialization protocolPřemysl Eric Janouch2022-06-083-6/+11
| | | | | | | | | It still needs no versioning, as it's not really used by anyone. An alternative method of passing a "low-quality" flag would be perusing fiv_thumbnail_key_lq from fiv-thumbnail.c, which would create a circular dependency, unless fiv_io_{de,}serialize*() were moved to fiv-thumbnail.c.
* Clean upPřemysl Eric Janouch2022-06-0510-48/+48
| | | | Use gchar when memory is allocated through GLib.
* Get rid of our spng dependencyPřemysl Eric Janouch2022-06-046-140/+189
| | | | Thumbnails can be properly loaded using Wuffs now.
* Bump Wuffs, support partial PNGs through itPřemysl Eric Janouch2022-06-043-11/+12
|
* 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-044-21/+15
| | | | | 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-045-41/+42
|
* Plug two memory leaksPřemysl Eric Janouch2022-06-042-6/+6
|
* Fix sort changes taking way too much timePřemysl Eric Janouch2022-06-021-2/+8
| | | | | | All thumbnails were reloaded five times on each change. GTK+/GObject's behaviour doesn't make a lot of sense, but such is life.
* Bump spng wrapPřemysl Eric Janouch2022-04-201-4/+4
|
* Fix loading huge JPEGsPřemysl Eric Janouch2022-03-092-0/+31
| | | | | | | | They fell back to gdk-pixbuf, then misrendered in the thumbnailer, and crashed the program when loaded directly. The second best we can do is scale them down, right after tiling, which is a complex feature to add.
* 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-213-2/+5
|
* 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-211-13/+8
|
* Try to thumbnail everything we canPřemysl Eric Janouch2022-02-211-25/+75
|
* Clean upPřemysl Eric Janouch2022-02-201-3/+3
|
* Make thumbnailers pass back raw imagesPřemysl Eric Janouch2022-02-206-36/+137
|
* Implement wide thumbnail cache invalidationPřemysl Eric Janouch2022-02-204-4/+198
|
* Use natural sort orderPřemysl Eric Janouch2022-02-201-12/+9
| | | | This is exposed in GLib through collate key construction.
* Show application icons in context menu itemsPřemysl Eric Janouch2022-02-201-2/+20
|
* Simplify sidebar DnDPřemysl Eric Janouch2022-02-191-4/+1
|
* fiv-jpegcrop: avoid negatively sized crop regionsPřemysl Eric Janouch2022-02-191-4/+5
|
* Don't mention gdk-pixbuf as a direct dependencyPřemysl Eric Janouch2022-02-192-2/+2
| | | | It's a similar case to Cairo.
* Add a lossless JPEG cropperPřemysl Eric Janouch2022-02-194-1/+443
| | | | This is more of an MVP, as metadata probably need adjustments.
* Add a TODO commentPřemysl Eric Janouch2022-02-181-0/+1
| | | | WebP can't save all JPEGs, because WEBP_MAX_DIMENSION is only 16383.
* Make the view a drop targetPřemysl Eric Janouch2022-02-171-0/+24
|
* Add a missing header file includePřemysl Eric Janouch2022-02-141-2/+3
|
* 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
|
* Adjust keyboard shortcutsPřemysl Eric Janouch2022-01-261-28/+46
|
* Only show the info bar when appropriatePřemysl Eric Janouch2022-01-251-0/+3
| | | | | | The late, global gtk_widget_show_all() made it always start visible, in particular when the program was launched directly on an image file, and not in browsing mode.
* Fix some user guide formattingPřemysl Eric Janouch2022-01-251-3/+1
|
* Start a basic user guidePřemysl Eric Janouch2022-01-256-24/+164
| | | | Move some information out there from the README.
* Add TGA to the list of supported media typesPřemysl Eric Janouch2022-01-252-1/+2
|
* Redirect warnings to the info barPřemysl Eric Janouch2022-01-245-109/+168
| | | | | | And speed up thumbnailing of animated images while at it. Also, fix thumbnailing SVGs with external links.
* Redirect image open failure messagesPřemysl Eric Janouch2022-01-243-36/+84
| | | | | | | Pop-up dialogs are quite annoying, as is not being able to iterate over broken images. This will also be useful for warnings and asynchronous loading.
* Add keyboard shortcuts for thumbnail sizePřemysl Eric Janouch2022-01-232-1/+15
|
* Fix MesonPřemysl Eric Janouch2022-01-231-19/+20
| | | | The disabler, for some reason, bubbles up to its target.
* Remove SVG debugging toolsPřemysl Eric Janouch2022-01-231-35/+2
| | | | I already know how librsvg over Cairo behaves.
* Fix a case in orientation mirroringPřemysl Eric Janouch2022-01-231-1/+1
|
* Scale SVGs accurately in the viewing widgetPřemysl Eric Janouch2022-01-231-13/+52
|