commit b40f2c2eb2611b5018eb1f5f61fa6a9a3217a118 Author: phantomjinx <p.g.richard...@phantomjinx.co.uk> Date: Wed Jul 20 22:51:28 2011 +0100
Cover art display fixes for colors and updating * cover_display_preferences.c * display_coverart has transitioned to GdkRGBA while the preference dialog has not, producing some odd colours for the foreground text colour. * display_coverart.c * coverart_display_update never actually redrawing the cover display so a call to redraw is required. * no need to include a separate one in the sort function as a consequence * typo in coverart_get_foreground_display_color plugins/cover_display/cover_display_preferences.c | 40 +++++++++------------ plugins/cover_display/display_coverart.c | 9 ++++- 2 files changed, 24 insertions(+), 25 deletions(-) --- diff --git a/plugins/cover_display/cover_display_preferences.c b/plugins/cover_display/cover_display_preferences.c index c9a0bdb..bd48df0 100644 --- a/plugins/cover_display/cover_display_preferences.c +++ b/plugins/cover_display/cover_display_preferences.c @@ -38,15 +38,12 @@ */ G_MODULE_EXPORT void on_coverart_dialog_bg_color_set (GtkColorButton *widget, gpointer user_data) { - GdkColor color; - gtk_color_button_get_color (widget, &color); - gchar *hexstring = g_strdup_printf("#%02X%02X%02X", - color.red >> 8, - color.green >> 8, - color.blue >> 8); - - prefs_set_string ("coverart_display_bg_color", hexstring); - g_free (hexstring); + GdkRGBA color; + gtk_color_button_get_rgba (widget, &color); + gchar *color_string = gdk_rgba_to_string(&color); + + prefs_set_string ("coverart_display_bg_color", color_string); + g_free (color_string); coverart_display_update (FALSE); } @@ -55,15 +52,12 @@ G_MODULE_EXPORT void on_coverart_dialog_bg_color_set (GtkColorButton *widget, gp */ G_MODULE_EXPORT void on_coverart_dialog_fg_color_set (GtkColorButton *widget, gpointer user_data) { - GdkColor color; - gtk_color_button_get_color (widget, &color); - gchar *hexstring = g_strdup_printf("#%02X%02X%02X", - color.red >> 8, - color.green >> 8, - color.blue >> 8); - - prefs_set_string ("coverart_display_fg_color", hexstring); - g_free (hexstring); + GdkRGBA color; + gtk_color_button_get_rgba (widget, &color); + gchar *color_string = gdk_rgba_to_string(&color); + + prefs_set_string ("coverart_display_fg_color", color_string); + g_free (color_string); coverart_display_update (FALSE); } @@ -94,7 +88,7 @@ GtkWidget *init_cover_preferences(gchar *gladepath) { GtkWidget *coverart_bgcolorselect_button; GtkWidget *coverart_fgcolorselect_button; GtkWidget *w, *win; - GdkColor *color; + GdkRGBA *color; pref_xml = gtkpod_builder_xml_new(gladepath); win = gtkpod_builder_xml_get_widget(pref_xml, "preference_window"); @@ -105,12 +99,12 @@ GtkWidget *init_cover_preferences(gchar *gladepath) { gtk_container_remove(GTK_CONTAINER (win), notebook); color = coverart_get_background_display_color(); - gtk_color_button_set_color (GTK_COLOR_BUTTON(coverart_bgcolorselect_button), color); - g_free (color); + gtk_color_button_set_rgba (GTK_COLOR_BUTTON(coverart_bgcolorselect_button), color); + gdk_rgba_free(color); color = coverart_get_foreground_display_color(); - gtk_color_button_set_color (GTK_COLOR_BUTTON(coverart_fgcolorselect_button), color); - g_free (color); + gtk_color_button_set_rgba (GTK_COLOR_BUTTON(coverart_fgcolorselect_button), color); + gdk_rgba_free(color); switch (prefs_get_int("cad_sort")) { case SORT_ASCENDING: diff --git a/plugins/cover_display/display_coverart.c b/plugins/cover_display/display_coverart.c index 019839b..ffde61c 100644 --- a/plugins/cover_display/display_coverart.c +++ b/plugins/cover_display/display_coverart.c @@ -590,6 +590,12 @@ void coverart_display_update(gboolean clear_track_list) { set_slider_range(0); else set_slider_range(cdwidget->first_imgindex); + + /* + * The slider range is blocked from initiating a redraw so + * do it manually here + */ + redraw(clear_track_list); } /** @@ -600,7 +606,6 @@ void coverart_display_update(gboolean clear_track_list) { void coverart_display_sort(gint order) { prefs_set_int("cad_sort", order); coverart_display_update(TRUE); - redraw(FALSE); gtkpod_broadcast_preference_change("cad_sort", order); } @@ -1699,7 +1704,7 @@ GdkRGBA *coverart_get_foreground_display_color() { if (album_key_list == NULL) hex_string = "#000000"; - else if (!prefs_get_string_value("coverart_display_bg_color", NULL)) + else if (!prefs_get_string_value("coverart_display_fg_color", NULL)) hex_string = "#FFFFFF"; else prefs_get_string_value("coverart_display_fg_color", &hex_string); ------------------------------------------------------------------------------ 10 Tips for Better Web Security Learn 10 ways to better secure your business today. Topics covered include: Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, security Microsoft Exchange, secure Instant Messaging, and much more. http://www.accelacomm.com/jaw/sfnl/114/51426210/ _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2