261 Commits

Author SHA1 Message Date
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
Pandagrapher
f7c25b18af Merge with 'Beep6581/dev' 2023-04-29 11:24:55 +02: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
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
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
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
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
Thanatomanic
d2cd5f21c9
GUI changes: more distinct on/off modules, various CSS and GUI tweaks for further future modifications
Collection of CSS and GUI improvements, cleanup of main CSS theme, introduction of highlight for enabled module. 

Primary change is the modification of the module titles to better distinguish modules that are on or off. The text of a disabled module is now less bright, the corresponding icon is a slightly smaller version of the power icon. When activating the module, the text turns brighter and the icon slightly bigger and also brighter. Thanks to @TechXavAL for the icon work.

Secondary changes are related to the margins around several GUI elements, padding within elements and some accompanying borders. These changes hopefully make it easier to distinguish the various (sometimes crowded) GUI elements of modules. The panels have gotten a slightly 'outset' look.

Nested panels have a changed look where deeper nesting increases the background brightness slightly, instead of darkening it (old behaviour). This  is done without a strong decrease in contrast.

The old theme is available as a legacy option. Due to hardcoded GUI changes needed for the new theme, the legacy version is not a 100% exact replicate. The @TooWaBoo theme's may also be slightly affected.
2020-12-27 15:31:39 +01:00
Lawrence Lee
1a5456dbd1 Implement RGB parade 2020-09-26 11:54:05 -07: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
Flössie
c5ace05df8 Merge branch 'dev' into waveform 2020-08-16 10:08:28 +02: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
Ingo Weyrich
a5c7713042 Cleanup: removed unused function; also murder instead of call for suicide (delete this) 2020-08-13 13:10:33 +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
Pandagrapher
cca6b09768 Merge remote-tracking branch 'dev/newlocallab' into newlocallab 2020-04-20 12:54:09 +02:00