281 Commits

Author SHA1 Message Date
Lawrence37
98752a2433
Merge pull request #7257 from Beep6581/fix-warnings-5.12
Compiler warning fixes
2024-12-26 22:26:11 -08:00
Lawrence Lee
29a344aef1
Fix some more compiler warnings 2024-11-18 23:42:33 -08:00
Daniel Gao
711f274403 Get rid of relative include paths
* 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
2024-11-16 17:20:02 -05:00
Pandagrapher
990e9c70a5 Merge with 'Beep6581/dev' 2023-09-05 09:48:43 +02:00
Lawrence Lee
0fdac3797a
Merge branch 'dev' into browser-preview-applied-pparams 2023-08-29 22:58:51 -07:00
Pandagrapher
b57d1026a3 Merge with 'Beep6581/dev' 2023-08-24 13:48:07 +02:00
Stephen Shkardoon
23f2a2fc9f Use _WIN32 instead of WIN32 to detect Windows
`WIN32` is not defined when building a 64-bit executable on Windows with Clang. `_WIN32` is the more appropriate option here.
http://web.archive.org/web/20191012035921/http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system contains a handy table/matrix of the options and why this is best.
2023-08-13 17:09:49 +12:00
Lawrence Lee
7eb7fb210f
Merge branch 'dev' into metadata-exiv2 2023-08-12 15:08:42 -07:00
Pandagrapher
5b2dc59fbf Fix incorrect icon names
- Some icon names still had file extension indicated in their names
- This commit also enable icon name debug messages on console
2023-08-12 18:20:27 +02:00
Pandagrapher
d0743ef359 Merge with 'Beep6581/dev' 2023-08-12 18:03:41 +02:00
Lawrence Lee
c82369843e
Show icon in external editor button when disabled 2023-08-05 10:11:54 -07:00
Lawrence Lee
7ad414aa63
Fix macOS external editor app chooser popping up 2023-08-04 22:32:39 -07:00
Lawrence Lee
a626bdae3e
Fix external editor on macOS
Avoid using Gio::AppInfo.
2023-07-31 22:57:57 -07:00
Lawrence Lee
6787c53c9b
Show black level adjustments in file browser
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.
2023-07-29 17:37:13 -07:00
Pandagrapher
f7c25b18af Merge with 'Beep6581/dev' 2023-04-29 11:24:55 +02:00
Lawrence Lee
1f8e2aaf55
Merge branch 'dev' into metadata-exiv2 2023-04-19 21:14:54 -07:00
Lawrence Lee
19f12f3182
Allow native commands as external editors
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).
2023-04-08 18:16:23 -07:00
Lawrence Lee
20e78068cd
Merge branch 'dev' into metadata-exiv2 2023-03-17 22:16:17 -07:00
Pandagrapher
c28d5aab97 Merge with "Beep6581/dev" 2023-03-11 11:02:29 +01:00
Flössie
a07c38f405 Support for saving TIFFs as BigTIFF (#6690) 2023-03-01 12:47:55 +01:00
Lawrence Lee
e3c7fd42e9
Merge branch 'dev' into metadata-exiv2 2023-02-15 22:28:18 -08:00
Lawrence Lee
3833c6e634
Merge branch 'dev' into metadata-exiv2 2023-02-05 12:29:58 -08:00
Lawrence Lee
2982f02328
Merge branch 'dev' into favorites-gui 2023-02-03 21:58:34 -08:00
Lawrence Lee
22edf5f069
Add radio indicator to external editor selector
Make it easier to see that the selector is for changing the current
editor and not for immediately sending the image to the clicked-on
editor.
2023-01-15 15:10:54 -08:00
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
Lawrence37
5b4cf1a040
Merge branch 'dev' into multi-external-editor 2022-12-11 12:11:16 -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
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
Pandagrapher
89d2bdce5b Initial commit for real hidpi support
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
2022-08-19 16:47:28 +02:00
Lawrence Lee
329341f89f
Replace Gtk::make_managed() with Gtk::manage()
Maintain compatibility with gtkmm 3.16.
2022-03-05 18:36:28 -08:00
Lawrence Lee
f8a1deb371 Add option to clone favorite tools
If cloning is enabled, favorite tools will appear in the favorites panel
and in the original location.
2021-12-09 21:27:39 -08:00
Lawrence Lee
778b26d5bd Make tool locations dynamic
Update tool locations after changing favorite tools preferences.
2021-12-05 17:21:46 -08:00
Lawrence Lee
d3b67c1e22 Fix empty dialog messages
Escape ampersands and angle brackets in some Gtk::MessageDialogs.
Closes #6306.
2021-08-15 12:23:29 -07:00
Lawrence Lee
672d6302f3 Fix storage of external editor icons
De-serialize and serialize icons instead of using their names.
2021-08-14 17:11:07 -07:00
Lawrence Lee
d3e524a491 Fix crash when adding an external editor
On some platforms, the app chooser dialog causes a crash after selecting
an application. The application information returned by the dialog may
also trigger crashes when accessed. See
https://gitlab.gnome.org/GNOME/glib/-/issues/1104 and
https://gitlab.gnome.org/GNOME/glibmm/-/issues/94. This commit overrides
gtkmm's app chooser dialog to work around these bugs.
2021-08-14 16:05:11 -07:00
Lawrence Lee
9423ebc97c Fix crash when changing external editors
Initialize a pointer to nullptr.
2021-08-14 11:32:25 -07:00
Lawrence Lee
db7d56c253 Synchronize send to external editor buttons
Keep all buttons updated when using a multiple editor tabs mode.
2021-07-25 17:45:20 -07:00
Lawrence Lee
a0711ebc8c Fix tmp image reuse when exporting different image
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.
2021-07-25 16:03:13 -07:00
Flössie
b6449bfd5f Escape HTML chars in camera/lens name in quick info box (fixes #6294) 2021-06-30 09:18:06 +02:00
Lawrence Lee
72fe8d6049 Merge dev into multi-external-editor 2021-06-28 22:03:14 -07:00
Desmis
eb8f121709
Add ability to export to an external editor within the same folder as the original file - issue 6195 (#6232)
* 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>
2021-05-13 12:41:22 +02:00
Pandagrapher
1c9d1f522c Locallab - Fix bad syntax in LocallabParamsEdited vector resize 2021-05-07 18:47:14 +02:00
Thanatomanic
ae754b2492 Merge branch 'dev' into metadata-exiv2 2021-04-27 09:59:52 +02:00
Lawrence Lee
d9fe87569d Cache most recent send-to-editor temp file
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.
2021-04-18 17:23:40 -07:00
Lawrence Lee
927e9500ff Change GUI to support multiple external 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.
2021-04-17 12:55:17 -07:00
Desmis
128de03aed
Local adjustemnts - adapt various parameters to fit labels in right tool panel issue #6153 (#6160)
* 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
2021-04-02 07:36:42 +02:00
Thanatomanic
a6a368e682 Allow resizing of navigator window. Patch by @Lawrence37. Fixes #6052 2021-02-27 08:03:36 +01:00
Thanatomanic
fc031ccb5a
Remove deprecated GTK3 code, fixes #6103 (#6113)
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.
2021-02-17 11:44:25 +01:00