Commit Graph

4176 Commits

Author SHA1 Message Date
Lawrence Lee
143e5c6783 Merge branch 'dev' into favorites-gui 2023-01-02 15:37:07 -08:00
Lawrence Lee
4d287b4cdf Merge branch 'dev' into multi-external-editor 2023-01-02 15:06:33 -08:00
Lawrence37
57c1822b2c Strict temporary image file permissions (#6358)
* Write temp images to private tmp directory (Linux)

The directory is in /tmp with 700 permissions.

* Reduce temp image file permissions in Linux

Set temporary image file permissions to read/write for the user only.

* Use private tmp directory for temp images in MacOS

* Use private tmp directory for temp images Windows

* Use GLib to create temporary directories

* Reuse temp directory if possible
2023-01-02 21:32:15 +01:00
Ingo Weyrich
8d29d361a8 Support dnggainmap (embedded correction) for Bayer files (#6382)
* dng gainmap support, #6379
* dng GainMap: control sensitivity of checkbox, #6379
* dng GainMap: partial paste
* dng GainMap: moved isGainMapSupported() from dcraw.h to dcraw.cc
* RawImageSource::applyDngGainMap: small speedup
* Change GUI to separate gainmap from other flat-field; also reorder checkbox

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2023-01-02 21:30:06 +01:00
Niklas Haas
2101b846c3 Implement file sorting in thumbnail view (#6449)
* Use mtime as fallback timestamp for files without EXIF data

As suggested in #6449, with date-based sorting it can be useful to have
at least *some* sort of time-relevant information for EXIF-less files,
to prevent them from falling back to getting sorted alphabetically all
the time.

This commit simply defaults the file timestamp to the file's mtime as
returned by g_stat. For annoying reasons, it doesn't suffice to merely
forward the timestamp to the FileData structs - we also need to keep
track of it inside FilesData to cover the case of a file with 0 frames
in it.

* Add DateTime to Thumbnail

Putting it here facilitate easier sorting without having to re-construct
the DateTime on every comparison.

To simplify things moving forwards, use the Glib::DateTime struct right
away. This struct also contains timezone information, but we don't
currently care about timezone - so just use the local timezone as the
best approximation. (Nothing currently depends on getting the timezone
right, anyway)

In addition to the above, this commit also changes the logic to allow
generating datetime strings even for files with missing EXIF (which
makes sense as a result of the previous commit allowing the use of mtime
instead).

* Implement file sorting in thumbnail view

For simplicity, I decided to only implement the attributes that I could
verily easily reach from the existing metadata exported by Thumbnail.
Ideally, I would also like to be able to sort by "last modified" but I'm
not sure of the best way to reach this from this place in the code.

It's worth pointing out that, with the current implementation, the list
will not dynamically re-sort itself until you re-select the sorting
method - even if you make changes to the files that would otherwise
affect the sorting (e.g. changing the rank while sorting by rank). One
might even call this a feature, not a bug, since it prevents thumbnails
from moving around while you're trying to re-label them. You can always
re-select "sort by ..." from the context menu to force a re-sort.

Fixes #3317

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2023-01-02 21:27:12 +01:00
Lawrence Lee
646065f643 Remove unused code
Remove the preferences code for selecting the external editor since it
is superseded by the multiple external editor preferences.
2023-01-01 21:22:47 -08:00
Nicolas Turlais
401727fba9 Add filter for Paths to dynamic profiles (#6284)
Work by @nicolas-t 
* Path filter in dynamic profile panel
* Pass filename as a function argument
* Removed unused include
* Clearer translation
2022-12-31 10:51:30 +01:00
Pandagrapher
0b67f1b7b4 Add hidpi support for LabGrid 2022-12-27 15:59:30 +01:00
Pandagrapher
c48531448e Add hidpi support for threshold selector and curves 2022-12-25 15:35:25 +01:00
Pandagrapher
3c348599dc Fixes incorrect cursor center position 2022-12-19 20:16:02 +01:00
Pandagrapher
1a4de65f46 Fixes ornament icon not correctly rendered 2022-12-13 19:26:25 +01:00
Pandagrapher
41a0bef2d8 Fixes incorrect icon width on previewmodepanel toggle buttons 2022-12-13 11:47:56 +01:00
Lawrence37
5b4cf1a040 Merge branch 'dev' into multi-external-editor 2022-12-11 12:11:16 -08:00
Alberto Griggio
7324ea7230 replace Glib::filename_to_utf8 with custom fname_to_utf8
(cherry picked from commit 30b4daf9077e3c6780cefbf6c4223da4698b8612)
2022-12-10 12:15:27 -08:00
Alberto Griggio
b409e0bab2 fixed handling IPTC metadata that admit multiple values
(cherry picked from commit 8becb08ec1417215bf8f02c54000d37c2e6920f0)
2022-12-10 11:54:43 -08:00
Alberto Griggio
a0e9a59606 do not save IPTC tags in the arp if they are unchanged
(cherry picked from commit c4c642794868c2b03fd824acc0a7db962162c16f)
2022-12-10 11:05:14 -08:00
Alberto Griggio
2ce81cccc5 metadata: fixed glitches in importing IPTC tags
(cherry picked from commit 3d03f654e22ca01f058492eab2c8fcbc564dc1b9)
2022-12-10 11:00:40 -08:00
Alberto Griggio
92befa7e81 refactored code for extracting image dimensions from metadata
(cherry picked from commit 0ece9c5bfad09bc9052238d83fa696ef39effaaa)
2022-12-10 10:37:58 -08:00
Alberto Griggio
fca1b5c5f5 added support for easier editing of some common metadata tags
(cherry picked from commit 0e3f760b520a5cbaa4e63d0f8a5ca5574093f411)
2022-12-10 10:01:57 -08:00
Alberto Griggio
393dbcf9f9 metadata: allow the user to specify XResolution/YResolution
see https://discuss.pixls.us/t/note-to-the-dev-guys-about-72-ppi-output

(cherry picked from commit ad237944699800368ba50151f6774ee203d61ed5)
2022-12-10 09:56:36 -08:00
Alberto Griggio
0415d556fc exifpanel: ignore errors when printing tags in human-readable form
(cherry picked from commit 47fa34e7365d618f250826eb412c72fe0ab8cfed)
2022-12-10 09:51:32 -08:00
Alberto Griggio
30e77ee96f fixed compilation error with Apple Clang 7.0.0
(cherry picked from commit dd5b10d9dc8eb7447e37ac30ddd7545897c878b0)
2022-12-10 09:44:24 -08:00
Alberto Griggio
38eb9f9f18 exifpanel: improved ui for editing tags
(cherry picked from commit f6f4ddf54c25e6e577bf4960ea51fc23e8434559)
2022-12-10 09:43:17 -08:00
Alberto Griggio
3f05564548 exifpanel: fixed missing markup escaping when adding tag values
Fixes #54

(cherry picked from commit 383619d6260fa10b8f112e3dc55e0323f5e99b43)
2022-12-10 09:33:40 -08:00
Alberto Griggio
1de9516ef0 metadata: better defaults and presentation of the exif tag tree
(cherry picked from commit 9edc783c1b6ba3b49c933560a73e2de126e04dc1)
2022-12-10 09:32:42 -08:00
Alberto Griggio
1935f3d76d exif panel: ensure that keys are not empty in the displayed tag tree
(cherry picked from commit da45bf30bddf311b6c7d0d990d078b2a37d4b500)
2022-12-10 09:24:41 -08:00
Alberto Griggio
b92e77fb96 improved support for metadata editing
(cherry picked from commit 85da0b51ecf7ece768c0267aead71dd94404d4dc)
2022-12-09 22:35:26 -08:00
Alberto Griggio
8a5aa6c119 exif panel: further tweaks to the metadata selection
(cherry picked from commit 207e51b64726367f2d932c000060f00b2697523f)
2022-12-09 21:26:33 -08:00
Pandagrapher
21ebb81ece Stop using scale factor for font and pixel size scaling 2022-12-09 16:09:03 +01:00
Pandagrapher
cc48ad2aa1 Fixes hi-dpi on Linux
- Fixes incorrect install path for icons
- Fixes case-sensitive issues with names
2022-12-08 10:03:45 +01:00
Alberto Griggio
abb052e51b metadata: allow to select which metadata tags to include in the output image
(cherry picked from commit ed64206cb8b4455870815e2c51aecbd5c09e4054)
2022-12-06 22:08:23 -08:00
Alberto Griggio
f62f6807a7 exifpanel: sort the list of exif tags
(cherry picked from commit 88e5ec5dc6a47d3a9cc751d2902aadc540ce0826)
2022-12-05 21:40:57 -08:00
Alberto Griggio
e90ffe979b metadata: catch std::exception instead of Exiv2::AnyError for better robustness
(cherry picked from commit 0e2d9332f633b060bd4d5cbcd9d47009bab0c46c)
2022-12-05 21:19:21 -08:00
Alberto Griggio
e7fdad875a metadata: cache recent files for faster operation
(cherry picked from commit 6ee014ddb7ab77537289e1f41f13345e5db54710)
2022-12-04 17:27:02 -08:00
Alberto Griggio
b01b0fbef0 metadata: initialize thumbnail rating from exif
(cherry picked from commit 96bd2db0d2e127678bded3bee7aa3275332826c0)
2022-12-04 17:02:33 -08:00
Alberto Griggio
1a771fa211 more work on synchronizing metadata with xmp sidecars
(cherry picked from commit 81bbff6e6ae87bd35e8050a1cc621297ca24939b)
2022-12-04 15:55:09 -08:00
Lawrence Lee
4223f114cb Clean up merge 2022-12-03 21:24:17 -08:00
Lawrence Lee
255dc13843 Add Lensfun DB lookup fallback directory
Load from the bundled database directory if loading from the configured
location fails.
2022-11-24 17:08:00 -08:00
Pandagrapher
eb40593d60 Merge with 'Beep6581/dev' 2022-11-03 17:10:48 +01:00
Pandagrapher
344f64eab7 Fixes issue loading image cache data
With some versions of Glib/Glibmm library on MacOS, Glib::KeyFile "load_from_file" function does not raise a Glib::Error but another exception. This causes cached data not saved on disk (and thumbnails not displayed in explorer). Adds robustness testing if file is present first before calling the function
2022-11-03 12:43:06 +01:00
Pandagrapher
8e0fa1148b Other minor fixes for histogram panel
- When loading an image, raw histogram data were incorrectly not set (but provided)
- Fixes incorrect curve scaling in raw histogram mode (was incorrectly scaled using luma and chroma data)
2022-11-03 12:37:43 +01:00
Pandagrapher
a0c3ef931c Minor fixes for histogram panel hidpi support 2022-11-02 16:32:48 +01:00
Pandagrapher
68d1eae1a7 Hidpi support for histogram panel
Other fixes:
- Reduce number of queue_draw function calls (and so optimize panel redraw)
- Code cleanup
2022-11-02 13:12:24 +01:00
Morgan Hardwood
cf96139c3a Review of default #5664
Consistently use _TOOLTIP suffix for tooltip keys.
2022-09-23 18:09:44 +02:00
Morgan Hardwood
799452ac88 Review of default #5664 2022-09-23 16:37:46 +02:00
Pandagrapher
1c85926200 Creates an RTImage cache
Fixes:
- Fixes GUI issue on Windows (GDI handles limit reached)
- Fixes an incorrect icon name in Perspective tool
- Adds robustness RTScalable::loadSurfaceFromIcon function
2022-09-02 19:15:42 +02:00
luzpaz
4d1d5d4539 Fix various typos (#6569)
* Fix various typos

* Fix previous commit + add follow-up grammatical fixes
2022-08-30 15:17:43 +02:00
Pandagrapher
35ce0d1227 Fixes hi-dpi on Windows
- Fixes incorrect install path for icons
- Fixes incorrect font size conversion from "Pango units" (updates some comments)
- Fixes incorrect volume icon in directory browser
2022-08-29 19:26:41 +02:00
Pandagrapher
2cd6ba96ca Merge with 'Beep6581/dev' 2022-08-27 11:49:02 +02:00
Pandagrapher
50e54aa395 Convert remaining RTPixbuf to RTSurface
Changes:
- Remove RTPixbuf use in directory browser to use native GTK mechanism
- Replace RTPixbuf by RTSurface for thumbnail icons
- Remove now useless RTPixbuf class

Fixes:
- Elaborate RTSurface width / height based on the type
2022-08-27 11:37:59 +02:00