Commit Graph

42 Commits

Author SHA1 Message Date
b067c1948b Use GDK event handling return value constants 2022-07-21 16:03:36 +02:00
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
94f6938b9a Add a key binding for keeping the zoom/position 2022-07-17 15:26:20 +02:00
bd2e929b77 Add ability to keep zoom/position when browsing 2022-07-17 13:04:29 +02:00
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
47b7600f5e Work around a mysterious no-image zoom issue 2022-07-17 09:57:28 +02:00
8f98c623ee Center zoom around pointer or middle of the view 2022-07-17 09:13:12 +02:00
4efda5347c Let FivView take care of its drag gesture
Making the GtkScrolledWindow's scrollbars draggable again.
2022-07-17 07:16:41 +02:00
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
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
1fee920902 Make the browser scroll with touchpad on Wayland
And generally clear up scroll handling.
2022-07-15 07:35:33 +02:00
4ca8825e02 Clean up
Use gchar when memory is allocated through GLib.
2022-06-05 13:30:53 +02: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
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
f632510d2a Put reloading the image as its own action 2022-01-12 10:58:33 +01:00
25dcc3b136 Handle view bindings through an action signal
This makes them adjustable.
2022-01-09 07:48:44 +01:00
6a878fd3c4 Bump more copyright years 2022-01-07 09:53:58 +01:00
3274b64f5a Fix SVG thumbnailing
They're not loaded as image surfaces.
2022-01-07 09:43:28 +01:00
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
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
98bdab443a Hardcode Exif orientation in thumbnails 2021-12-28 23:29:58 +01:00
336053f24d Implement trivial wide thumbnail production
Also make libwebp a required dependency.
2021-12-27 21:51:01 +01:00
e5b1a1861c Avoid double CM in saved WebPs 2021-12-26 02:02:57 +01:00
035997750e Add a few keyboard shortcuts 2021-12-25 18:28:37 +01:00
40c1f8327e Use Little CMS for JPEG colour management 2021-12-24 14:19:22 +01:00
6419209c98 Avoid enhancing just opened images 2021-12-22 14:26:53 +01:00
2d4cab52b3 Integrate jpeg-quantsmooth
Also, don't pointlessly store JPEGs in an ARGB Cairo surface.
2021-12-22 14:20:39 +01:00
46edd4406c Make file information fields selectable
Get rid of useless GtkTreeView.
2021-12-22 08:38:19 +01:00
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
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
ad29013e44 Add zooming to fit width/height if larger
Also, mildly refactor get_surface_dimensions().
2021-12-21 08:13:31 +01:00
46f90f2f35 Improve the "Save as" dialog, clean up 2021-12-21 06:31:52 +01:00
6a61d01f4d Bind hiding the toolbar 2021-12-20 12:15:52 +01:00
f435252492 Add a checkerboard toggle 2021-12-20 11:53:17 +01:00
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
ae57c45c2a Insensivitize inappropriate toolbar actions 2021-12-19 07:04:34 +01:00
64ba54e8e6 Align tables 2021-12-19 06:08:47 +01:00
6e903f6f5c Add a playback toggle button 2021-12-19 05:37:11 +01:00
e23ed245db Add toolbar toggle buttons for scale-to-fit/filter 2021-12-19 04:43:47 +01:00
b78010ccb1 Adopt shorter identifiers
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00