Commit Graph

560 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 2d86ffed34
Save thumbnails lossily, with metadata 2021-12-28 18:54:27 +01:00
Přemysl Eric Janouch aaa7cb93c3
Fix transparent gdk-pixbuf loading 2021-12-28 02:07:42 +01:00
Přemysl Eric Janouch d4b51f07b5
Avoid unused alpha channels when rescaling 2021-12-28 02:07:42 +01:00
Přemysl Eric Janouch 720464327c
Clean up 2021-12-28 02:07:42 +01:00
Přemysl Eric Janouch ad1ff06aff
Avoid producing thumbnails of thumbnails 2021-12-28 02:07:42 +01:00
Přemysl Eric Janouch af2eb411d9
Try to regenerate low quality thumbnails 2021-12-28 02:07:42 +01:00
Přemysl Eric Janouch 004919cbc5
Clean up
This makes the thumbnailer able to load at most one directory,
which we don't particularly mind.
2021-12-28 00:37:55 +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 2f993502fc
Make use of gAMA and sRGB PNG chunks
Neither EoG nor gThumb handle this correctly.
2021-12-26 03:25:38 +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 e37acf365a
Colour manage all WebP forms
It could be done better, but at least it works at all.
2021-12-26 01:14:27 +01:00
Přemysl Eric Janouch ccf15bc8ae
Almost fully colour-managed Wuffs (BMP, GIF, PNG) 2021-12-25 21:53:39 +01:00
Přemysl Eric Janouch 5e4476ff71
Improve gdk-pixbuf colour management 2021-12-25 19:15:54 +01:00
Přemysl Eric Janouch 035997750e
Add a few keyboard shortcuts 2021-12-25 18:28:37 +01:00
Přemysl Eric Janouch 7a4b5cd065
Colour manage opaque, up to 8-bit images 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 24f9d21ca7
Clean up
Get rid of undesired indentation.
2021-12-21 08:43:47 +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 33851295d8
Bind M-Home to going to the home directory 2021-12-21 07:20:06 +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 9ba3679e89
Make use of GtkShortcutsWindow 2021-12-20 16:04:50 +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 dfa1fed18b
Add a context menu to opened directories
So that they can be opened with, e.g., Thunar.
2021-12-20 10:15:46 +01:00
Přemysl Eric Janouch 58d11ebbff
Make M-Up go to the parent directory
As in Windows Explorer and other software.
2021-12-20 09:58:41 +01:00
Přemysl Eric Janouch 1221325b3e
Stop forcing a dark theme variant
And make it so that both Adwaita variants look okay.
2021-12-20 07:22:24 +01:00
Přemysl Eric Janouch c3eb5ca170
Simplify toolbar separators 2021-12-20 05:34:12 +01:00
Přemysl Eric Janouch 9c0e9d8d49
Stretch the toolbar across the window
The division is kind of logical, it might make sense for the view
to create the center widget, then we'd get rid of some recently added
GObject boilerplate.

Only make_separator() is kind of annoying.
2021-12-20 05:33:27 +01:00
Přemysl Eric Janouch ada67f044a
Optimize thumbnail rendering
Massive responsivity gains have been achieved here.

Rescaling performance doesn't seem to be particularly affected.
2021-12-20 04:40:35 +01:00
Přemysl Eric Janouch 63955e881d
Add a convenience dark theme variant toggle 2021-12-20 03:55:53 +01:00
Přemysl Eric Janouch 6130f527d4
Mark a dead end 2021-12-20 03:49:35 +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 56d623fe52
Make C-r also reload the current directory 2021-12-19 12:21:14 +01:00
Přemysl Eric Janouch 2c46ca262b
Add directory history
Not fully polished yet (see FIXME), but it's a start.
2021-12-19 10:59:11 +01:00
Přemysl Eric Janouch 39cd52905b
Control TOOLBAR_FILE_{PREVIOUS,NEXT} sensitivity 2021-12-19 10:14:08 +01:00
Přemysl Eric Janouch 9feb53a792
Use the same iteration order in view/browser 2021-12-19 09:12:06 +01:00
Přemysl Eric Janouch 4427da5343
Store the full path of the loaded image
Fixes a minor inconsistency with the window title.
2021-12-19 09:12:06 +01:00
Přemysl Eric Janouch 92c6ca6c35
Give the zoom label a minimum width
This also hides a GTK+ bug.
2021-12-19 07:32:21 +01:00
Přemysl Eric Janouch ae57c45c2a
Insensivitize inappropriate toolbar actions 2021-12-19 07:04:34 +01:00
Přemysl Eric Janouch bac92f2612
Update a comment 2021-12-19 06:14:43 +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
Přemysl Eric Janouch c136c089fa
Add a GObject property for view filtering 2021-12-17 07:39:12 +01:00