Commit Graph

48 Commits

Author SHA1 Message Date
Přemysl Eric Janouch ea75579b33
Fix a crash with empty exiftool stderr output 2022-07-31 03:54:53 +02:00
Přemysl Eric Janouch 8437164dec
Try a bit harder to get a file's local path 2022-07-31 02:52:20 +02:00
Přemysl Eric Janouch fec64d5595
Support file information for non-local files 2022-07-31 01:14:42 +02:00
Přemysl Eric Janouch fefb4c16ac
Support file information for FUSE-mounted paths 2022-07-31 00:12:53 +02:00
Přemysl Eric Janouch dcc5b6c719
Use GSettings for a new native window toggle
Also, redo desktop files handling.
2022-07-25 19:05:27 +02:00
Přemysl Eric Janouch 817f1b6000
Support colour management on Windows
There is also an alternative WcsGetDefaultColorProfile() path
that might be necessary on some broken versions of Microsoft Windows,
which I certainly do not want to support.
2022-07-23 22:59:29 +02:00
Přemysl Eric Janouch b067c1948b
Use GDK event handling return value constants 2022-07-21 16:03:36 +02:00
Přemysl Eric Janouch 876fda4f55
Handle the long press gesture on browser items
Unfortunately, this doesn't work on X11, though Wayland seems fine.
2022-07-21 12:28:01 +02:00
Přemysl Eric Janouch 94f6938b9a
Add a key binding for keeping the zoom/position 2022-07-17 15:26:20 +02:00
Přemysl Eric Janouch bd2e929b77
Add ability to keep zoom/position when browsing 2022-07-17 13:04:29 +02:00
Přemysl Eric Janouch 9a0647fdfd
Improve the workaround for native GdkWindows
Overshooting caused the image to be one pixel taller/wider,
due to using ceil() within get_display_dimensions().
2022-07-17 11:45:02 +02:00
Přemysl Eric Janouch 47b7600f5e
Work around a mysterious no-image zoom issue 2022-07-17 09:57:28 +02:00
Přemysl Eric Janouch 8f98c623ee
Center zoom around pointer or middle of the view 2022-07-17 09:13:12 +02:00
Přemysl Eric Janouch 4efda5347c
Let FivView take care of its drag gesture
Making the GtkScrolledWindow's scrollbars draggable again.
2022-07-17 07:16:41 +02:00
Přemysl Eric Janouch 23429d9631
Implement GtkScrollable in FivView
This fixes rendering and positioning behaviour when dragging on X11,
where we aim to use a native GdkWindow.
2022-07-17 05:27:06 +02:00
Přemysl Eric Janouch c55500f51a
Support dragging the view
It would also be possible to handle this through press/motion/release
event handlers, though GtkGestureDrag is more convenient for hacking in
support for dragging to widgets not supporting GtkScrollable (yet).

There may be some undesired interactions lurking, besides the jarring
movements when dragging native GdkWindows (these are a pain).
2022-07-15 14:00:31 +02:00
Přemysl Eric Janouch 1fee920902
Make the browser scroll with touchpad on Wayland
And generally clear up scroll handling.
2022-07-15 07:35:33 +02:00
Přemysl Eric Janouch 4ca8825e02
Clean up
Use gchar when memory is allocated through GLib.
2022-06-05 13:30:53 +02: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 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 f632510d2a
Put reloading the image as its own action 2022-01-12 10:58:33 +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
Přemysl Eric Janouch 6a878fd3c4
Bump more copyright years 2022-01-07 09:53:58 +01:00
Přemysl Eric Janouch 3274b64f5a
Fix SVG thumbnailing
They're not loaded as image surfaces.
2022-01-07 09:43:28 +01:00
Přemysl Eric Janouch 685defa684
Rename the whole project shorter
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.
2022-01-05 04:45:46 +01:00
Přemysl Eric Janouch 380ddd540b
Convert all loading to use GFile
Now we're able to make use of GVfs, with some caveats.
2021-12-30 22:32:29 +01:00
Přemysl Eric Janouch 98bdab443a
Hardcode Exif orientation in thumbnails 2021-12-28 23:29:58 +01:00
Přemysl Eric Janouch 336053f24d
Implement trivial wide thumbnail production
Also make libwebp a required dependency.
2021-12-27 21:51:01 +01:00
Přemysl Eric Janouch e5b1a1861c
Avoid double CM in saved WebPs 2021-12-26 02:02:57 +01:00
Přemysl Eric Janouch 035997750e
Add a few keyboard shortcuts 2021-12-25 18:28:37 +01:00
Přemysl Eric Janouch 40c1f8327e
Use Little CMS for JPEG colour management 2021-12-24 14:19:22 +01:00
Přemysl Eric Janouch 6419209c98
Avoid enhancing just opened images 2021-12-22 14:26:53 +01:00
Přemysl Eric Janouch 2d4cab52b3
Integrate jpeg-quantsmooth
Also, don't pointlessly store JPEGs in an ARGB Cairo surface.
2021-12-22 14:20:39 +01:00
Přemysl Eric Janouch 46edd4406c
Make file information fields selectable
Get rid of useless GtkTreeView.
2021-12-22 08:38:19 +01:00
Přemysl Eric Janouch b35590a51c
Temporarily put file information in GtkTreeView
It's aligned and prettier than the label before, but it sucks ass.
2021-12-21 19:27:09 +01:00
Přemysl Eric Janouch 9899a26635
Add a file information dialog based on ExifTool
Right now, it isn't very pleasing to use.
2021-12-21 13:05:11 +01:00
Přemysl Eric Janouch ad29013e44
Add zooming to fit width/height if larger
Also, mildly refactor get_surface_dimensions().
2021-12-21 08:13:31 +01:00
Přemysl Eric Janouch 46f90f2f35
Improve the "Save as" dialog, clean up 2021-12-21 06:31:52 +01:00
Přemysl Eric Janouch 6a61d01f4d
Bind hiding the toolbar 2021-12-20 12:15:52 +01:00
Přemysl Eric Janouch f435252492
Add a checkerboard toggle 2021-12-20 11:53:17 +01:00
Přemysl Eric Janouch 3da1d32df7
Make Exif orientation work with SVG
SVG doesn't contain Exif, but this is how we handle rotation/mirroring.
2021-12-19 12:21:14 +01:00
Přemysl Eric Janouch ae57c45c2a
Insensivitize inappropriate toolbar actions 2021-12-19 07:04:34 +01:00
Přemysl Eric Janouch 64ba54e8e6
Align tables 2021-12-19 06:08:47 +01:00
Přemysl Eric Janouch 6e903f6f5c
Add a playback toggle button 2021-12-19 05:37:11 +01:00
Přemysl Eric Janouch e23ed245db
Add toolbar toggle buttons for scale-to-fit/filter 2021-12-19 04:43:47 +01:00
Přemysl Eric Janouch b78010ccb1
Adopt shorter identifiers
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00