diff options
author | Peter Harvey <peter.a.harvey@gmail.com> | 2006-02-04 21:57:43 +0800 |
---|---|---|
committer | Peter Anthony Harvey <paharvey@src.gnome.org> | 2006-02-04 21:57:43 +0800 |
commit | 30269a7fcdcd0a0eb82535f1af96df5059e0ba43 (patch) | |
tree | eecbc3a3985864c8d619ad1e45dac07fef7699de /lib | |
parent | 1bdd082560bc963b535935d9e0bf06e19cd08d17 (diff) | |
download | gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar.gz gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar.zst gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.zip |
lib/ephy-state.h lib/ephy-state.c src/epiphany.defs
2006-02-04 Peter Harvey <peter.a.harvey@gmail.com>
* lib/ephy-state.h
* lib/ephy-state.c
* src/epiphany.defs
* src/bookmarks/ephy-bookmark-properties.c
Combined very similar functions into one.
Made the 'similar' bookmark count update immediately at start.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ephy-state.c | 62 | ||||
-rw-r--r-- | lib/ephy-state.h | 6 |
2 files changed, 16 insertions, 52 deletions
diff --git a/lib/ephy-state.c b/lib/ephy-state.c index ce1dc75bb..7f260a627 100644 --- a/lib/ephy-state.c +++ b/lib/ephy-state.c @@ -468,46 +468,6 @@ sync_expander_cb (GtkExpander *expander, g_value_unset (&value); } -void -ephy_state_add_expander (GtkWidget *expander, - const char *name, - gboolean default_state) -{ - EphyNode *node; - gboolean expanded; - - ensure_states (); - - node = find_by_name (name); - if (node == NULL) - { - GValue value = { 0, }; - - node = ephy_node_new (states_db); - ephy_node_add_child (states, node); - - g_value_init (&value, G_TYPE_STRING); - g_value_set_string (&value, name); - ephy_node_set_property (node, EPHY_NODE_STATE_PROP_NAME, - &value); - g_value_unset (&value); - - g_value_init (&value, G_TYPE_BOOLEAN); - g_value_set_boolean (&value, default_state); - ephy_node_set_property - (node, EPHY_NODE_STATE_PROP_ACTIVE, &value); - g_value_unset (&value); - } - - expanded = ephy_node_get_property_boolean - (node, EPHY_NODE_STATE_PROP_ACTIVE); - - gtk_expander_set_expanded (GTK_EXPANDER (expander), expanded); - - g_signal_connect (expander, "notify::expanded", - G_CALLBACK (sync_expander_cb), node); -} - static void sync_toggle_cb (GtkToggleButton *toggle, GParamSpec *pspec, @@ -522,9 +482,9 @@ sync_toggle_cb (GtkToggleButton *toggle, } void -ephy_state_add_toggle (GtkWidget *toggle, - const char *name, - gboolean default_state) +ephy_state_add_expander (GtkWidget *widget, + const char *name, + gboolean default_state) { EphyNode *node; gboolean active; @@ -555,10 +515,18 @@ ephy_state_add_toggle (GtkWidget *toggle, active = ephy_node_get_property_boolean (node, EPHY_NODE_STATE_PROP_ACTIVE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), active); - - g_signal_connect (toggle, "notify::active", - G_CALLBACK (sync_toggle_cb), node); + if (GTK_IS_TOGGLE_BUTTON (widget)) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), active); + g_signal_connect (widget, "notify::active", + G_CALLBACK (sync_toggle_cb), node); + } + else if (GTK_IS_EXPANDER (widget)) + { + gtk_expander_set_expanded (GTK_EXPANDER (widget), active); + g_signal_connect (widget, "notify::expanded", + G_CALLBACK (sync_expander_cb), node); + } } void diff --git a/lib/ephy-state.h b/lib/ephy-state.h index 3388b396f..f8669c07b 100644 --- a/lib/ephy-state.h +++ b/lib/ephy-state.h @@ -45,11 +45,7 @@ void ephy_state_add_paned (GtkWidget *paned, const char *name, int default_width); -void ephy_state_add_expander (GtkWidget *expander, - const char *name, - gboolean default_state); - -void ephy_state_add_toggle (GtkWidget *toggle, +void ephy_state_add_expander (GtkWidget *widget, const char *name, gboolean default_state); |