82 Commits

Author SHA1 Message Date
Lawrence Lee
0fdac3797a
Merge branch 'dev' into browser-preview-applied-pparams 2023-08-29 22:58:51 -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
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
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
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
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
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
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
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
Flössie
97c7794a5a Turn Options::ScopeType into a scoped enum :)
Also remove global `using ...` from header file.
2020-09-14 09:44:29 +02:00
Lawrence Lee
c03efe4878 Add dedicated buttons for scope switching
Previously, changing to a different scope was done by clicking the scope
type button and cycling through all scopes. This commit decreases the
number of clicks needed to switch between two scopes by adding a radio
selector. The radio buttons can be shown or hidden by pressing the scope
type button. This commit also makes the raw histogram one of the scope
types.
2020-09-12 17:52:24 -07:00
Lawrence Lee
b2942fd949 Improve performance of scopes
If a scope update is requested, don't recalculate scope data if it is
already up-to-date.

Eliminate double and triple scope rendering.
2020-08-28 22:33:52 -07:00
Ingo Weyrich
e67b02da8b further cleanups 2020-08-15 22:36:10 +02:00
Ingo Weyrich
07d26c16ed ImProcCoordinator::updateVectorscope(): fix crash caused by large stack allocation, speedup, fixed scaling from [0;255] to [0;65535] range 2020-08-15 17:35:24 +02:00
Lawrence Lee
6cd87ad975 Use array2D for waveform and vectorscopes 2020-08-09 16:49:28 -07:00
Lawrence Lee
9382306fed Add CIELAB lightness to waveform 2020-08-05 11:57:34 -07:00
Lawrence Lee
fbe73614c3 Add H-S and H-C vectorscopes 2020-08-03 18:23:25 -07:00
Lawrence Lee
6df69b3786 Improve performance of histogram/waveform updates
Only perform calculations for the currently shown scope.
Cache the waveform so it can be reused when the scope is resized.
Increase speed of waveform rendering.
2020-07-26 13:27:17 -07:00
Lawrence Lee
4cbd622569 Add initial implementation of waveform 2020-07-21 22:45:10 -07:00
Pandagrapher
bb95dd7a1b Improves Locallab tools advice tooltips management
Other:
- GUI widgets cleanup
2020-05-08 12:34:10 +02:00
Ingo Weyrich
04b08741ee Further cleanups 2019-11-27 18:55:20 +01:00
Ingo Weyrich
587652283d further reduction of include dependencies, also finalised some classes 2019-11-09 16:51:54 +01:00
Ingo Weyrich
b3b1008270 Further reduction of include dependencies 2019-11-02 17:29:26 +01:00
Ingo Weyrich
afeca7f5f9 Fix lgtm issues 2019-11-02 00:18:48 +01:00
Ingo Weyrich
c1f9120ef4 Further reduction of include dependencies 2019-11-01 21:20:52 +01:00
Flössie
add5c790d6 #pragma once for our headers plus drive-by formatting 2019-10-31 10:20:50 +01:00
Morgan Hardwood
60b2196bce Updated gnu.org links to use HTTPS 2019-09-10 12:34:57 +02:00
Ingo Weyrich
46cbb652d5 cppcheck: further fixes 2019-08-01 14:02:38 +02:00
heckflosse
831e18ca45 Add override keyword. Thanks @Floessie 2018-11-22 16:19:16 +01:00
Flössie
2125f42116 Turn almost all Listeners into abstract interfaces 2018-10-09 20:32:40 +02:00
heckflosse
78989731f5 Always use icons for tab headers, #4772 2018-09-18 11:37:15 +02:00
Thanatomanic
9e735b2640 Big update: 1) implemented scalable histogram (TooWaBoo's CSS untested but probably unnecessary now); 2) reverted graphical changes; 3) gridlines now multiply based on height and width; 4) removed cube-scaling; 5) implementend double-log scaling as the third alternative based on suggestion by @iliasg 2018-06-17 10:01:16 +02:00
Hombre
157da7f9ba Merge branch 'dev' into tiff32float 2017-12-20 00:21:23 +01:00
Oleg Koncevoy
d6037a880e Moved histogramProfile_toggled() to EditorPanel private section.
modified:   rtgui/editorpanel.h
2017-12-08 09:59:46 +02:00
Oleg Koncevoy
4c76c7456f Added a histogram profile settings toggle button. Now working histogram profile can be changed without entering the preferences window.
modified:   ../rtgui/editorpanel.cc
	modified:   ../rtgui/editorpanel.h
2017-11-27 17:12:21 +02:00
Alberto Griggio
bc8b8902e6 make rtengine::processImage return an Imagefloat instead of an Image16
This is for supporting saving to 32-bit float TIFFs
2017-11-20 00:10:51 +01:00
Hombre57
e97c7cad2c Bugfix: when 'off', "Show all" only shew the first frame
The QuickInfo panel now reflect the selected subframe's metadata
See #4008
2017-09-28 00:25:23 +02:00
heckflosse
14378f39af Finally fixes #2494 2017-09-16 12:37:58 +02:00
heckflosse
91fd578f49 Write PP3 before processing image, not after. Hopefully fixes #2494 2017-09-15 22:09:45 +02:00
Alberto Griggio
f70ba32c9d run through astyle 2017-08-22 08:48:33 +02:00
Alberto Griggio
610f3e4853 added option to manually save the collapsed/expanded state of tools 2017-08-21 18:42:15 +02:00
heckflosse
aecfaa2631 In MEOW mode size of toolpanel has to depend on size of MEOW window instead on size of main rt window 2017-07-07 21:00:31 +02:00
Alberto Griggio
6b28671c41 some code style fixes 2017-06-19 13:49:14 +02:00