Exemple #1
0
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);
}