[gtk+] shortcuts: Some property hygiene



commit bb5b711d4b175d3edaa1eafcc979a8461fe0c08d
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Oct 27 08:48:08 2015 -0400

    shortcuts: Some property hygiene
    
    Bring property notification for some of the new shortcuts widgets
    up to the standards of our testsuite.

 gtk/gtkshortcutsgesture.c  |    4 ++--
 gtk/gtkshortcutsgroup.c    |    4 ++--
 gtk/gtkshortcutssection.c  |   27 +++++++++++++++++++--------
 gtk/gtkshortcutsshortcut.c |    2 +-
 gtk/gtkshortcutswindow.c   |    2 +-
 5 files changed, 25 insertions(+), 14 deletions(-)
---
diff --git a/gtk/gtkshortcutsgesture.c b/gtk/gtkshortcutsgesture.c
index 0889da6..222a5fd 100644
--- a/gtk/gtkshortcutsgesture.c
+++ b/gtk/gtkshortcutsgesture.c
@@ -228,7 +228,7 @@ gtk_shortcuts_gesture_class_init (GtkShortcutsGestureClass *klass)
     g_param_spec_string ("title",
                          P_("Title"),
                          P_("Title"),
-                         NULL,
+                         "",
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
@@ -243,7 +243,7 @@ gtk_shortcuts_gesture_class_init (GtkShortcutsGestureClass *klass)
     g_param_spec_string ("subtitle",
                          P_("Subtitle"),
                          P_("Subtitle"),
-                         NULL,
+                         "",
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
diff --git a/gtk/gtkshortcutsgroup.c b/gtk/gtkshortcutsgroup.c
index 1ac3fc5..74adc6a 100644
--- a/gtk/gtkshortcutsgroup.c
+++ b/gtk/gtkshortcutsgroup.c
@@ -225,7 +225,7 @@ gtk_shortcuts_group_class_init (GtkShortcutsGroupClass *klass)
    */
   properties[PROP_TITLE] =
     g_param_spec_string ("title", P_("Title"), P_("Title"),
-                         NULL,
+                         "",
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
@@ -279,7 +279,7 @@ gtk_shortcuts_group_class_init (GtkShortcutsGroupClass *klass)
    */
   properties[PROP_HEIGHT] =
     g_param_spec_uint ("height", P_("Height"), P_("Height"),
-                       0, G_MAXUINT, 0,
+                       0, G_MAXUINT, 1,
                        (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_properties (object_class, LAST_PROP, properties);
diff --git a/gtk/gtkshortcutssection.c b/gtk/gtkshortcutssection.c
index 9941e13..9ba3e3c 100644
--- a/gtk/gtkshortcutssection.c
+++ b/gtk/gtkshortcutssection.c
@@ -101,6 +101,8 @@ static guint signals[LAST_SIGNAL];
 
 static void gtk_shortcuts_section_set_view_name    (GtkShortcutsSection *self,
                                                     const gchar         *view_name);
+static void gtk_shortcuts_section_set_max_height   (GtkShortcutsSection *self,
+                                                    guint                max_height);
 static void gtk_shortcuts_section_add_group        (GtkShortcutsSection *self,
                                                     GtkShortcutsGroup   *group);
 
@@ -210,7 +212,7 @@ gtk_shortcuts_section_set_property (GObject      *object,
       break;
 
     case PROP_MAX_HEIGHT:
-      self->max_height = g_value_get_uint (value);
+      gtk_shortcuts_section_set_max_height (self, g_value_get_uint (value));
       break;
 
     default:
@@ -268,7 +270,7 @@ gtk_shortcuts_section_class_init (GtkShortcutsSectionClass *klass)
   properties[PROP_VIEW_NAME] =
     g_param_spec_string ("view-name", P_("View Name"), P_("View Name"),
                          NULL,
-                         (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+                         (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
 
   /**
    * GtkShortcutsSection:title:
@@ -293,7 +295,7 @@ gtk_shortcuts_section_class_init (GtkShortcutsSectionClass *klass)
   properties[PROP_MAX_HEIGHT] =
     g_param_spec_uint ("max-height", P_("Maximum Height"), P_("Maximum Height"),
                        0, G_MAXUINT, 15,
-                       (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+                       (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
 
   g_object_class_install_properties (object_class, LAST_PROP, properties);
 
@@ -376,8 +378,6 @@ static void
 gtk_shortcuts_section_set_view_name (GtkShortcutsSection *self,
                                      const gchar         *view_name)
 {
-  g_return_if_fail (GTK_IS_SHORTCUTS_SECTION (self));
-
   if (g_strcmp0 (self->view_name, view_name) == 0)
     return;
 
@@ -391,15 +391,26 @@ gtk_shortcuts_section_set_view_name (GtkShortcutsSection *self,
 }
 
 static void
+gtk_shortcuts_section_set_max_height (GtkShortcutsSection *self,
+                                      guint                max_height)
+{
+  if (self->max_height == max_height)
+    return;
+
+  self->max_height = max_height;
+
+  gtk_shortcuts_section_maybe_reflow (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MAX_HEIGHT]);
+}
+
+static void
 gtk_shortcuts_section_add_group (GtkShortcutsSection *self,
                                  GtkShortcutsGroup   *group)
 {
   GList *children;
   GtkWidget *page, *column;
 
-  g_return_if_fail (GTK_IS_SHORTCUTS_SECTION (self));
-  g_return_if_fail (GTK_IS_SHORTCUTS_GROUP (group));
-
   children = gtk_container_get_children (GTK_CONTAINER (self->stack));
   if (children)
     page = children->data;
diff --git a/gtk/gtkshortcutsshortcut.c b/gtk/gtkshortcutsshortcut.c
index b77b8bd..6aa073a 100644
--- a/gtk/gtkshortcutsshortcut.c
+++ b/gtk/gtkshortcutsshortcut.c
@@ -215,7 +215,7 @@ gtk_shortcuts_shortcut_class_init (GtkShortcutsShortcutClass *klass)
     g_param_spec_string ("title",
                          P_("Title"),
                          P_("Title"),
-                         NULL,
+                         "",
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
diff --git a/gtk/gtkshortcutswindow.c b/gtk/gtkshortcutswindow.c
index 5e1cc3e..5a5a903 100644
--- a/gtk/gtkshortcutswindow.c
+++ b/gtk/gtkshortcutswindow.c
@@ -598,7 +598,7 @@ gtk_shortcuts_window_class_init (GtkShortcutsWindowClass *klass)
    */
   properties[PROP_SECTION_NAME] =
     g_param_spec_string ("section-name", P_("Section Name"), P_("Section Name"),
-                         NULL,
+                         "internal-search",
                          (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**


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