gimp/app/dialogs
Jehan d3458a82d0 Issue #7023: icon size selection on GIMP 2.99.
This kinda reverts commit 6aebd30de1 ("app: remove
icon sizing preferences"), except that the code base is different enough since
this old commit was mainly for GIMP 2.10.x.
In any case, after initially thinking that GTK+3 handling for high density
display would be enough, we finally decide that adding back a Preferences-wide
setting for overriding the theme-set icon size is a good idea (additionally to
GTK+3 automatic support).

The base idea for removing the feature was that GTK+3 has high density display
support, through the "scale factor". Typically a high density display will
normally be set as using a ×2 scale factor so all icons will be double size.
Unfortunately it turns out it's not enough.

For instance, on very small screen estate, even with a scale factor of 1, if the
theme sets 24px toolbox icons, it may still take too much space.
Oppositely on huge screens, even with ×2 factor scale detected by the OS, the
icons may still feel too small (this is possibly what happens with #7023).

Furthermore there is also a matter of taste. Some people like small icons even
when they have the space. Others may want bigger icons, easy to click on.

Finally you can like a theme for its color scheme for instance, but it may not
have the icon size you want. Right now, we'd need to duplicate every theme in
small or bigger size. Instead of doing so, let's just have this global setting
overriding the theme rules.

Comparison with the 2.10 implementation:

- We still provide 4 sizes: small, medium, large and huge.
- We don't have the "Guess ideal size" setting anymore. Instead this is now a
  mix of the GTK+3 scale factor logic and the theme-set or custom size. I.e.
  that on a high density display with ×2 scale factor, we could have toolbox
  icons up to 96 pixels (48×2)!
- We now try to have less custom code in widgets as we append the CSS rules to
  the theme (similar to what we were already doing for dark theme or icon
  variants). What happens in widget code is mostly to connect to changes in
  themes and redraw the widgets which need to be.
- The custom size will now affect: toolbox icons, the FG/BG editor widget (in
  both the toolbox and the color dockable), dockable tab icons, the main
  dockable buttons, eye and lock header icons in item tree views, eye and lock
  cell icons in the item lists.

There are still a bunch of areas where it is not taken into account, such as
plug-ins, and various dialogs, but even in custom-made interface in dockables.
Ultimately it might be interesting to have a way to sync more buttons and
widgets to a global size settings.

Lastly, I fixed a bunch of existing bugs where we were updating icon sizes with
gtk_image_set_from_icon_name() using the const icon name taken from
gtk_image_get_icon_name(). As this was reusing the same string pointer, we were
ending with freeing the icon name.
2022-09-28 21:11:58 +02:00
..
.gitignore Added .gitignore files generated with git svn create-ignore. 2009-01-31 11:37:44 +00:00
Makefile.am app: make welcome-dialog-data.[ch] deps relative to $(top_srcdir). 2022-03-06 11:53:14 +01:00
about-dialog.c Issue #8520: show devel download link when relevant. 2022-08-31 13:13:27 +02:00
about-dialog.h app: show new version availability in About dialog. 2019-12-29 10:36:12 +01:00
action-search-dialog.c app: GimpAction now has a "reason" parameter to explain being disabled. 2021-04-23 19:43:30 +02:00
action-search-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
authors.xsl app: update/fix the About's authors.xsl. 2022-02-19 16:02:14 +01:00
channel-options-dialog.c app, libgimpwidgets: move GimpSpinScale to libgimpwidgets. 2022-02-17 23:13:42 +01:00
channel-options-dialog.h app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
color-profile-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
color-profile-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
color-profile-import-dialog.c app: fix some RGB/sRGB mixup in 2 labels. 2020-12-19 21:43:09 +01:00
color-profile-import-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
convert-indexed-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
convert-indexed-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
convert-precision-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
convert-precision-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
data-delete-dialog.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
data-delete-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dialogs-constructors.c Converting CMYK sample points to babl process 2022-07-20 22:35:13 +00:00
dialogs-constructors.h app: new welcome dialog to appear only at first launch after a new… 2022-02-22 12:23:46 +01:00
dialogs-types.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
dialogs.c Issue #1918: fix CRITICAL in MWM when reopening close dock while… 2022-07-27 10:59:31 +02:00
dialogs.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
extensions-dialog.c app: do not show close button to extensions dialog. 2018-07-19 12:56:49 +02:00
extensions-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
file-open-dialog.c Issue #8010: Help button in File Open dialog closes dialog and opens… 2022-03-25 15:51:50 +01:00
file-open-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
file-open-location-dialog.c Remove the second "raw-filename"/"raw-uri" parameter from file procedures 2019-09-11 00:21:03 +02:00
file-open-location-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
file-save-dialog.c Issue #8010: Help button in File Open dialog closes dialog and opens… 2022-03-25 15:51:50 +01:00
file-save-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
fill-dialog.c app: Selection fill and "Fill Path" now multi-layer aware. 2020-08-01 13:12:21 +02:00
fill-dialog.h app: Selection fill and "Fill Path" now multi-layer aware. 2020-08-01 13:12:21 +02:00
grid-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
grid-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
image-merge-layers-dialog.c app, pdb: layers-merge-layers* and image-merge-layers multi-layer aware. 2020-05-17 18:57:32 +02:00
image-merge-layers-dialog.h app: merge layers in chunks, and show progress 2019-02-25 05:10:50 -05:00
image-new-dialog.c app: set "OK" the default button to the "Create a New Image" dialog. 2021-05-20 20:45:28 +02:00
image-new-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
image-properties-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
image-properties-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
image-scale-dialog.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
image-scale-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
input-devices-dialog.c app: Input Devices "Reset" button should actually reset to defaults. 2020-06-13 20:36:37 +02:00
input-devices-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
item-options-dialog.c app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
item-options-dialog.h app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
keyboard-shortcuts-dialog.c app, libgimpwidgets: return visible widgets from all gimp_prop_foo_new() 2019-09-25 20:24:06 +02:00
keyboard-shortcuts-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
layer-add-mask-dialog.c app, pdb: get rid of various gimp_image_get_active_channel(). 2021-12-23 12:55:11 +01:00
layer-add-mask-dialog.h app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
layer-options-dialog.c app, libgimpwidgets: move GimpSpinScale to libgimpwidgets. 2022-02-17 23:13:42 +01:00
layer-options-dialog.h app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
lebl-dialog.c app: fix a super secret segfault 2020-01-30 18:28:48 +02:00
lebl-dialog.h Change a bazillion URLs to https:// 2018-07-14 14:19:27 +02:00
meson.build meson: fix warnings of deprecated features. 2022-08-31 01:29:37 +02:00
metadata-rotation-import-dialog.c app, libgimp, plug-ins: move Orientation metadata handling into core. 2020-09-24 12:43:41 +02:00
metadata-rotation-import-dialog.h app, libgimp, plug-ins: move Orientation metadata handling into core. 2020-09-24 12:43:41 +02:00
module-dialog.c libgimpmodule: clean up GimpModule and GimpModuleDB 2019-09-13 13:11:23 +02:00
module-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
palette-import-dialog.c app, libgimpwidgets, modules, plug-ins: code changes after GimpScaleEntry… 2020-11-05 18:06:52 +01:00
palette-import-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
preferences-dialog-utils.c propwidget: Add gimp_prop_switch_new() 2020-08-22 23:53:49 +00:00
preferences-dialog-utils.h propwidget: Add gimp_prop_switch_new() 2020-08-22 23:53:49 +00:00
preferences-dialog.c Issue #7023: icon size selection on GIMP 2.99. 2022-09-28 21:11:58 +02:00
preferences-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
print-size-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
print-size-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
quit-dialog.c quit-dialog: stops crashing on quit dialog 2022-07-06 12:54:04 +00:00
quit-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
resize-dialog.c Issue #6843: "Canvas Size" dialog takes too much vertical space. 2021-08-22 18:21:37 +02:00
resize-dialog.h gui: Add pixel density selector to canvas size dialog ... 2021-04-08 22:09:26 +06:00
resolution-calibrate-dialog.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
resolution-calibrate-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
scale-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
scale-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
stroke-dialog.c app: selection stroke and "Stroke Path" now multi-layer aware. 2020-08-01 14:02:24 +02:00
stroke-dialog.h app: selection stroke and "Stroke Path" now multi-layer aware. 2020-08-01 14:02:24 +02:00
template-options-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
template-options-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tips-dialog.c Change a bazillion URLs to https:// 2018-07-14 14:19:27 +02:00
tips-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tips-parser.c Use "Returns:" to annotate return values 2019-08-03 07:53:47 +00:00
tips-parser.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
user-install-dialog.c app: config folder migration update for GIMP 3. 2021-08-23 13:37:11 +02:00
user-install-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
vectors-export-dialog.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
vectors-export-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
vectors-import-dialog.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
vectors-import-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
vectors-options-dialog.c app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
vectors-options-dialog.h app: remove the "Linked" switch from the item options dialog. 2021-12-23 13:39:42 +01:00
welcome-dialog.c app, tools: pre-process release items from AppStream as well. 2022-03-08 16:32:58 +01:00
welcome-dialog.h app: new welcome dialog to appear only at first launch after a new… 2022-02-22 12:23:46 +01:00