[gimp] Bug 741200 - paint options spacing differs from brush spacing



commit b0dbb2edf28fba18d53e019ac59eada1bf98ccb4
Author: Alexia Death <alexiadeath gmail com>
Date:   Tue Jan 6 01:30:35 2015 +0200

    Bug 741200 - paint options spacing differs from brush spacing
    
    Add "link" buttons to the tool options that are duplicates of brush
    properties, so the tool options values can be set to change along with
    the current brush.

 app/paint/gimppaintoptions.c     |  198 +++++++++++++++++++++++++++++++-------
 app/paint/gimppaintoptions.h     |    6 +
 app/tools/gimppaintoptions-gui.c |  132 ++++++++++++++++---------
 3 files changed, 255 insertions(+), 81 deletions(-)
---
diff --git a/app/paint/gimppaintoptions.c b/app/paint/gimppaintoptions.c
index 14211a5..86a5364 100644
--- a/app/paint/gimppaintoptions.c
+++ b/app/paint/gimppaintoptions.c
@@ -39,40 +39,45 @@
 #include "gimp-intl.h"
 
 
-#define DEFAULT_BRUSH_SIZE             20.0
-#define DEFAULT_BRUSH_ZOOM             FALSE
+#define DEFAULT_BRUSH_SIZE              20.0
+#define DEFAULT_BRUSH_ZOOM              FALSE
 
-#define DEFAULT_BRUSH_ASPECT_RATIO     0.0
-#define DEFAULT_BRUSH_ANGLE            0.0
-#define DEFAULT_BRUSH_SPACING          0.1
+#define DEFAULT_BRUSH_ASPECT_RATIO      0.0
+#define DEFAULT_BRUSH_ANGLE             0.0
+#define DEFAULT_BRUSH_SPACING           0.1
 
-#define DEFAULT_BRUSH_HARDNESS         1.0 /* Generated brushes have their own */
-#define DEFAULT_BRUSH_FORCE            0.5
+#define DEFAULT_BRUSH_HARDNESS          1.0 /* Generated brushes have their own */
+#define DEFAULT_BRUSH_FORCE             0.5
 
-#define DEFAULT_APPLICATION_MODE       GIMP_PAINT_CONSTANT
-#define DEFAULT_HARD                   FALSE
+#define DEFAULT_APPLICATION_MODE        GIMP_PAINT_CONSTANT
+#define DEFAULT_HARD                    FALSE
 
-#define DEFAULT_USE_JITTER             FALSE
-#define DEFAULT_JITTER_AMOUNT          0.2
+#define DEFAULT_USE_JITTER              FALSE
+#define DEFAULT_JITTER_AMOUNT           0.2
 
-#define DEFAULT_DYNAMICS_EXPANDED      FALSE
+#define DEFAULT_DYNAMICS_EXPANDED       FALSE
 
-#define DEFAULT_FADE_LENGTH            100.0
-#define DEFAULT_FADE_REVERSE           FALSE
-#define DEFAULT_FADE_REPEAT            GIMP_REPEAT_NONE
-#define DEFAULT_FADE_UNIT              GIMP_UNIT_PIXEL
+#define DEFAULT_FADE_LENGTH             100.0
+#define DEFAULT_FADE_REVERSE            FALSE
+#define DEFAULT_FADE_REPEAT             GIMP_REPEAT_NONE
+#define DEFAULT_FADE_UNIT               GIMP_UNIT_PIXEL
 
-#define DEFAULT_GRADIENT_REVERSE       FALSE
-#define DEFAULT_GRADIENT_REPEAT        GIMP_REPEAT_TRIANGULAR
-#define DEFAULT_GRADIENT_LENGTH        100.0
-#define DEFAULT_GRADIENT_UNIT          GIMP_UNIT_PIXEL
+#define DEFAULT_GRADIENT_REVERSE        FALSE
+#define DEFAULT_GRADIENT_REPEAT         GIMP_REPEAT_TRIANGULAR
+#define DEFAULT_GRADIENT_LENGTH         100.0
+#define DEFAULT_GRADIENT_UNIT           GIMP_UNIT_PIXEL
 
-#define DYNAMIC_MAX_VALUE              1.0
-#define DYNAMIC_MIN_VALUE              0.0
+#define DYNAMIC_MAX_VALUE               1.0
+#define DYNAMIC_MIN_VALUE               0.0
 
-#define DEFAULT_SMOOTHING_QUALITY      20
-#define DEFAULT_SMOOTHING_FACTOR       50
+#define DEFAULT_SMOOTHING_QUALITY       20
+#define DEFAULT_SMOOTHING_FACTOR        50
 
+#define DEFAULT_BRUSH_LINK_SIZE         TRUE
+#define DEFAULT_BRUSH_LINK_ASPECT_RATIO TRUE
+#define DEFAULT_BRUSH_LINK_ANGLE        TRUE
+#define DEFAULT_BRUSH_LINK_SPACING      TRUE
+#define DEFAULT_BRUSH_LINK_HARDNESS     TRUE
 
 enum
 {
@@ -116,7 +121,13 @@ enum
 
   PROP_USE_SMOOTHING,
   PROP_SMOOTHING_QUALITY,
-  PROP_SMOOTHING_FACTOR
+  PROP_SMOOTHING_FACTOR,
+
+  PROP_BRUSH_LINK_SIZE,
+  PROP_BRUSH_LINK_ASPECT_RATIO,
+  PROP_BRUSH_LINK_ANGLE,
+  PROP_BRUSH_LINK_SPACING,
+  PROP_BRUSH_LINK_HARDNESS
 };
 
 
@@ -130,6 +141,8 @@ static void    gimp_paint_options_get_property     (GObject      *object,
                                                     guint         property_id,
                                                     GValue       *value,
                                                     GParamSpec   *pspec);
+static void    gimp_paint_options_brush_changed    (GimpContext  *context,
+                                                    GimpBrush    *brush);
 
 
 
@@ -141,12 +154,15 @@ G_DEFINE_TYPE (GimpPaintOptions, gimp_paint_options, GIMP_TYPE_TOOL_OPTIONS)
 static void
 gimp_paint_options_class_init (GimpPaintOptionsClass *klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  GObjectClass     *object_class  = G_OBJECT_CLASS (klass);
+  GimpContextClass *context_class = GIMP_CONTEXT_CLASS (klass);
+
+  object_class->dispose        = gimp_paint_options_dispose;
+  object_class->finalize       = gimp_paint_options_finalize;
+  object_class->set_property   = gimp_paint_options_set_property;
+  object_class->get_property   = gimp_paint_options_get_property;
 
-  object_class->dispose      = gimp_paint_options_dispose;
-  object_class->finalize     = gimp_paint_options_finalize;
-  object_class->set_property = gimp_paint_options_set_property;
-  object_class->get_property = gimp_paint_options_get_property;
+  context_class->brush_changed = gimp_paint_options_brush_changed;
 
   g_object_class_install_property (object_class, PROP_PAINT_INFO,
                                    g_param_spec_object ("paint-info",
@@ -197,6 +213,36 @@ gimp_paint_options_class_init (GimpPaintOptionsClass *klass)
                                    0.0, 1.0, DEFAULT_BRUSH_FORCE,
                                    GIMP_PARAM_STATIC_STRINGS);
 
+  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_BRUSH_LINK_SIZE,
+                                    "brush-link-size",
+                                    _("Link brush size to brush native"),
+                                    DEFAULT_BRUSH_LINK_SIZE,
+                                    GIMP_PARAM_STATIC_STRINGS);
+
+  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_BRUSH_LINK_ASPECT_RATIO,
+                                    "brush-link-aspect-ratio",
+                                    _("Link brush aspect ratio to brush native"),
+                                    DEFAULT_BRUSH_LINK_ASPECT_RATIO,
+                                    GIMP_PARAM_STATIC_STRINGS);
+
+  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_BRUSH_LINK_ANGLE,
+                                    "brush-link-angle",
+                                    _("Link brush angle to brush native"),
+                                    DEFAULT_BRUSH_LINK_ANGLE,
+                                    GIMP_PARAM_STATIC_STRINGS);
+
+  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_BRUSH_LINK_SPACING,
+                                    "brush-link-spacing",
+                                    _("Link brush spacing to brush native"),
+                                    DEFAULT_BRUSH_LINK_SPACING,
+                                    GIMP_PARAM_STATIC_STRINGS);
+
+  GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_BRUSH_LINK_HARDNESS,
+                                    "brush-link-hardness",
+                                    _("Link brush hardness to brush native"),
+                                    DEFAULT_BRUSH_LINK_HARDNESS,
+                                    GIMP_PARAM_STATIC_STRINGS);
+
   GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_APPLICATION_MODE,
                                  "application-mode", _("Every stamp has its own opacity"),
                                  GIMP_TYPE_PAINT_APPLICATION_MODE,
@@ -355,10 +401,10 @@ gimp_paint_options_set_property (GObject      *object,
                                  const GValue *value,
                                  GParamSpec   *pspec)
 {
-  GimpPaintOptions    *options            = GIMP_PAINT_OPTIONS (object);
-  GimpFadeOptions     *fade_options       = options->fade_options;
-  GimpJitterOptions   *jitter_options     = options->jitter_options;
-  GimpGradientOptions *gradient_options   = options->gradient_options;
+  GimpPaintOptions     *options           = GIMP_PAINT_OPTIONS (object);
+  GimpFadeOptions      *fade_options      = options->fade_options;
+  GimpJitterOptions    *jitter_options    = options->jitter_options;
+  GimpGradientOptions  *gradient_options  = options->gradient_options;
   GimpSmoothingOptions *smoothing_options = options->smoothing_options;
 
   switch (property_id)
@@ -399,6 +445,26 @@ gimp_paint_options_set_property (GObject      *object,
       options->brush_force = g_value_get_double (value);
       break;
 
+    case PROP_BRUSH_LINK_SIZE:
+      options->brush_link_size = g_value_get_boolean (value);
+      break;
+
+    case PROP_BRUSH_LINK_ASPECT_RATIO:
+      options->brush_link_aspect_ratio = g_value_get_boolean (value);
+      break;
+
+    case PROP_BRUSH_LINK_ANGLE:
+      options->brush_link_angle = g_value_get_boolean (value);
+      break;
+
+    case PROP_BRUSH_LINK_SPACING:
+      options->brush_link_spacing = g_value_get_boolean (value);
+      break;
+
+    case PROP_BRUSH_LINK_HARDNESS:
+      options->brush_link_hardness = g_value_get_boolean (value);
+      break;
+
     case PROP_APPLICATION_MODE:
       options->application_mode = g_value_get_enum (value);
       break;
@@ -539,6 +605,26 @@ gimp_paint_options_get_property (GObject    *object,
       g_value_set_double (value, options->brush_force);
       break;
 
+    case PROP_BRUSH_LINK_SIZE:
+      g_value_set_boolean (value, options->brush_link_size);
+      break;
+
+    case PROP_BRUSH_LINK_ASPECT_RATIO:
+      g_value_set_boolean (value, options->brush_link_aspect_ratio);
+      break;
+
+    case PROP_BRUSH_LINK_ANGLE:
+      g_value_set_boolean (value, options->brush_link_angle);
+      break;
+
+    case PROP_BRUSH_LINK_SPACING:
+      g_value_set_boolean (value, options->brush_link_spacing);
+      break;
+
+    case PROP_BRUSH_LINK_HARDNESS:
+      g_value_set_boolean (value, options->brush_link_hardness);
+      break;
+
     case PROP_APPLICATION_MODE:
       g_value_set_enum (value, options->application_mode);
       break;
@@ -629,6 +715,34 @@ gimp_paint_options_get_property (GObject    *object,
     }
 }
 
+static void
+gimp_paint_options_brush_changed (GimpContext *context,
+                                  GimpBrush   *brush)
+{
+  GimpPaintOptions *options = GIMP_PAINT_OPTIONS (context);
+
+  if (GIMP_IS_BRUSH (brush))
+    {
+      if (options->brush_link_size)
+        gimp_paint_options_set_default_brush_size (options, brush);
+
+      if (options->brush_link_aspect_ratio)
+        g_object_set (options,
+                      "brush-aspect-ratio", 0.0,
+                      NULL);
+
+      if (options->brush_link_angle)
+        g_object_set (options,
+                      "brush-angle", 0.0,
+                      NULL);
+
+      if (options->brush_link_spacing)
+        gimp_paint_options_set_default_brush_spacing (options, brush);
+
+      if (options->brush_link_hardness)
+        gimp_paint_options_set_default_brush_hardness (options, brush);
+    }
+}
 
 GimpPaintOptions *
 gimp_paint_options_new (GimpPaintInfo *paint_info)
@@ -876,6 +990,12 @@ gimp_paint_options_copy_brush_props (GimpPaintOptions *src,
   gdouble  brush_hardness;
   gdouble  brush_force;
 
+  gboolean brush_link_size;
+  gboolean brush_link_aspect_ratio;
+  gboolean brush_link_angle;
+  gboolean brush_link_spacing;
+  gboolean brush_link_hardness;
+
   g_return_if_fail (GIMP_IS_PAINT_OPTIONS (src));
   g_return_if_fail (GIMP_IS_PAINT_OPTIONS (dest));
 
@@ -887,6 +1007,11 @@ gimp_paint_options_copy_brush_props (GimpPaintOptions *src,
                 "brush-spacing", &brush_spacing,
                 "brush-hardness", &brush_hardness,
                 "brush-force", &brush_force,
+                "brush-link-size", &brush_link_size,
+                "brush-link-angle", &brush_link_angle,
+                "brush-link-aspect-ratio", &brush_link_aspect_ratio,
+                "brush-link-spacing", &brush_link_spacing,
+                "brush-link-hardness", &brush_link_hardness,
                 NULL);
 
   g_object_set (dest,
@@ -897,6 +1022,11 @@ gimp_paint_options_copy_brush_props (GimpPaintOptions *src,
                 "brush-spacing", brush_spacing,
                 "brush-hardness", brush_hardness,
                 "brush-force", brush_force,
+                "brush-link-size", brush_link_size,
+                "brush-link-angle", brush_link_angle,
+                "brush-link-aspect-ratio", brush_link_aspect_ratio,
+                "brush-link-spacing", brush_link_spacing,
+                "brush-link-hardness", brush_link_hardness,
                 NULL);
 }
 
diff --git a/app/paint/gimppaintoptions.h b/app/paint/gimppaintoptions.h
index f0ecd63..7fae6e7 100644
--- a/app/paint/gimppaintoptions.h
+++ b/app/paint/gimppaintoptions.h
@@ -90,6 +90,12 @@ struct _GimpPaintOptions
   gdouble                   brush_hardness;
   gdouble                   brush_force;
 
+  gboolean                  brush_link_size;
+  gboolean                  brush_link_aspect_ratio;
+  gboolean                  brush_link_angle;
+  gboolean                  brush_link_spacing;
+  gboolean                  brush_link_hardness;
+
   GimpPaintApplicationMode  application_mode;
   GimpPaintApplicationMode  application_mode_save;
 
diff --git a/app/tools/gimppaintoptions-gui.c b/app/tools/gimppaintoptions-gui.c
index abc6639..a11ed78 100644
--- a/app/tools/gimppaintoptions-gui.c
+++ b/app/tools/gimppaintoptions-gui.c
@@ -73,19 +73,21 @@ static GtkWidget * jitter_options_gui          (GimpPaintOptions *paint_options,
 static GtkWidget * smoothing_options_gui       (GimpPaintOptions *paint_options,
                                                 GType             tool_type);
 
-static GtkWidget * gimp_paint_options_gui_scale_with_reset_button
-                                               (GObject   *config,
-                                                gchar     *prop_name,
-                                                gchar     *prop_descr,
-                                                gchar     *reset_tooltip,
-                                                gdouble    step_increment,
-                                                gdouble    page_increment,
-                                                gint       digits,
-                                                gdouble    scale_min,
-                                                gdouble    scale_max,
-                                                gdouble    factor,
-                                                gdouble    gamma,
-                                                GCallback  reset_callback);
+static GtkWidget * gimp_paint_options_gui_scale_with_buttons
+                                               (GObject      *config,
+                                                gchar        *prop_name,
+                                                gchar        *prop_descr,
+                                                gchar        *link_prop_name,
+                                                gchar        *reset_tooltip,
+                                                gdouble       step_increment,
+                                                gdouble       page_increment,
+                                                gint          digits,
+                                                gdouble       scale_min,
+                                                gdouble       scale_max,
+                                                gdouble       factor,
+                                                gdouble       gamma,
+                                                GCallback     reset_callback,
+                                                GtkSizeGroup *link_group);
 
 
 /*  public functions  */
@@ -140,9 +142,10 @@ gimp_paint_options_gui (GimpToolOptions *tool_options)
   /*  the brush  */
   if (g_type_is_a (tool_type, GIMP_TYPE_BRUSH_TOOL))
     {
-      GtkWidget *button;
-      GtkWidget *frame;
-      GtkWidget *hbox;
+      GtkSizeGroup *link_group;
+      GtkWidget    *button;
+      GtkWidget    *frame;
+      GtkWidget    *hbox;
 
       button = gimp_prop_brush_box_new (NULL, GIMP_CONTEXT (tool_options),
                                         _("Brush"), 2,
@@ -151,54 +154,58 @@ gimp_paint_options_gui (GimpToolOptions *tool_options)
       gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
       gtk_widget_show (button);
 
-      hbox = gimp_paint_options_gui_scale_with_reset_button
-        (config, "brush-size", _("Size"),
+      link_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+      hbox = gimp_paint_options_gui_scale_with_buttons
+        (config, "brush-size", _("Size"), "brush-link-size",
          _("Reset size to brush's native size"),
          1.0, 10.0, 2, 1.0, 1000.0, 1.0, 1.7,
-         G_CALLBACK (gimp_paint_options_gui_reset_size));
+         G_CALLBACK (gimp_paint_options_gui_reset_size), link_group);
       gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
       gtk_widget_show (hbox);
 
-      hbox = gimp_paint_options_gui_scale_with_reset_button
-        (config, "brush-aspect-ratio", _("Aspect Ratio"),
+      hbox = gimp_paint_options_gui_scale_with_buttons
+        (config, "brush-aspect-ratio", _("Aspect Ratio"), "brush-link-aspect-ratio",
          _("Reset aspect ratio to brush's native"),
          0.1, 1.0, 2, -20.0, 20.0, 1.0, 1.0,
-         G_CALLBACK (gimp_paint_options_gui_reset_aspect_ratio));
+         G_CALLBACK (gimp_paint_options_gui_reset_aspect_ratio), link_group);
       gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
       gtk_widget_show (hbox);
 
-      hbox = gimp_paint_options_gui_scale_with_reset_button
-        (config, "brush-angle", _("Angle"),
+      hbox = gimp_paint_options_gui_scale_with_buttons
+        (config, "brush-angle", _("Angle"), "brush-link-angle",
          _("Reset angle to zero"),
          0.1, 1.0, 2, -180.0, 180.0, 1.0, 1.0,
-         G_CALLBACK (gimp_paint_options_gui_reset_angle));
+         G_CALLBACK (gimp_paint_options_gui_reset_angle), link_group);
       gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
       gtk_widget_show (hbox);
 
-      hbox = gimp_paint_options_gui_scale_with_reset_button
-        (config, "brush-spacing", _("Spacing"),
+      hbox = gimp_paint_options_gui_scale_with_buttons
+        (config, "brush-spacing", _("Spacing"), "brush-link-spacing",
          _("Reset spacing to brush's native spacing"),
          0.1, 1.0, 1, 1.0, 200.0, 100.0, 1.7,
-         G_CALLBACK (gimp_paint_options_gui_reset_spacing));
+         G_CALLBACK (gimp_paint_options_gui_reset_spacing), link_group);
       gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
       gtk_widget_show (hbox);
 
-      hbox = gimp_paint_options_gui_scale_with_reset_button
-        (config, "brush-hardness", _("Hardness"),
+      hbox = gimp_paint_options_gui_scale_with_buttons
+        (config, "brush-hardness", _("Hardness"), "brush-link-hardness",
          _("Reset hardness to default"),
          0.1, 1.0, 1, 0.0, 100.0, 100.0, 1.0,
-         G_CALLBACK (gimp_paint_options_gui_reset_hardness));
+         G_CALLBACK (gimp_paint_options_gui_reset_hardness), link_group);
       gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
       gtk_widget_show (hbox);
 
-      hbox = gimp_paint_options_gui_scale_with_reset_button
-        (config, "brush-force", _("Force"),
+      hbox = gimp_paint_options_gui_scale_with_buttons
+        (config, "brush-force", _("Force"), NULL,
          _("Reset force to default"),
          0.1, 1.0, 1, 0.0, 100.0, 100.0, 1.0,
-         G_CALLBACK (gimp_paint_options_gui_reset_force));
+         G_CALLBACK (gimp_paint_options_gui_reset_force), link_group);
       gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
       gtk_widget_show (hbox);
 
+      g_object_unref (link_group);
+
       button = gimp_prop_dynamics_box_new (NULL, GIMP_CONTEXT (tool_options),
                                            _("Dynamics"), 2,
                                            "dynamics-view-type",
@@ -467,24 +474,26 @@ gimp_paint_options_gui_reset_force (GtkWidget        *button,
 }
 
 static GtkWidget *
-gimp_paint_options_gui_scale_with_reset_button (GObject   *config,
-                                                gchar     *prop_name,
-                                                gchar     *prop_descr,
-                                                gchar     *reset_tooltip,
-                                                gdouble    step_increment,
-                                                gdouble    page_increment,
-                                                gint       digits,
-                                                gdouble    scale_min,
-                                                gdouble    scale_max,
-                                                gdouble    factor,
-                                                gdouble    gamma,
-                                                GCallback  reset_callback)
+gimp_paint_options_gui_scale_with_buttons (GObject      *config,
+                                           gchar        *prop_name,
+                                           gchar        *prop_descr,
+                                           gchar        *link_prop_name,
+                                           gchar        *reset_tooltip,
+                                           gdouble       step_increment,
+                                           gdouble       page_increment,
+                                           gint          digits,
+                                           gdouble       scale_min,
+                                           gdouble       scale_max,
+                                           gdouble       factor,
+                                           gdouble       gamma,
+                                           GCallback     reset_callback,
+                                           GtkSizeGroup *link_group)
 {
   GtkWidget *scale;
   GtkWidget *hbox;
   GtkWidget *button;
 
-  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
 
   scale = gimp_prop_spin_scale_new (config, prop_name,
                                     prop_descr,
@@ -511,5 +520,34 @@ gimp_paint_options_gui_scale_with_reset_button (GObject   *config,
   gimp_help_set_help_data (button,
                            reset_tooltip, NULL);
 
+  if (link_prop_name)
+    {
+      GtkWidget *image;
+
+      button = gtk_toggle_button_new ();
+      gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
+
+      image = gtk_image_new_from_icon_name (GIMP_STOCK_LINKED,
+                                            GTK_ICON_SIZE_MENU);
+      gtk_container_add (GTK_CONTAINER (button), image);
+      gtk_widget_show (image);
+
+      g_object_bind_property (config, link_prop_name,
+                              button, "active",
+                              G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
+    }
+  else
+    {
+      button = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+    }
+
+  gtk_size_group_add_widget (link_group, button);
+
+  gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
+  gtk_widget_show (button);
+
+  gimp_help_set_help_data (button,
+                           _("Link to brush default"), NULL);
+
   return hbox;
 }


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