diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | lib/ephy-state.c | 62 | ||||
-rw-r--r-- | lib/ephy-state.h | 6 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmark-properties.c | 4 | ||||
-rw-r--r-- | src/epiphany.defs | 2 |
5 files changed, 29 insertions, 55 deletions
@@ -2,6 +2,16 @@ * 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. + +2006-02-04 Peter Harvey <peter.a.harvey@gmail.com> + + * lib/ephy-state.h + * lib/ephy-state.c * src/ephy-shell.c Forgotten files from previous two commits. 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); diff --git a/src/bookmarks/ephy-bookmark-properties.c b/src/bookmarks/ephy-bookmark-properties.c index 9182462ab..3758bd8da 100644 --- a/src/bookmarks/ephy-bookmark-properties.c +++ b/src/bookmarks/ephy-bookmark-properties.c @@ -605,7 +605,7 @@ ephy_bookmark_properties_constructor (GType type, gtk_widget_show (widget); button = gtk_toggle_button_new_with_label (""); gtk_button_set_image (GTK_BUTTON (button), widget); - ephy_state_add_toggle (button, "bookmark_properties_list", FALSE); + ephy_state_add_expander (button, "bookmark_properties_list", FALSE); g_signal_connect (button, "toggled", G_CALLBACK (list_toggled_cb), properties); list_toggled_cb (GTK_TOGGLE_BUTTON (button), properties); gtk_widget_show (button); @@ -658,7 +658,7 @@ ephy_bookmark_properties_constructor (GType type, gtk_dialog_set_default_response (dialog, GTK_RESPONSE_CLOSE); } - update_warning_idle (properties); + update_warning (properties); return object; } diff --git a/src/epiphany.defs b/src/epiphany.defs index 33157fe16..f81bd2c8f 100644 --- a/src/epiphany.defs +++ b/src/epiphany.defs @@ -2411,7 +2411,7 @@ (c-name "ephy_state_add_expander") (return-type "none") (parameters - '("GtkWidget*" "expander") + '("GtkWidget*" "widget") '("const-char*" "name") '("gboolean" "default_state") ) |