Re: [Rhythmbox-devel] More Album Art Fixes



On Sun, Jun 12, 2005 at 12:02:29AM +0200, Marc Pavot wrote:
> And an other solution, easier to implement in my opinion :
> 
> Change the behaviour of the renderer in the function 
> "rb_property_view_covertree_visible_changed_cb".

Is it possible to change a cell renderer's fixed size after you've
already started to display the column?  I'm trying this:

static void
rb_property_view_covertree_visible_changed_cb (GConfClient *client,
                                               guint cnxn_id,
                                               GConfEntry *entry,
                                               GtkTreeView *treeview)
{
        GtkTreeViewColumn *column;
        gboolean hidden;
        int size;
        GList *list;
        GList *elem;

        column = gtk_tree_view_get_column (treeview, 1);
        hidden = eel_gconf_get_boolean (CONF_COVER_TREE_HIDDEN);
        size = hidden ? 0 : TREE_COVER_SIZE;

        gtk_tree_view_column_set_visible (column, !hidden);

        list = gtk_tree_view_column_get_cell_renderers (column);
        for (elem = list; elem != NULL; elem = g_list_next (elem)) {
                g_message ("DEBUG: setting cell renderer size to %d", size);
                gtk_cell_renderer_set_fixed_size (GTK_CELL_RENDERER (elem->data), size, size);
        }
        g_list_free (list);
}

According to the debugging output (which I'll delete once I get it
working), this sets the fixed size to 0 when hiding the column and to
TREE_COVER_SIZE (a.k.a. 70) when showing it.  There doesn't seem to be
any change in behavior.

Am I missing something in my implementation, or am I completely on the
wrong track?

Attachment: signature.asc
Description: Digital signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]