[libgd] main-toolbar: add a show-modes property
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgd] main-toolbar: add a show-modes property
- Date: Wed, 6 Feb 2013 21:50:11 +0000 (UTC)
commit bb6970695e39d1aa79985855f605f4a1f5f8daee
Author: William Jon McCann <jmccann redhat com>
Date: Wed Feb 6 16:41:41 2013 -0500
main-toolbar: add a show-modes property
libgd/gd-main-toolbar.c | 124 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 90 insertions(+), 34 deletions(-)
---
diff --git a/libgd/gd-main-toolbar.c b/libgd/gd-main-toolbar.c
index d704b52..df17d2e 100644
--- a/libgd/gd-main-toolbar.c
+++ b/libgd/gd-main-toolbar.c
@@ -57,6 +57,11 @@ struct _GdMainToolbarPrivate {
gboolean show_modes;
};
+enum {
+ PROP_0,
+ PROP_SHOW_MODES,
+};
+
static void
gd_main_toolbar_dispose (GObject *obj)
{
@@ -172,6 +177,81 @@ get_vertical_size_group (GdMainToolbar *self)
return retval;
}
+gboolean
+gd_main_toolbar_get_show_modes (GdMainToolbar *self)
+{
+ return self->priv->show_modes;
+}
+
+void
+gd_main_toolbar_set_show_modes (GdMainToolbar *self,
+ gboolean show_modes)
+{
+ if (self->priv->show_modes == show_modes)
+ return;
+
+ self->priv->show_modes = show_modes;
+ if (self->priv->show_modes)
+ {
+ gtk_widget_set_no_show_all (self->priv->labels_grid, TRUE);
+ gtk_widget_hide (self->priv->labels_grid);
+
+ gtk_widget_set_valign (self->priv->center_grid, GTK_ALIGN_FILL);
+ gtk_widget_set_no_show_all (self->priv->modes_box, FALSE);
+ gtk_widget_show_all (self->priv->modes_box);
+ }
+ else
+ {
+ gtk_widget_set_no_show_all (self->priv->modes_box, TRUE);
+ gtk_widget_hide (self->priv->modes_box);
+
+ gtk_widget_set_valign (self->priv->center_grid, GTK_ALIGN_CENTER);
+ gtk_widget_set_no_show_all (self->priv->labels_grid, FALSE);
+ gtk_widget_show_all (self->priv->labels_grid);
+ }
+
+ g_object_notify (G_OBJECT (self), "show-modes");
+}
+
+static void
+gd_main_toolbar_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+
+ GdMainToolbar *self = GD_MAIN_TOOLBAR (object);
+
+ switch (prop_id)
+ {
+ case PROP_SHOW_MODES:
+ gd_main_toolbar_set_show_modes (GD_MAIN_TOOLBAR (self), g_value_get_boolean (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gd_main_toolbar_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GdMainToolbar *self = GD_MAIN_TOOLBAR (object);
+
+ switch (prop_id)
+ {
+ case PROP_SHOW_MODES:
+ g_value_set_boolean (value, self->priv->show_modes);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
static void
gd_main_toolbar_constructed (GObject *obj)
{
@@ -259,8 +339,18 @@ gd_main_toolbar_class_init (GdMainToolbarClass *klass)
oclass = G_OBJECT_CLASS (klass);
oclass->constructed = gd_main_toolbar_constructed;
+ oclass->set_property = gd_main_toolbar_set_property;
+ oclass->get_property = gd_main_toolbar_get_property;
oclass->dispose = gd_main_toolbar_dispose;
+ g_object_class_install_property (oclass,
+ PROP_SHOW_MODES,
+ g_param_spec_boolean ("show-modes",
+ "Show Modes",
+ "Show Modes",
+ FALSE,
+ G_PARAM_READWRITE));
+
g_type_class_add_private (klass, sizeof (GdMainToolbarPrivate));
}
@@ -523,37 +613,3 @@ gd_main_toolbar_add_widget (GdMainToolbar *self,
else
gtk_container_add (GTK_CONTAINER (self->priv->right_grid), widget);
}
-
-gboolean
-gd_main_toolbar_get_show_modes (GdMainToolbar *self)
-{
- return self->priv->show_modes;
-}
-
-void
-gd_main_toolbar_set_show_modes (GdMainToolbar *self,
- gboolean show_modes)
-{
- if (self->priv->show_modes == show_modes)
- return;
-
- self->priv->show_modes = show_modes;
- if (self->priv->show_modes)
- {
- gtk_widget_set_no_show_all (self->priv->labels_grid, TRUE);
- gtk_widget_hide (self->priv->labels_grid);
-
- gtk_widget_set_valign (self->priv->center_grid, GTK_ALIGN_FILL);
- gtk_widget_set_no_show_all (self->priv->modes_box, FALSE);
- gtk_widget_show_all (self->priv->modes_box);
- }
- else
- {
- gtk_widget_set_no_show_all (self->priv->modes_box, TRUE);
- gtk_widget_hide (self->priv->modes_box);
-
- gtk_widget_set_valign (self->priv->center_grid, GTK_ALIGN_CENTER);
- gtk_widget_set_no_show_all (self->priv->labels_grid, FALSE);
- gtk_widget_show_all (self->priv->labels_grid);
- }
-}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]