[gnome-color-manager] Add properties to GcmSensor providing the default images for the GUI



commit 48211eb230fc30beada3f4541d6ea59dd6546460
Author: Richard Hughes <richard hughsie com>
Date:   Wed Aug 4 10:23:48 2010 +0100

    Add properties to GcmSensor providing the default images for the GUI

 libcolor-glib/gcm-sensor-huey.c |    1 +
 libcolor-glib/gcm-sensor.c      |   78 +++++++++++++++++++++++++++++++++++++++
 libcolor-glib/gcm-sensor.h      |    3 +
 tools/gcm-sensor-colormunki.c   |    3 +
 4 files changed, 85 insertions(+), 0 deletions(-)
---
diff --git a/libcolor-glib/gcm-sensor-huey.c b/libcolor-glib/gcm-sensor-huey.c
index c2955da..f1f5fb1 100644
--- a/libcolor-glib/gcm-sensor-huey.c
+++ b/libcolor-glib/gcm-sensor-huey.c
@@ -1194,6 +1194,7 @@ gcm_sensor_huey_new (void)
 	sensor = g_object_new (GCM_TYPE_SENSOR_HUEY,
 			       "native", TRUE,
 			       "kind", GCM_SENSOR_KIND_HUEY,
+			       "image-display", "huey-attach.svg",
 			       NULL);
 	return GCM_SENSOR (sensor);
 }
diff --git a/libcolor-glib/gcm-sensor.c b/libcolor-glib/gcm-sensor.c
index 6dd3a0b..be78a51 100644
--- a/libcolor-glib/gcm-sensor.c
+++ b/libcolor-glib/gcm-sensor.c
@@ -56,6 +56,9 @@ struct _GcmSensorPrivate
 	gchar				*model;
 	gchar				*serial_number;
 	gchar				*device;
+	gchar				*image_display;
+	gchar				*image_calibrate;
+	gchar				*image_spotread;
 };
 
 
@@ -81,6 +84,9 @@ enum {
 	PROP_SUPPORTS_PRINTER,
 	PROP_SUPPORTS_SPOT,
 	PROP_DEVICE,
+	PROP_IMAGE_DISPLAY,
+	PROP_IMAGE_CALIBRATE,
+	PROP_IMAGE_SPOTREAD,
 	PROP_LAST
 };
 
@@ -94,6 +100,33 @@ static guint signals[SIGNAL_LAST] = { 0 };
 G_DEFINE_TYPE (GcmSensor, gcm_sensor, G_TYPE_OBJECT)
 
 /**
+ * gcm_sensor_get_image_display:
+ **/
+const gchar *
+gcm_sensor_get_image_display (GcmSensor *sensor)
+{
+	return sensor->priv->image_display;
+}
+
+/**
+ * gcm_sensor_get_image_calibrate:
+ **/
+const gchar *
+gcm_sensor_get_image_calibrate (GcmSensor *sensor)
+{
+	return sensor->priv->image_calibrate;
+}
+
+/**
+ * gcm_sensor_get_image_spotread:
+ **/
+const gchar *
+gcm_sensor_get_image_spotread (GcmSensor *sensor)
+{
+	return sensor->priv->image_spotread;
+}
+
+/**
  * gcm_sensor_button_pressed:
  *
  * Causes the ::button-pressed signal to be fired.
@@ -768,6 +801,15 @@ gcm_sensor_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 	case PROP_DEVICE:
 		g_value_set_string (value, priv->device);
 		break;
+	case PROP_IMAGE_DISPLAY:
+		g_value_set_string (value, priv->image_display);
+		break;
+	case PROP_IMAGE_CALIBRATE:
+		g_value_set_string (value, priv->image_calibrate);
+		break;
+	case PROP_IMAGE_SPOTREAD:
+		g_value_set_string (value, priv->image_spotread);
+		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 		break;
@@ -796,6 +838,15 @@ gcm_sensor_set_property (GObject *object, guint prop_id, const GValue *value, GP
 	case PROP_SERIAL_NUMBER:
 		gcm_sensor_set_serial_number (sensor, g_value_get_string (value));
 		break;
+	case PROP_IMAGE_DISPLAY:
+		priv->image_display = g_value_dup_string (value);
+		break;
+	case PROP_IMAGE_CALIBRATE:
+		priv->image_calibrate = g_value_dup_string (value);
+		break;
+	case PROP_IMAGE_SPOTREAD:
+		priv->image_spotread = g_value_dup_string (value);
+		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 		break;
@@ -904,6 +955,30 @@ gcm_sensor_class_init (GcmSensorClass *klass)
 	g_object_class_install_property (object_class, PROP_DEVICE, pspec);
 
 	/**
+	 * GcmSensor:image-display:
+	 */
+	pspec = g_param_spec_string ("image-display", NULL, NULL,
+				     NULL,
+				     G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+	g_object_class_install_property (object_class, PROP_IMAGE_DISPLAY, pspec);
+
+	/**
+	 * GcmSensor:image-calibrate:
+	 */
+	pspec = g_param_spec_string ("image-calibrate", NULL, NULL,
+				     NULL,
+				     G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+	g_object_class_install_property (object_class, PROP_IMAGE_CALIBRATE, pspec);
+
+	/**
+	 * GcmSensor:image-spotread:
+	 */
+	pspec = g_param_spec_string ("image-spotread", NULL, NULL,
+				     NULL,
+				     G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+	g_object_class_install_property (object_class, PROP_IMAGE_SPOTREAD, pspec);
+
+	/**
 	 * GcmSensor::button-pressed:
 	 **/
 	signals[SIGNAL_BUTTON_PRESSED] =
@@ -940,6 +1015,9 @@ gcm_sensor_finalize (GObject *object)
 	g_free (priv->vendor);
 	g_free (priv->model);
 	g_free (priv->serial_number);
+	g_free (priv->image_display);
+	g_free (priv->image_calibrate);
+	g_free (priv->image_spotread);
 
 	G_OBJECT_CLASS (gcm_sensor_parent_class)->finalize (object);
 }
diff --git a/libcolor-glib/gcm-sensor.h b/libcolor-glib/gcm-sensor.h
index e210828..756f9f2 100644
--- a/libcolor-glib/gcm-sensor.h
+++ b/libcolor-glib/gcm-sensor.h
@@ -173,6 +173,9 @@ gboolean		 gcm_sensor_supports_spot	(GcmSensor		*sensor);
 gboolean		 gcm_sensor_is_native		(GcmSensor		*sensor);
 const gchar		*gcm_sensor_kind_to_string	(GcmSensorKind		 sensor_kind);
 GcmSensorKind		 gcm_sensor_kind_from_string	(const gchar		*sensor_kind);
+const gchar		*gcm_sensor_get_image_display	(GcmSensor		*sensor);
+const gchar		*gcm_sensor_get_image_calibrate	(GcmSensor		*sensor);
+const gchar		*gcm_sensor_get_image_spotread	(GcmSensor		*sensor);
 
 /* async sampling functions that take a lot of time */
 void			 gcm_sensor_get_ambient_async	(GcmSensor		*sensor,
diff --git a/tools/gcm-sensor-colormunki.c b/tools/gcm-sensor-colormunki.c
index 0451e05..23d0116 100644
--- a/tools/gcm-sensor-colormunki.c
+++ b/tools/gcm-sensor-colormunki.c
@@ -614,6 +614,9 @@ gcm_sensor_colormunki_new (void)
 	sensor = g_object_new (GCM_TYPE_SENSOR_COLORMUNKI,
 			       "native", TRUE,
 			       "kind", GCM_SENSOR_KIND_COLOR_MUNKI,
+			       "image-display", "munki-attach.svg",
+			       "image-calibrate", "munki-calibrate.svg",
+			       "image-spotread", "munki-screen.svg",
 			       NULL);
 	return GCM_SENSOR (sensor);
 }



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