aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ephy-state.c
diff options
context:
space:
mode:
authorPeter Harvey <peter.a.harvey@gmail.com>2006-02-04 21:57:43 +0800
committerPeter Anthony Harvey <paharvey@src.gnome.org>2006-02-04 21:57:43 +0800
commit30269a7fcdcd0a0eb82535f1af96df5059e0ba43 (patch)
treeeecbc3a3985864c8d619ad1e45dac07fef7699de /lib/ephy-state.c
parent1bdd082560bc963b535935d9e0bf06e19cd08d17 (diff)
downloadgsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar
gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar.gz
gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar.bz2
gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar.lz
gsoc2013-epiphany-30269a7fcdcd0a0eb82535f1af96df5059e0ba43.tar.xz
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/ephy-state.c')
-rw-r--r--lib/ephy-state.c62
1 files changed, 15 insertions, 47 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