int caja_notebook_add_tab (CajaNotebook *notebook, CajaWindowSlot *slot, int position, gboolean jump_to) { GtkNotebook *gnotebook = GTK_NOTEBOOK (notebook); GtkWidget *tab_label; g_return_val_if_fail (CAJA_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (CAJA_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); caja_notebook_sync_tab_label (notebook, slot); caja_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; }
static void real_sync_title (CajaWindow *window, CajaWindowSlot *slot) { CajaNavigationWindowPane *pane; CajaNotebook *notebook; char *full_title; char *window_title; EEL_CALL_PARENT (CAJA_WINDOW_CLASS, sync_title, (window, slot)); if (slot == window->details->active_pane->active_slot) { /* if spatial mode is default, we keep "File Browser" in the window title * to recognize browser windows. Otherwise, we default to the directory name. */ if (!g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_ALWAYS_USE_BROWSER)) { full_title = g_strdup_printf (_("%s - File Browser"), slot->title); window_title = eel_str_middle_truncate (full_title, MAX_TITLE_LENGTH); g_free (full_title); } else { window_title = eel_str_middle_truncate (slot->title, MAX_TITLE_LENGTH); } gtk_window_set_title (GTK_WINDOW (window), window_title); g_free (window_title); } pane = CAJA_NAVIGATION_WINDOW_PANE (slot->pane); notebook = CAJA_NOTEBOOK (pane->notebook); caja_notebook_sync_tab_label (notebook, slot); }