[gtk+] GtkAccelLabel: Convert to g_object_class_install_properties



commit 10f8ea27bf5c0e8f639f5af2da90b994bc72ec3b
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Jun 7 06:45:00 2014 -0400

    GtkAccelLabel: Convert to g_object_class_install_properties

 gtk/gtkaccellabel.c |   40 ++++++++++++++++++++++------------------
 1 files changed, 22 insertions(+), 18 deletions(-)
---
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c
index ec4d17a..7cf1ec6 100644
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -94,7 +94,8 @@
 enum {
   PROP_0,
   PROP_ACCEL_CLOSURE,
-  PROP_ACCEL_WIDGET
+  PROP_ACCEL_WIDGET,
+  LAST_PROP
 };
 
 struct _GtkAccelLabelPrivate
@@ -110,6 +111,8 @@ struct _GtkAccelLabelPrivate
   GdkModifierType accel_mods;
 };
 
+GParamSpec *props[LAST_PROP] = { NULL, };
+
 static void         gtk_accel_label_set_property (GObject            *object,
                                                  guint               prop_id,
                                                  const GValue       *value,
@@ -183,20 +186,21 @@ gtk_accel_label_class_init (GtkAccelLabelClass *class)
 
 #endif /* GDK_WINDOWING_QUARTZ */
 
-  g_object_class_install_property (gobject_class,
-                                   PROP_ACCEL_CLOSURE,
-                                   g_param_spec_boxed ("accel-closure",
-                                                      P_("Accelerator Closure"),
-                                                      P_("The closure to be monitored for accelerator 
changes"),
-                                                      G_TYPE_CLOSURE,
-                                                      GTK_PARAM_READWRITE));
-  g_object_class_install_property (gobject_class,
-                                   PROP_ACCEL_WIDGET,
-                                   g_param_spec_object ("accel-widget",
-                                                        P_("Accelerator Widget"),
-                                                        P_("The widget to be monitored for accelerator 
changes"),
-                                                        GTK_TYPE_WIDGET,
-                                                        GTK_PARAM_READWRITE));
+  props[PROP_ACCEL_CLOSURE] =
+    g_param_spec_boxed ("accel-closure",
+                        P_("Accelerator Closure"),
+                        P_("The closure to be monitored for accelerator changes"),
+                        G_TYPE_CLOSURE,
+                        GTK_PARAM_READWRITE);
+
+  props[PROP_ACCEL_WIDGET] =
+    g_param_spec_object ("accel-widget",
+                         P_("Accelerator Widget"),
+                         P_("The widget to be monitored for accelerator changes"),
+                         GTK_TYPE_WIDGET,
+                         GTK_PARAM_READWRITE);
+
+  g_object_class_install_properties (gobject_class, LAST_PROP, props);
 }
 
 static void
@@ -485,7 +489,7 @@ accel_widget_weak_ref_cb (GtkAccelLabel *accel_label,
                                         refetch_widget_accel_closure,
                                         accel_label);
   accel_label->priv->accel_widget = NULL;
-  g_object_notify (G_OBJECT (accel_label), "accel-widget");
+  g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_WIDGET]);
 }
 
 /**
@@ -524,7 +528,7 @@ gtk_accel_label_set_accel_widget (GtkAccelLabel *accel_label,
                                    accel_label, G_CONNECT_SWAPPED);
           refetch_widget_accel_closure (accel_label);
         }
-      g_object_notify (G_OBJECT (accel_label), "accel-widget");
+      g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_WIDGET]);
     }
 }
 
@@ -587,7 +591,7 @@ gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
                                   accel_label, 0);
        }
       gtk_accel_label_reset (accel_label);
-      g_object_notify (G_OBJECT (accel_label), "accel-closure");
+      g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_CLOSURE]);
     }
 }
 


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