int nautilus_notebook_add_tab (NautilusNotebook *notebook, NautilusWindowSlot *slot, int position, gboolean jump_to) { GtkNotebook *gnotebook = GTK_NOTEBOOK (notebook); GtkWidget *tab_label; g_return_val_if_fail (NAUTILUS_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (NAUTILUS_IS_WINDOW_SLOT (slot), -1); tab_label = build_tab_label (notebook, slot); position = gtk_notebook_insert_page (GTK_NOTEBOOK (notebook), GTK_WIDGET (slot), tab_label, position); gtk_container_child_set (GTK_CONTAINER (notebook), GTK_WIDGET (slot), "tab-expand", TRUE, NULL); nautilus_notebook_sync_tab_label (notebook, slot); nautilus_notebook_sync_loading (notebook, slot); if (jump_to) { gtk_notebook_set_current_page (gnotebook, position); } return position; }
int nemo_notebook_add_tab (NemoNotebook *notebook, NemoWindowSlot *slot, int position, gboolean jump_to) { GtkNotebook *gnotebook = GTK_NOTEBOOK (notebook); GtkWidget *tab_label; g_return_val_if_fail (NEMO_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (NEMO_IS_WINDOW_SLOT (slot), -1); tab_label = build_tab_label (notebook, slot); position = gtk_notebook_insert_page (GTK_NOTEBOOK (notebook), GTK_WIDGET (slot), tab_label, position); gtk_container_child_set (GTK_CONTAINER (notebook), GTK_WIDGET (slot), "tab-expand", TRUE, NULL); nemo_notebook_sync_tab_label (notebook, slot); nemo_notebook_sync_loading (notebook, slot); /* FIXME gtk bug! */ /* FIXME: this should be fixed in gtk 2.12; check & remove this! */ /* The signal handler may have reordered the tabs */ position = gtk_notebook_page_num (gnotebook, GTK_WIDGET (slot)); if (jump_to) { gtk_notebook_set_current_page (gnotebook, position); } return position; }
static int ephy_notebook_insert_page (GtkNotebook *gnotebook, GtkWidget *tab_widget, GtkWidget *tab_label, GtkWidget *menu_label, int position) { EphyNotebook *notebook = EPHY_NOTEBOOK (gnotebook); /* Destroy passed-in tab label */ if (tab_label != NULL) { g_object_ref_sink (tab_label); g_object_unref (tab_label); } g_assert (EPHY_IS_EMBED (tab_widget)); tab_label = build_tab_label (notebook, EPHY_EMBED (tab_widget)); update_tabs_visibility (notebook, TRUE); position = GTK_NOTEBOOK_CLASS (ephy_notebook_parent_class)->insert_page (gnotebook, tab_widget, tab_label, menu_label, position); gtk_notebook_set_tab_reorderable (gnotebook, tab_widget, TRUE); gtk_notebook_set_tab_detachable (gnotebook, tab_widget, TRUE); gtk_container_child_set (GTK_CONTAINER (gnotebook), GTK_WIDGET (tab_widget), "tab-expand", g_settings_get_boolean (EPHY_SETTINGS_UI, EPHY_PREFS_UI_EXPAND_TABS_BAR), NULL); return position; }
int nautilus_notebook_add_tab (NautilusNotebook *notebook, NautilusWindowSlot *slot, int position, gboolean jump_to) { GtkNotebook *gnotebook = GTK_NOTEBOOK (notebook); GtkWidget *tab_label; g_return_val_if_fail (NAUTILUS_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (NAUTILUS_IS_WINDOW_SLOT (slot), -1); tab_label = build_tab_label (notebook, slot); position = gtk_notebook_insert_page (GTK_NOTEBOOK (notebook), slot->content_box, tab_label, position); nautilus_notebook_sync_tab_label (notebook, slot); nautilus_notebook_sync_loading (notebook, slot); /* FIXME gtk bug! */ /* FIXME: this should be fixed in gtk 2.12; check & remove this! */ /* The signal handler may have reordered the tabs */ position = gtk_notebook_page_num (gnotebook, slot->content_box); if (jump_to) { gtk_notebook_set_current_page (gnotebook, position); } return position; }