]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-contact-list-view.c
contact-list-view: use new GTK+ style API (#636500)
[empathy.git] / libempathy-gtk / empathy-contact-list-view.c
index 1b11309f3f150efd8047dab08b48afd3479ec152..4679e06f8e14ab7fdabfbcfc6f84a56d0d9b394c 100644 (file)
@@ -951,29 +951,28 @@ contact_list_view_cell_set_background (EmpathyContactListView *view,
                                       gboolean                is_group,
                                       gboolean                is_active)
 {
-       GdkColor  color;
-       GtkStyle *style;
+       if (!is_group && is_active) {
+               GdkRGBA color;
+               GtkStyleContext *style;
 
-       style = gtk_widget_get_style (GTK_WIDGET (view));
+               style = gtk_widget_get_style_context (GTK_WIDGET (view));
 
-       if (!is_group && is_active) {
-               color = style->bg[GTK_STATE_SELECTED];
+               gtk_style_context_get_background_color (style, GTK_STATE_FLAG_SELECTED,
+        &color);
 
                /* Here we take the current theme colour and add it to
                 * the colour for white and average the two. This
                 * gives a colour which is inline with the theme but
                 * slightly whiter.
                 */
-               color.red = (color.red + (style->white).red) / 2;
-               color.green = (color.green + (style->white).green) / 2;
-               color.blue = (color.blue + (style->white).blue) / 2;
+               empathy_make_color_whiter (&color);
 
                g_object_set (cell,
-                             "cell-background-gdk", &color,
+                             "cell-background-rgba", &color,
                              NULL);
        } else {
                g_object_set (cell,
-                             "cell-background-gdk", NULL,
+                             "cell-background-rgba", NULL,
                              NULL);
        }
 }