[gimp] app: tweak the tool pointers options in Preferences.



commit 365478f24d8bcd38f608dbf341b85f572db8d560
Author: Jehan <jehan girinstud io>
Date:   Sun Mar 13 00:12:29 2022 +0100

    app: tweak the tool pointers options in Preferences.
    
    - Rename "Mouse Pointers" frame to just "Pointers". It's not just about
      mice but all input devices.
    - Move the "Pointers" options from "Image Windows" to "Input Devices"
      tab in Preferences. It looks to me it's more about how you configure
      the device pointers than anything really image window-related.
    - Move the paint tool options in their own frame "Paint Tools" to really
      differentiate the generic pointer options from the ones specific to
      paint tools. This frame is added side by side to the "Pointers" frame
      to hopefully underline they are related.
    
    I'm still annoyed by the fact that if you uncheck both the "Show brush
    outline" and the "Show pointers for paint tools", it will actually show
    a big crosshair in such case. I can understand the logic (not to end up
    in a case with absolutely no indication of your pointer position). But
    then shouldn't we rather forbid unchecking them both at once? It would
    be clearer IMO. On the other hand, are they people who like this big
    crosshair and use this?
    
    Other thing I was annoyed about was whether you would not want to have
    the "Single dot" only on paint tools. But as Aryeom told me, maybe let's
    just try it like this and see if people ask for a double option (pointer
    on paint tools vs. pointer on other tools) as it is already very
    complicated settings as it is. I mean, at some point, I even thought
    about a per-device pointer. I also studied the possibility of detecting
    whether you are on a display-tablet (when you are more likely to want an
    unobtrusive pointer) or not (then you may be very annoyed each time you
    can't even spot easily your pointer on screen). But GTK doesn't give
    this later information, and as Carlos reminded me, even a display-tablet
    can be mapped to another display, so even if we could detect a
    display-tablet, it would not mean it is reliable information for making
    a decision on whether we want a light pointer.

 app/dialogs/preferences-dialog.c | 70 ++++++++++++++++++++++------------------
 1 file changed, 39 insertions(+), 31 deletions(-)
---
diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c
index befabb40bb..f83be9ab06 100644
--- a/app/dialogs/preferences-dialog.c
+++ b/app/dialogs/preferences-dialog.c
@@ -2943,37 +2943,6 @@ prefs_dialog_new (Gimp       *gimp,
                             _("_While space bar is pressed:"),
                             GTK_GRID (grid), 0, size_group);
 
-  /*  Mouse Pointers  */
-  vbox2 = prefs_frame_new (_("Mouse Pointers"),
-                           GTK_CONTAINER (vbox), FALSE);
-
-  button = prefs_check_button_add (object, "show-brush-outline",
-                                   _("Show _brush outline"),
-                                   GTK_BOX (vbox2));
-
-  vbox3 = prefs_frame_new (NULL, GTK_CONTAINER (vbox2), FALSE);
-  g_object_bind_property (button, "active",
-                          vbox3,  "sensitive",
-                          G_BINDING_SYNC_CREATE);
-  prefs_check_button_add (object, "snap-brush-outline",
-                          _("S_nap brush outline to stroke"),
-                          GTK_BOX (vbox3));
-
-  prefs_check_button_add (object, "show-paint-tool-cursor",
-                          _("Show pointer for paint _tools"),
-                          GTK_BOX (vbox2));
-
-  grid = prefs_grid_new (GTK_CONTAINER (vbox2));
-
-  prefs_enum_combo_box_add (object, "cursor-mode", 0, 0,
-                            _("Pointer _mode:"),
-                            GTK_GRID (grid), 0, size_group);
-  prefs_enum_combo_box_add (object, "cursor-handedness", 0, 0,
-                            _("Pointer _handedness:"),
-                            GTK_GRID (grid), 1, NULL);
-
-  g_clear_object (&size_group);
-
 
   /********************************/
   /*  Image Windows / Appearance  */
@@ -3173,6 +3142,45 @@ prefs_dialog_new (Gimp       *gimp,
                                   NULL,
                                   &top_iter);
 
+  /*  Mouse Pointers  */
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+  gtk_widget_set_halign (hbox, GTK_ALIGN_START);
+  gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+  gtk_widget_show (hbox);
+
+  vbox2 = prefs_frame_new (_("Pointers"),
+                           GTK_CONTAINER (hbox), FALSE);
+
+  grid = prefs_grid_new (GTK_CONTAINER (vbox2));
+
+  size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+  prefs_enum_combo_box_add (object, "cursor-mode", 0, 0,
+                            _("Pointer _mode:"),
+                            GTK_GRID (grid), 0, size_group);
+  prefs_enum_combo_box_add (object, "cursor-handedness", 0, 0,
+                            _("Pointer _handedness:"),
+                            GTK_GRID (grid), 1, size_group);
+  g_clear_object (&size_group);
+
+  vbox2 = prefs_frame_new (_("Paint Tools"),
+                           GTK_CONTAINER (hbox), FALSE);
+
+  button = prefs_check_button_add (object, "show-brush-outline",
+                                   _("Show _brush outline"),
+                                   GTK_BOX (vbox2));
+
+  vbox3 = prefs_frame_new (NULL, GTK_CONTAINER (vbox2), FALSE);
+  g_object_bind_property (button, "active",
+                          vbox3,  "sensitive",
+                          G_BINDING_SYNC_CREATE);
+  prefs_check_button_add (object, "snap-brush-outline",
+                          _("S_nap brush outline to stroke"),
+                          GTK_BOX (vbox3));
+
+  prefs_check_button_add (object, "show-paint-tool-cursor",
+                          _("Show pointer for paint _tools"),
+                          GTK_BOX (vbox2));
+
   /*  Extended Input Devices  */
   vbox2 = prefs_frame_new (_("Extended Input Devices"),
                            GTK_CONTAINER (vbox), FALSE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]