[gnome-system-monitor/deprecations] Migrated to GTK Color choosers



commit 86ad4a2eac1615576a29a7289359f4151313192d
Author: Robert Roth <robert roth off gmail com>
Date:   Sat Aug 4 22:46:07 2012 +0300

    Migrated to GTK Color choosers

 src/callbacks.cpp      |    8 +++---
 src/gsm_color_button.c |   61 +++++++++++++++++++----------------------------
 src/gsm_color_button.h |    6 ++--
 src/load-graph.cpp     |    2 +-
 src/load-graph.h       |    2 +-
 src/procman.cpp        |   20 ++++++++--------
 src/procman.h          |   14 +++++-----
 7 files changed, 51 insertions(+), 62 deletions(-)
---
diff --git a/src/callbacks.cpp b/src/callbacks.cpp
index 4f228be..866f289 100644
--- a/src/callbacks.cpp
+++ b/src/callbacks.cpp
@@ -261,10 +261,10 @@ cb_cpu_color_changed (GSMColorButton *cp, gpointer data)
     for (guint i = 0; i < children_n; i++) {
         if(cpu_i == i) {
             gchar color[24];
-            GdkColor button_color;
+            GdkRGBA button_color;
             gsm_color_button_get_color(cp, &button_color);
             g_snprintf(color, sizeof(color), "#%04x%04x%04x",
-                       button_color.red, button_color.green, button_color.blue);
+                       (int)(button_color.red * G_MAXUINT16), (int)(button_color.green* G_MAXUINT16), (int)(button_color.blue*G_MAXUINT16));
             g_variant_builder_add(&builder, "(us)", i, color);
         } else {
             g_variant_builder_add_value(&builder,
@@ -279,11 +279,11 @@ cb_cpu_color_changed (GSMColorButton *cp, gpointer data)
 static void change_settings_color(GSettings *settings, const char *key,
                                   GSMColorButton *cp)
 {
-    GdkColor c;
+    GdkRGBA c;
     char color[24]; /* color should be 1 + 3*4 + 1 = 15 chars -> 24 */
 
     gsm_color_button_get_color(cp, &c);
-    g_snprintf(color, sizeof color, "#%04x%04x%04x", c.red, c.green, c.blue);
+    g_snprintf(color, sizeof color, "#%04x%04x%04x", (int)(c.red * G_MAXUINT16), (int)(c.green*G_MAXUINT16), (int)(c.blue*G_MAXUINT16));
     g_settings_set_string (settings, key, color);
 }
 
diff --git a/src/gsm_color_button.c b/src/gsm_color_button.c
index 2509ec6..c525d54 100644
--- a/src/gsm_color_button.c
+++ b/src/gsm_color_button.c
@@ -42,7 +42,7 @@ struct _GSMColorButtonPrivate
 
   gchar *title;			/* Title for the color selection window */
 
-  GdkColor color;
+  GdkRGBA color;
 
   gdouble fraction;		/* Only used by GSMCP_TYPE_PIE */
   guint type;
@@ -271,7 +271,7 @@ static void
 render (GtkWidget * widget)
 {
   GSMColorButton *color_button = GSM_COLOR_BUTTON (widget);
-  GdkColor *color, tmp_color = color_button->priv->color;
+  GdkRGBA *color, tmp_color = color_button->priv->color;
   color = &tmp_color;
   cairo_t *cr = gdk_cairo_create (gtk_widget_get_window (widget));
   cairo_path_t *path = NULL;
@@ -282,22 +282,22 @@ render (GtkWidget * widget)
   if (color_button->priv->highlight > 0) {
     highlight_factor = 8192 * color_button->priv->highlight;
 
-    if (color->red + highlight_factor > 65535) 
-      color->red = 65535;
+    if (color->red + highlight_factor > G_MAXUINT16) 
+      color->red = G_MAXUINT16;
     else
       color->red = color->red + highlight_factor;
     
-    if (color->blue + highlight_factor > 65535) 
-      color->blue = 65535;
+    if (color->blue + highlight_factor > G_MAXUINT16) 
+      color->blue = G_MAXUINT16;
     else
       color->blue = color->blue + highlight_factor;
     
-    if (color->green + highlight_factor > 65535) 
-      color->green = 65535;
+    if (color->green + highlight_factor > G_MAXUINT16) 
+      color->green = G_MAXUINT16;
     else
       color->green = color->green + highlight_factor;
   }
-  gdk_cairo_set_source_color (cr, color);
+  gdk_cairo_set_source_rgba (cr, color);
   width  = gdk_window_get_width (gtk_widget_get_window (widget));
   height = gdk_window_get_height(gtk_widget_get_window (widget));
 
@@ -567,15 +567,15 @@ gsm_color_button_drag_data_received (GtkWidget * widget,
 
 
 static void
-set_color_icon (GdkDragContext * context, GdkColor * color)
+set_color_icon (GdkDragContext * context, GdkRGBA * color)
 {
   GdkPixbuf *pixbuf;
-  guint32 pixel;
+  guint32 pixel = 0;
 
   pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 48, 32);
 
-  pixel = ((color->red & 0xff00) << 16) |
-    ((color->green & 0xff00) << 8) | (color->blue & 0xff00);
+  pixel = (((int)(color->red * G_MAXUINT16)) << 16) |
+    (((int)(color->green * G_MAXUINT16)) << 8) | ((int)(color->blue * G_MAXUINT16));
 
   gdk_pixbuf_fill (pixbuf, pixel);
 
@@ -670,7 +670,7 @@ gsm_color_button_finalize (GObject * object)
 }
 
 GtkWidget *
-gsm_color_button_new (const GdkColor * color, guint type)
+gsm_color_button_new (const GdkRGBA * color, guint type)
 {
   return g_object_new (GSM_TYPE_COLOR_BUTTON, "color", color, "type", type,
 		       NULL);
@@ -680,14 +680,13 @@ static void
 dialog_response (GtkWidget * widget, GtkResponseType response, gpointer data)
 {
   GSMColorButton *color_button = GSM_COLOR_BUTTON (data);
-  GtkColorSelection *color_selection;
+  GtkColorChooser *color_selection;
 
   if (response == GTK_RESPONSE_OK) {
     color_selection =
-      GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG
-			   (color_button->priv->cs_dialog)));
+      GTK_COLOR_CHOOSER (color_button->priv->cs_dialog);
 
-    gtk_color_selection_get_current_color (color_selection,
+    gtk_color_chooser_get_rgba (color_selection,
 					   &color_button->priv->color);
 
     gtk_widget_hide (color_button->priv->cs_dialog);
@@ -718,7 +717,7 @@ static gint
 gsm_color_button_clicked (GtkWidget * widget, GdkEventButton * event)
 {
   GSMColorButton *color_button = GSM_COLOR_BUTTON (widget);
-  GtkColorSelectionDialog *color_dialog;
+  GtkColorChooserDialog *color_dialog;
 
   /* if dialog already exists, make sure it's shown and raised */
   if (!color_button->priv->cs_dialog)
@@ -729,18 +728,13 @@ gsm_color_button_clicked (GtkWidget * widget, GdkEventButton * event)
       parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button));
 
       color_button->priv->cs_dialog =
-	gtk_color_selection_dialog_new (color_button->priv->title);
+	 gtk_color_chooser_dialog_new (color_button->priv->title, GTK_WINDOW (parent));
 
       color_dialog =
-	GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
+	GTK_COLOR_CHOOSER_DIALOG (color_button->priv->cs_dialog);
 
       if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
 	{
-	  if (GTK_WINDOW (parent) !=
-	      gtk_window_get_transient_for (GTK_WINDOW (color_dialog)))
-	    gtk_window_set_transient_for (GTK_WINDOW (color_dialog),
-					  GTK_WINDOW (parent));
-
 	  gtk_window_set_modal (GTK_WINDOW (color_dialog),
 				gtk_window_get_modal (GTK_WINDOW (parent)));
 	}
@@ -752,14 +746,9 @@ gsm_color_button_clicked (GtkWidget * widget, GdkEventButton * event)
 			G_CALLBACK (dialog_destroy), color_button);
     }
 
-  color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
-
-  gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION
-                                          (gtk_color_selection_dialog_get_color_selection (color_dialog)),
-					  &color_button->priv->color);
+  color_dialog = GTK_COLOR_CHOOSER_DIALOG (color_button->priv->cs_dialog);
 
-  gtk_color_selection_set_current_color (GTK_COLOR_SELECTION
-                                         (gtk_color_selection_dialog_get_color_selection (color_dialog)),
+  gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (color_dialog),
 					 &color_button->priv->color);
 
   gtk_window_present (GTK_WINDOW (color_button->priv->cs_dialog));
@@ -850,7 +839,7 @@ gsm_color_button_set_fraction (GSMColorButton * color_button,
 }
 
 void
-gsm_color_button_get_color (GSMColorButton * color_button, GdkColor * color)
+gsm_color_button_get_color (GSMColorButton * color_button, GdkRGBA * color)
 {
   g_return_if_fail (GSM_IS_COLOR_BUTTON (color_button));
 
@@ -861,7 +850,7 @@ gsm_color_button_get_color (GSMColorButton * color_button, GdkColor * color)
 
 void
 gsm_color_button_set_color (GSMColorButton * color_button,
-			    const GdkColor * color)
+			    const GdkRGBA * color)
 {
   g_return_if_fail (GSM_IS_COLOR_BUTTON (color_button));
   g_return_if_fail (color != NULL);
@@ -936,7 +925,7 @@ gsm_color_button_get_property (GObject * object,
 			       GValue * value, GParamSpec * pspec)
 {
   GSMColorButton *color_button = GSM_COLOR_BUTTON (object);
-  GdkColor color;
+  GdkRGBA color;
 
   switch (param_id)
     {
diff --git a/src/gsm_color_button.h b/src/gsm_color_button.h
index 848f47e..d1a23d0 100644
--- a/src/gsm_color_button.h
+++ b/src/gsm_color_button.h
@@ -78,11 +78,11 @@ struct _GSMColorButtonClass
 };
 
 GType gsm_color_button_get_type (void) G_GNUC_CONST;
-GtkWidget *gsm_color_button_new (const GdkColor * color, guint type);
-void gsm_color_button_set_color (GSMColorButton * color_button, const GdkColor * color);
+GtkWidget *gsm_color_button_new (const GdkRGBA * color, guint type);
+void gsm_color_button_set_color (GSMColorButton * color_button, const GdkRGBA * color);
 void gsm_color_button_set_fraction (GSMColorButton * color_button, const gdouble fraction);
 void gsm_color_button_set_cbtype (GSMColorButton * color_button, guint type);
-void gsm_color_button_get_color (GSMColorButton * color_button, GdkColor * color);
+void gsm_color_button_get_color (GSMColorButton * color_button, GdkRGBA * color);
 gdouble gsm_color_button_get_fraction (GSMColorButton * color_button);
 guint gsm_color_button_get_cbtype (GSMColorButton * color_button);
 void gsm_color_button_set_title (GSMColorButton * color_button, const gchar * title);
diff --git a/src/load-graph.cpp b/src/load-graph.cpp
index 849418c..18bb58d 100644
--- a/src/load-graph.cpp
+++ b/src/load-graph.cpp
@@ -255,7 +255,7 @@ load_graph_draw (GtkWidget *widget,
 
     for (j = 0; j < graph->n; ++j) {
         cairo_move_to (cr, x_offset, (1.0f - graph->data[0][j]) * graph->real_draw_height);
-        gdk_cairo_set_source_color (cr, &(graph->colors [j]));
+        gdk_cairo_set_source_rgba (cr, &(graph->colors [j]));
 
         for (i = 1; i < LoadGraph::NUM_POINTS; ++i) {
             if (graph->data[i][j] == -1.0f)
diff --git a/src/load-graph.h b/src/load-graph.h
index 92a486a..3549fda 100644
--- a/src/load-graph.h
+++ b/src/load-graph.h
@@ -55,7 +55,7 @@ struct LoadGraph
     double graph_delx;
     guint graph_buffer_offset;
 
-    std::vector<GdkColor> colors;
+    std::vector<GdkRGBA> colors;
 
     std::vector<float> data_block;
     gfloat* data[NUM_POINTS];
diff --git a/src/procman.cpp b/src/procman.cpp
index 4bb6805..7ab6e8e 100644
--- a/src/procman.cpp
+++ b/src/procman.cpp
@@ -197,7 +197,7 @@ apply_cpu_color_settings(GSettings *settings, ProcData * const procdata)
             color = g_strdup ("#f25915e815e8");
             g_variant_builder_add(&builder, "(us)", i, color);
         }
-        gdk_color_parse(color, &procdata->config.cpu_color[i]);
+        gdk_rgba_parse(&procdata->config.cpu_color[i], color);
         g_free (color);
     }
     full = g_variant_builder_end(&builder);
@@ -215,7 +215,7 @@ color_changed_cb (GSettings *settings, const gchar *key, gpointer data)
     if (g_str_equal (key, "cpu-colors")) {
         apply_cpu_color_settings(settings, procdata);
         for (int i = 0; i < procdata->config.num_cpus; i++) {
-            if(!gdk_color_equal(&procdata->cpu_graph->colors[i], &procdata->config.cpu_color[i])) {
+            if(!gdk_rgba_equal(&procdata->cpu_graph->colors[i], &procdata->config.cpu_color[i])) {
                 procdata->cpu_graph->colors[i] = procdata->config.cpu_color[i];
                 break;
             }
@@ -225,19 +225,19 @@ color_changed_cb (GSettings *settings, const gchar *key, gpointer data)
 
     const gchar *color = g_settings_get_string (settings, key);
     if (g_str_equal (key, "mem-color")) {
-        gdk_color_parse (color, &procdata->config.mem_color);
+        gdk_rgba_parse (&procdata->config.mem_color, color);
         procdata->mem_graph->colors.at(0) = procdata->config.mem_color;
     }
     else if (g_str_equal (key, "swap-color")) {
-        gdk_color_parse (color, &procdata->config.swap_color);
+        gdk_rgba_parse (&procdata->config.swap_color, color);
         procdata->mem_graph->colors.at(1) = procdata->config.swap_color;
     }
     else if (g_str_equal (key, "net-in-color")) {
-        gdk_color_parse (color, &procdata->config.net_in_color);
+        gdk_rgba_parse (&procdata->config.net_in_color, color);
         procdata->net_graph->colors.at(0) = procdata->config.net_in_color;
     }
     else if (g_str_equal (key, "net-out-color")) {
-        gdk_color_parse (color, &procdata->config.net_out_color);
+        gdk_rgba_parse (&procdata->config.net_out_color, color);
         procdata->net_graph->colors.at(1) = procdata->config.net_out_color;
     }
     else {
@@ -324,7 +324,7 @@ procman_data_new (GSettings *settings)
         color = g_strdup ("#000000ff0082");
     g_signal_connect (G_OBJECT(settings), "changed::mem-color",
                       G_CALLBACK(color_changed_cb), pd);
-    gdk_color_parse(color, &pd->config.mem_color);
+    gdk_rgba_parse(&pd->config.mem_color, color);
 
     g_free (color);
 
@@ -333,7 +333,7 @@ procman_data_new (GSettings *settings)
         color = g_strdup ("#00b6000000ff");
     g_signal_connect (G_OBJECT(settings), "changed::swap-color",
                       G_CALLBACK(color_changed_cb), pd);
-    gdk_color_parse(color, &pd->config.swap_color);
+    gdk_rgba_parse(&pd->config.swap_color, color);
     g_free (color);
 
     color = g_settings_get_string (settings, "net-in-color");
@@ -341,7 +341,7 @@ procman_data_new (GSettings *settings)
         color = g_strdup ("#000000f200f2");
     g_signal_connect (G_OBJECT(settings), "changed::net-in-color",
                       G_CALLBACK(color_changed_cb), pd);
-    gdk_color_parse(color, &pd->config.net_in_color);
+    gdk_rgba_parse(&pd->config.net_in_color, color);
     g_free (color);
 
     color = g_settings_get_string (settings, "net-out-color");
@@ -349,7 +349,7 @@ procman_data_new (GSettings *settings)
         color = g_strdup ("#00f2000000c1");
     g_signal_connect (G_OBJECT(settings), "changed::net-out-color",
                       G_CALLBACK(color_changed_cb), pd);
-    gdk_color_parse(color, &pd->config.net_out_color);
+    gdk_rgba_parse(&pd->config.net_out_color, color);
     g_free (color);
 
     /* Sanity checks */
diff --git a/src/procman.h b/src/procman.h
index f42bacd..c1a1373 100644
--- a/src/procman.h
+++ b/src/procman.h
@@ -96,13 +96,13 @@ struct ProcConfig
     int             disks_update_interval;
     gint            whose_process;
     gint            current_tab;
-    GdkColor        cpu_color[GLIBTOP_NCPU];
-    GdkColor        mem_color;
-    GdkColor        swap_color;
-    GdkColor        net_in_color;
-    GdkColor        net_out_color;
-    GdkColor        bg_color;
-    GdkColor        frame_color;
+    GdkRGBA        cpu_color[GLIBTOP_NCPU];
+    GdkRGBA        mem_color;
+    GdkRGBA        swap_color;
+    GdkRGBA        net_in_color;
+    GdkRGBA        net_out_color;
+    GdkRGBA        bg_color;
+    GdkRGBA        frame_color;
     gint            num_cpus;
     bool solaris_mode;
     bool network_in_bits;



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