diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2005-02-13 01:28:59 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2005-02-13 01:28:59 +0800 |
commit | 8c932e53285b901c1157f3bd4221d77915535c09 (patch) | |
tree | 6fd5838e21df0e59c9e957eaecb35ff9072ff0f7 /src/ephy-tabs-menu.c | |
parent | 3fe520c0db9f64f59e0d6429d0004ebc9b2923db (diff) | |
download | gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.tar gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.tar.gz gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.tar.bz2 gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.tar.lz gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.tar.xz gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.tar.zst gsoc2013-epiphany-8c932e53285b901c1157f3bd4221d77915535c09.zip |
Fix initial active tab.
2005-02-12 Christian Persch <chpe@cvs.gnome.org>
* src/ephy-tabs-menu.c: (tab_added_cb), (tab_removed_cb),
(sync_active_tab):
Fix initial active tab.
Diffstat (limited to 'src/ephy-tabs-menu.c')
-rw-r--r-- | src/ephy-tabs-menu.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/ephy-tabs-menu.c b/src/ephy-tabs-menu.c index 46740b362..4208ed478 100644 --- a/src/ephy-tabs-menu.c +++ b/src/ephy-tabs-menu.c @@ -148,9 +148,6 @@ tab_added_cb (EphyNotebook *notebook, "tooltip", _("Switch to this tab"), NULL); - g_signal_connect (action, "activate", - G_CALLBACK (tab_action_activate_cb), menu); - sync_tab_title (tab, NULL, action); g_signal_connect (tab, "notify::title", G_CALLBACK (sync_tab_title), action); @@ -160,8 +157,18 @@ tab_added_cb (EphyNotebook *notebook, group = gtk_radio_action_get_group (GTK_RADIO_ACTION (priv->anchor_action)); gtk_radio_action_set_group (GTK_RADIO_ACTION (action), group); + /* set this here too, since tab-added comes after notify::active-tab */ + if (ephy_window_get_active_tab (priv->window) == tab) + { + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE); + } + g_object_set_data (G_OBJECT (tab), DATA_KEY, action); g_object_set_data (G_OBJECT (action), DATA_KEY, tab); + + g_signal_connect (action, "activate", + G_CALLBACK (tab_action_activate_cb), menu); + g_object_unref (action); ephy_tabs_menu_update (menu); @@ -175,8 +182,6 @@ tab_removed_cb (EphyNotebook *notebook, EphyTabsMenuPrivate *priv = menu->priv; GtkAction *action; - g_return_if_fail (EPHY_IS_TAB (tab)); - LOG ("tab_removed_cb tab=%p", tab); action = g_object_get_data (G_OBJECT (tab), DATA_KEY); @@ -230,10 +235,11 @@ sync_active_tab (EphyWindow *window, GtkAction *action; tab = ephy_window_get_active_tab (window); - g_return_if_fail (tab != NULL); - if (tab == NULL) return; LOG ("active tab is tab %p", tab); + + g_return_if_fail (tab != NULL); + if (tab == NULL) return; action = g_object_get_data (G_OBJECT (tab), DATA_KEY); /* happens initially, since the ::active-tab comes before |