Commit Graph

353 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 5d019e20b5
Make the view a drop target 2022-02-17 10:57:05 +01:00
Přemysl Eric Janouch 03d1798e23
Add a missing header file include 2022-02-14 06:55:37 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 0857a04a3a
Scroll to selection when returning from the viewer 2022-02-13 13:18:36 +01:00
Přemysl Eric Janouch 4302ec71f2
Make changing the browser zoom launch thumbnailers 2022-02-13 13:18:36 +01:00
Přemysl Eric Janouch ee5f63e50b
Adjust keyboard shortcuts 2022-01-26 04:44:00 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 5c725d1968
Fix some user guide formatting 2022-01-25 05:59:05 +01:00
Přemysl Eric Janouch ee71fb0dd0
Start a basic user guide
Move some information out there from the README.
2022-01-25 05:54:00 +01:00
Přemysl Eric Janouch 381e5f57c7
Add TGA to the list of supported media types 2022-01-25 05:16:31 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 38670428da
Add keyboard shortcuts for thumbnail size 2022-01-23 06:44:50 +01:00
Přemysl Eric Janouch a7e638207f
Fix Meson
The disabler, for some reason, bubbles up to its target.
2022-01-23 04:44:41 +01:00
Přemysl Eric Janouch 098895bfd9
Remove SVG debugging tools
I already know how librsvg over Cairo behaves.
2022-01-23 04:15:48 +01:00
Přemysl Eric Janouch 235b14dc11
Fix a case in orientation mirroring 2022-01-23 04:15:48 +01:00
Přemysl Eric Janouch 6ce5c7c2b6
Scale SVGs accurately in the viewing widget 2022-01-23 04:15:48 +01:00
Přemysl Eric Janouch 07e7d39ea2
Produce properly scaled SVG thumbnails 2022-01-23 04:12:11 +01:00
Přemysl Eric Janouch 562e140a1e
Add backend for accurate SVG scaling 2022-01-23 04:12:10 +01:00
Přemysl Eric Janouch b71d5dff57
Make truncated WebP parts always transparent 2022-01-23 00:27:20 +01:00
Přemysl Eric Janouch c85de6b20f
Update a comment 2022-01-22 22:51:59 +01:00
Přemysl Eric Janouch 3796f56e81
Load even partial WebP images 2022-01-22 22:45:35 +01:00
Přemysl Eric Janouch 0a11abd3fe
Reorder code 2022-01-22 21:38:00 +01:00
Přemysl Eric Janouch 78faf438a5
Improve WebP error reporting 2022-01-22 21:31:16 +01:00
Přemysl Eric Janouch f2eb7621b4
Bump Wuffs, add TGA support through it 2022-01-22 21:02:56 +01:00
Přemysl Eric Janouch 8877e17108
Default to gdk-pixbuf even for Wuffs formats 2022-01-22 21:02:56 +01:00
Přemysl Eric Janouch 686d45553b
Plug a corner-case memory leak, fix range checks 2022-01-21 19:03:05 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 8a656121a3
Update command line usage string 2022-01-16 01:51:04 +01:00
Přemysl Eric Janouch 6a1278786c
Fix a compiler warning 2022-01-13 23:42: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 222ba6a060
Add a comment about HDR PNG 2022-01-13 21:09:16 +01:00
Přemysl Eric Janouch 8e8cf49343
Add a normally hidden, stubbed-out menu bar
So that the About dialog is discoverable now at all.
2022-01-13 21:08:59 +01:00
Přemysl Eric Janouch 6de5ab6298
Select the file when Return-ing from the viewer
It might make sense to also do it on M-Left or the back button.
Not sure about it so far.
2022-01-12 11:15:35 +01:00
Přemysl Eric Janouch 757bc9beaa
Fully support GNOME's inode/directory mechanism 2022-01-12 11:12:32 +01:00
Přemysl Eric Janouch f632510d2a
Put reloading the image as its own action 2022-01-12 10:58:33 +01:00
Přemysl Eric Janouch 05453718bb
Avoid blank browser space when resizing the window 2022-01-12 10:41:33 +01:00
Přemysl Eric Janouch cfa90fb7de
Don't hardcode the project name in its URI 2022-01-12 10:41:33 +01:00
Přemysl Eric Janouch f1e9e47e13
Implement browser keyboard navigation 2022-01-11 14:36:19 +01:00
Přemysl Eric Janouch 764312652d
Support invoking a context menu from keyboard 2022-01-11 12:26:28 +01:00
Přemysl Eric Janouch e663f02754
Implement selection in the browser
Keyboard controls are missing so far.
2022-01-11 11:27:35 +01:00
Přemysl Eric Janouch 1a190001fc
Make the browser implement its own scrollable
It's quite rough around the edges so far.
2022-01-10 11:53:15 +01:00
Přemysl Eric Janouch 3bf41993a3
Clean up the About animation 2022-01-10 10:25:08 +01:00
Přemysl Eric Janouch 4f19a67da3
Add an unnecessarily fancy about dialog 2022-01-09 19:11:36 +01:00
Přemysl Eric Janouch 12e3c42888
Move key bindings to a more usual shortcut
gThumb is confused.
2022-01-09 12:31:19 +01:00
Přemysl Eric Janouch 146c5c6977
Improve the icon
Now it's simple, colourful, pixel-aligned, balanced and everything.

The ligature is a bit awkward, but it will do.
2022-01-09 09:47:44 +01:00
Přemysl Eric Janouch 25dcc3b136
Handle view bindings through an action signal
This makes them adjustable.
2022-01-09 07:48:44 +01:00