From 0c0b4381cf1265cc1243ffb7d65c3e5180c95e1f Mon Sep 17 00:00:00 2001 From: Qball Cow Date: Mon, 25 Jul 2011 11:58:04 +0200 Subject: [PATCH] Fix renaming GmpcWidgetAlbumview to GmpcWidgetsQtable --- src/plugin.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/plugin.c b/src/plugin.c index a884e83..8663e01 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -27,6 +27,7 @@ typedef struct _AlbumViewPluginPrivate { GtkWidget *albumview_box; GtkWidget *albumview_main_box; GtkWidget *event_bg; + gboolean require_scale_update; int max_entries; int current_entry; @@ -151,6 +152,7 @@ void size_changed(GtkWidget *widget, GtkAllocation *alloc, gpointer user_data) printf("supported rows: %i\n", self->priv->supported_rows); g_log(AV_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "update columns: %i %i %i\n", alloc->width-20,columns, self->priv->album_size); + self->priv->require_scale_update = TRUE; if(self->priv->filter_entry && GTK_WIDGET_IS_SENSITIVE(self->priv->filter_entry)) { update_view(self); @@ -716,18 +718,7 @@ static void filter_list(GtkEntry *entry, gpointer data) } if(self->priv->current_item) g_list_free(self->priv->current_item); self->priv->current_item = g_list_first(list); - /* - if((items/(double)self->priv->supported_rows -self->priv->supported_rows) > 0) - { - gtk_widget_set_sensitive(GTK_WIDGET(self->priv->slider_scale), TRUE); - gtk_range_set_range(GTK_RANGE(self->priv->slider_scale), 0, - ceil(items/(double)self->priv->supported_columns)-self->priv->supported_rows); - } - else{ - gtk_widget_set_sensitive(GTK_WIDGET(self->priv->slider_scale), FALSE); - gtk_range_set_range(GTK_RANGE(self->priv->slider_scale), 0,1); - } - */ + self->priv->require_scale_update = TRUE; gtk_range_set_value(GTK_RANGE(self->priv->slider_scale), 0); update_view(self); @@ -777,12 +768,15 @@ static gboolean update_view_real(AlbumViewPlugin *self) complete_list_iter = mpd_data_get_next_real(complete_list_iter, FALSE)) { items++; - self->priv->current_item = g_list_append(self->priv->current_item, complete_list_iter); + self->priv->current_item = g_list_prepend(self->priv->current_item, complete_list_iter); } - self->priv->current_item = g_list_first(self->priv->current_item); + self->priv->current_item = g_list_reverse(self->priv->current_item); +// self->priv->current_item = g_list_first(self->priv->current_item); gtk_range_set_value(GTK_RANGE(self->priv->slider_scale), 0); + self->priv->require_scale_update = TRUE; } /* TODO: Only update this when something changed! */ + if(self->priv->require_scale_update) { int items = g_list_length(g_list_first(self->priv->current_item)); if(ceil(items/(double)self->priv->supported_columns)-self->priv->supported_rows > 0) @@ -795,16 +789,18 @@ static gboolean update_view_real(AlbumViewPlugin *self) gtk_widget_set_sensitive(GTK_WIDGET(self->priv->slider_scale), FALSE); gtk_range_set_range(GTK_RANGE(self->priv->slider_scale), 0,1); } + self->priv->require_scale_update = FALSE; } - int rows = self->priv->supported_rows; /** * Create holding table if it does not exist */ if(!self->priv->item_table){ - self->priv->item_table = (GtkWidget *)gmpc_widget_albumview_new(); - gmpc_widget_albumview_set_cover_size(GMPC_WIDGET_ALBUMVIEW(self->priv->item_table), - self->priv->album_size+25, self->priv->album_size+40); + self->priv->item_table = (GtkWidget *)gmpc_widgets_qtable_new(); + gmpc_widgets_qtable_set_item_width(GMPC_WIDGETS_QTABLE(self->priv->item_table), + self->priv->album_size+25); + gmpc_widgets_qtable_set_item_height(GMPC_WIDGETS_QTABLE(self->priv->item_table), + self->priv->album_size+40); gtk_box_pack_start(GTK_BOX(self->priv->albumview_box), self->priv->item_table, TRUE, TRUE, 0); } @@ -814,6 +810,7 @@ static gboolean update_view_real(AlbumViewPlugin *self) if(self->priv->current_item) { + int rows = self->priv->supported_rows; GList *iter = self->priv->current_item; int v_items = 0; do @@ -915,6 +912,7 @@ static GObject *albumview_plugin_constructor(GType type, guint n_construct_prope self->priv->item_table = NULL; self->priv->albumview_ref = NULL; self->priv->albumview_box = NULL; + self->priv->require_scale_update = FALSE; /* Watch status changed signals */ g_signal_connect_object(G_OBJECT(gmpcconn), "connection-changed", G_CALLBACK(albumview_connection_changed), self, 0); -- 2.11.4.GIT