[gnome-calendar/calendar-management] source-manager: update source icon when color changes



commit f22d2d3d135be8c90665c494f7052a420f9d4746
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Feb 5 08:53:26 2015 -0200

    source-manager: update source icon when color changes

 src/gcal-source-manager-dialog.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/src/gcal-source-manager-dialog.c b/src/gcal-source-manager-dialog.c
index 01f1f62..e6ea5c7 100644
--- a/src/gcal-source-manager-dialog.c
+++ b/src/gcal-source-manager-dialog.c
@@ -177,11 +177,24 @@ color_action_activated (GSimpleAction *menu_item,
   // Change the color
   if (response == GTK_RESPONSE_OK)
     {
+      GtkWidget *color_icon, *row;
+      GdkPixbuf *pix;
+
       gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (color_dialog), &color);
       e_source_selectable_set_color (E_SOURCE_SELECTABLE (extension), gdk_rgba_to_string (&color));
 
       // Save the source updates
       gcal_manager_save_source (priv->manager, priv->selected_source);
+
+      // Update the color icon
+      row = g_hash_table_lookup (priv->source_to_row, priv->selected_source);
+      color_icon = gtk_grid_get_child_at (GTK_GRID (gtk_bin_get_child (GTK_BIN(row))), 0, 0);
+
+      pix = gcal_get_pixbuf_from_color (&color, 16);
+
+      gtk_image_set_from_pixbuf (GTK_IMAGE (color_icon), pix);
+
+      g_object_unref (pix);
     }
 
   gtk_widget_destroy (color_dialog);


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