Commit Graph

620 Commits

Author SHA1 Message Date
b6315482b7 Fix sort changes taking way too much time
All thumbnails were reloaded five times on each change.

GTK+/GObject's behaviour doesn't make a lot of sense, but such is life.
2022-06-02 11:46:16 +02:00
51ea785d83 Bump spng wrap 2022-04-20 03:03:30 +02:00
5c34a6846a Fix loading huge JPEGs
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.
2022-03-09 18:04:36 +01:00
da507edd05 Prevent thumbnailing from disrupting mouse clicks 2022-02-24 21:52:25 +01:00
580b68789b Turn the browser into a DnD source
The destination does all the work of handling file operations.

Also, add some missing logic for horizontal scrolling.
2022-02-22 15:44:38 +01:00
31f9feab7b Use the X-GNOME-FullName desktop file key 2022-02-21 22:29:14 +01:00
41bd25e711 Avoid g_app_info_should_show() in context menus
We were hiding our own JPEG cropper.
2022-02-21 21:49:44 +01:00
d9435c988c Clean up 2022-02-21 21:20:16 +01:00
919a55c90b Try to thumbnail everything we can 2022-02-21 00:02:15 +01:00
68bb695054 Clean up 2022-02-20 21:29:34 +01:00
04ec292caf Make thumbnailers pass back raw images 2022-02-20 21:14:33 +01:00
a28fbf25bc Implement wide thumbnail cache invalidation 2022-02-20 15:44:42 +01:00
6c748439ed Use natural sort order
This is exposed in GLib through collate key construction.
2022-02-20 12:07:41 +01:00
fbf26a7d66 Show application icons in context menu items 2022-02-20 12:07:40 +01:00
1a8c461af2 Simplify sidebar DnD 2022-02-19 23:13:35 +01:00
2a73e46315 fiv-jpegcrop: avoid negatively sized crop regions 2022-02-19 23:04:12 +01:00
a68a73cf5c Don't mention gdk-pixbuf as a direct dependency
It's a similar case to Cairo.
2022-02-19 22:02:22 +01:00
433ede4bf1 Add a lossless JPEG cropper
This is more of an MVP, as metadata probably need adjustments.
2022-02-19 20:48:38 +01:00
3ae8be8348 Add a TODO comment
WebP can't save all JPEGs, because WEBP_MAX_DIMENSION is only 16383.
2022-02-18 19:54:05 +01:00
5d019e20b5 Make the view a drop target 2022-02-17 10:57:05 +01:00
03d1798e23 Add a missing header file include 2022-02-14 06:55:37 +01:00
ef2544868d Open items on mouse button release, not press
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).
2022-02-14 02:10:25 +01:00
0857a04a3a Scroll to selection when returning from the viewer 2022-02-13 13:18:36 +01:00
4302ec71f2 Make changing the browser zoom launch thumbnailers 2022-02-13 13:18:36 +01:00
ee5f63e50b Adjust keyboard shortcuts 2022-01-26 04:44:00 +01:00
6e26dc13b4 Only show the info bar when appropriate
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.
2022-01-25 06:15:05 +01:00
5c725d1968 Fix some user guide formatting 2022-01-25 05:59:05 +01:00
ee71fb0dd0 Start a basic user guide
Move some information out there from the README.
2022-01-25 05:54:00 +01:00
381e5f57c7 Add TGA to the list of supported media types 2022-01-25 05:16:31 +01:00
788485d81e Redirect warnings to the info bar
And speed up thumbnailing of animated images while at it.

Also, fix thumbnailing SVGs with external links.
2022-01-24 05:48:13 +01:00
991e74b99b Redirect image open failure messages
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.
2022-01-24 02:48:38 +01:00
38670428da Add keyboard shortcuts for thumbnail size 2022-01-23 06:44:50 +01:00
a7e638207f Fix Meson
The disabler, for some reason, bubbles up to its target.
2022-01-23 04:44:41 +01:00
098895bfd9 Remove SVG debugging tools
I already know how librsvg over Cairo behaves.
2022-01-23 04:15:48 +01:00
235b14dc11 Fix a case in orientation mirroring 2022-01-23 04:15:48 +01:00
6ce5c7c2b6 Scale SVGs accurately in the viewing widget 2022-01-23 04:15:48 +01:00
07e7d39ea2 Produce properly scaled SVG thumbnails 2022-01-23 04:12:11 +01:00
562e140a1e Add backend for accurate SVG scaling 2022-01-23 04:12:10 +01:00
b71d5dff57 Make truncated WebP parts always transparent 2022-01-23 00:27:20 +01:00
c85de6b20f Update a comment 2022-01-22 22:51:59 +01:00
3796f56e81 Load even partial WebP images 2022-01-22 22:45:35 +01:00
0a11abd3fe Reorder code 2022-01-22 21:38:00 +01:00
78faf438a5 Improve WebP error reporting 2022-01-22 21:31:16 +01:00
f2eb7621b4 Bump Wuffs, add TGA support through it 2022-01-22 21:02:56 +01:00
8877e17108 Default to gdk-pixbuf even for Wuffs formats 2022-01-22 21:02:56 +01:00
686d45553b Plug a corner-case memory leak, fix range checks 2022-01-21 19:03:05 +01:00
4ba1d85363 Add preliminary support for resvg
It claims better SVG support, but it sucks for a plethora of reasons.
2022-01-21 09:14:19 +01:00
45238d78cd Mesonize JPEG Quant Smooth
Now SIMD works on amd64, although the build remains questionable,
because it assumes that all of its compiler flags will work.

This way we lose an uncomfortable git submodule.

Also, add Meson subprojects to .gitignore.
2022-01-19 01:11:47 +01:00
8a656121a3 Update command line usage string 2022-01-16 01:51:04 +01:00
6a1278786c Fix a compiler warning 2022-01-13 23:42:35 +01:00