* Use target_include_directories to specify include paths
* Specify project root (parent of rtgui and rtengine) as include path
* Replace relative includes with normal includes
File browser thumbnails for raw images start with a minimally-processed
images. These images are cached and image adjustments are applied on
top. The black level is "baked-into" the cached image. Therefore, to
reflect the black level adjustments in the thumbnail, one of two options
are required:
1. Cache an image before the black level is applied and process the
black level on top of this image.
2. Recreate the base image with the new black level and cache it.
The first option yields better performance when the user changes the
black level. However, it requires other base adjustments to be applied
every time, such as the camera multipliers. The second option requires
the base image to be recreated every time the black level is changed.
This commit implements the second option. It minimizes code changes, and
therefore possible bugs. It does add a performance penalty when the
black level changes, but the black level adjustment is rarely used.
If an editor is marked as a native command, it is launched using the
older method (native for Windows or Glib otherwise). Non-native commands
are launched with Gio. When reading preferences containing the old style
external editor settings, all commands are marked as native to avoid
breaking them.
Fix bug where the send to editor button shows the wrong editor. The bug
happens when the other editor option is selected while the user edits
the external editors in preferences. When saved, the button shows the
first option is selected instead of the other editor option (the last
entry).
* 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
Note: This commit has only been tested on MacOS
Changes:
- Icons now use the native hidpi support from Gtk (through Icon Theme)
- Icons are now directly generated from scalable file (i.e. SVG file)
- Widget sizes are scaled based on DPI and scale factor
- Font size is scaled based on DPI and scale factor
If two images have identical processing parameters, then sending one to
an external editor followed by sending the other one will cause the
first temporary image to be reused. This commit associates the image in
the editor with the "cached" temporary image so that the temporary image
only gets used if the editor image matches.
* import and change the art code -thanks to Alberto
* Possible fixed for white space in folder
* Added verbose when white-space
* Replace WS only if windows and Gimp
* Fixed Windows and Gimp bug for external editor - thanks to Lawrence37
* Fix LGTM alert for reused variable name
Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
Caches the name of the most recently generated temporary file used for
exporting to external editors and uses that file if the processing
parameters are identical and the file exists. This can dramatically
improve speed when exporting to multiple different editors.
Replace radio selector in external editor section of preferences with
external editor preferences widget. Replace send-to-GIMP button with
pop-up button for exporting to a selectable application.
* Various change to fit label in left tool panel
* Increase size left panel from 460 to 465
* Various improvment to reduce size left panel
* Others changes to reduce left panel labels
* Increase default size right panel
* Set right panel ajustable to size font
* Others small changes to mask
* Others small modifications
* change a litlle GUI - curveeditorgroup.cc - suppress curves u=in mask and reduce size right panel
* Added : to various curves label
* Others : labels curves
* Some adjustments labels sizefonts
* Change 2 forgotten length labels in denoise
* Others improvments labels
* Others labels change for retinex
* Others change labels - thanks to Wayne Sutton
* French change label length
* Change labels Wavelet levels - LA retinex - LA color and lights - and others
* Other change to mask blur
* Change box - Flowbox - thanks to Beep6581
* Adapt size box basic..advanced with size font
* Restore curveditorgroup : - change some labels and tooltips
* Remove some ':' - change and adapt labels tooltip wavelet levels
* Change flowbox for complexity under label
* Restore right panel and options to default values
* Change a label in wavelet level denoise
* Change in mask curves L(L) by L C(C) by C
* Small change labels denoise to fit in width right panel
* Others changes to GUi and labels to fit in right panel
* First change tooltips and french
* Second change tooltips
* Change tooltip mask denoise
Replaces the following deprecated Gtk classes throughout the codebase by their non-deprecated counterparts. Style, HBox, VBox, HPaned, VPaned, HScrollbar, VScrollbar, VSeparator, HSeparator, Stock, Table, VScale and HScale.