commit b40f2c2eb2611b5018eb1f5f61fa6a9a3217a118
Author: phantomjinx <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2