[gnome-color-manager] Enable the rendering intent and default colorspace UI elements
- From: Richard Hughes <rhughes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-color-manager] Enable the rendering intent and default colorspace UI elements
- Date: Wed, 6 Jan 2010 12:01:23 +0000 (UTC)
commit 8f652feeb9327a9ae46c771d695c0f46131b18e5
Author: Richard Hughes <richard hughsie com>
Date: Wed Jan 6 10:17:53 2010 +0000
Enable the rendering intent and default colorspace UI elements
data/gcm-prefs.ui | 4 -
data/gnome-color-manager.schemas.in | 24 ++-
help/C/figures/gcm-defaults.png | Bin 46121 -> 40944 bytes
src/gcm-dbus.c | 60 ++++-
src/gcm-prefs.c | 467 ++++++++++++++++++++---------------
src/gcm-profile.c | 4 +-
src/gcm-profile.h | 6 +-
src/gcm-utils.c | 59 +++++
src/gcm-utils.h | 20 ++-
src/org.gnome.ColorManager.xml | 22 ++-
10 files changed, 434 insertions(+), 232 deletions(-)
---
diff --git a/data/gcm-prefs.ui b/data/gcm-prefs.ui
index 49cc522..530aa43 100644
--- a/data/gcm-prefs.ui
+++ b/data/gcm-prefs.ui
@@ -1386,7 +1386,6 @@
<child>
<object class="GtkComboBox" id="combobox_space_rgb">
<property name="visible">True</property>
- <property name="sensitive">False</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1425,7 +1424,6 @@
<child>
<object class="GtkComboBox" id="combobox_space_cmyk">
<property name="visible">True</property>
- <property name="sensitive">False</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1504,7 +1502,6 @@
<child>
<object class="GtkComboBox" id="combobox_rendering_display">
<property name="visible">True</property>
- <property name="sensitive">False</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1543,7 +1540,6 @@
<child>
<object class="GtkComboBox" id="combobox_rendering_softproof">
<property name="visible">True</property>
- <property name="sensitive">False</property>
</object>
<packing>
<property name="expand">False</property>
diff --git a/data/gnome-color-manager.schemas.in b/data/gnome-color-manager.schemas.in
index bfaec9d..f434eb7 100644
--- a/data/gnome-color-manager.schemas.in
+++ b/data/gnome-color-manager.schemas.in
@@ -42,14 +42,26 @@
</schema>
<schema>
- <key>/schemas/apps/gnome-color-manager/output_intent</key>
- <applyto>/apps/gnome-color-manager/output_intent</applyto>
+ <key>/schemas/apps/gnome-color-manager/rendering_intent_display</key>
+ <applyto>/apps/gnome-color-manager/rendering_intent_display</applyto>
<owner>gnome-color-manager</owner>
<type>string</type>
<default>perceptual</default>
<locale name="C">
- <short>The output intent to use, e.g. 'perceptual'.</short>
- <long>The output intent to use, e.g. 'perceptual'.</long>
+ <short>The rendering intent to use for the display, e.g. 'perceptual'.</short>
+ <long>The rendering intent to use for the display, e.g. 'perceptual'.</long>
+ </locale>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-color-manager/rendering_intent_softproof</key>
+ <applyto>/apps/gnome-color-manager/rendering_intent_softproof</applyto>
+ <owner>gnome-color-manager</owner>
+ <type>string</type>
+ <default>perceptual</default>
+ <locale name="C">
+ <short>The rendering intent to use for softproofs, e.g. 'perceptual'.</short>
+ <long>The rendering intent to use for softproofs, e.g. 'perceptual'.</long>
</locale>
</schema>
@@ -58,7 +70,7 @@
<applyto>/apps/gnome-color-manager/colorspace_rgb</applyto>
<owner>gnome-color-manager</owner>
<type>string</type>
- <default>perceptual</default>
+ <default>/usr/share/color/icc/Argyll/sRGB.icm</default>
<locale name="C">
<short>The default RGB profile.</short>
<long>The RGB profile filename to be used by applications by default.</long>
@@ -70,7 +82,7 @@
<applyto>/apps/gnome-color-manager/colorspace_cmyk</applyto>
<owner>gnome-color-manager</owner>
<type>string</type>
- <default>perceptual</default>
+ <default></default>
<locale name="C">
<short>The default CMYK profile.</short>
<long>The CMYK profile filename to be used by applications by default.</long>
diff --git a/help/C/figures/gcm-defaults.png b/help/C/figures/gcm-defaults.png
index 90aad0b..b314951 100644
Binary files a/help/C/figures/gcm-defaults.png and b/help/C/figures/gcm-defaults.png differ
diff --git a/src/gcm-dbus.c b/src/gcm-dbus.c
index 3929c50..13ca8f0 100644
--- a/src/gcm-dbus.c
+++ b/src/gcm-dbus.c
@@ -41,12 +41,14 @@ struct GcmDbusPrivate
GConfClient *gconf_client;
GcmClient *client;
GTimer *timer;
- gchar *output_intent;
+ gchar *rendering_intent_display;
+ gchar *rendering_intent_softproof;
};
enum {
PROP_0,
- PROP_OUTPUT_INTENT,
+ PROP_RENDERING_INTENT_DISPLAY,
+ PROP_RENDERING_INTENT_SOFTPROOF,
PROP_LAST
};
@@ -102,8 +104,11 @@ gcm_dbus_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec
{
GcmDbus *dbus = GCM_DBUS (object);
switch (prop_id) {
- case PROP_OUTPUT_INTENT:
- g_value_set_string (value, dbus->priv->output_intent);
+ case PROP_RENDERING_INTENT_DISPLAY:
+ g_value_set_string (value, dbus->priv->rendering_intent_display);
+ break;
+ case PROP_RENDERING_INTENT_SOFTPROOF:
+ g_value_set_string (value, dbus->priv->rendering_intent_softproof);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -123,9 +128,13 @@ gcm_dbus_set_property (GObject *object, guint prop_id, const GValue *value, GPar
GcmDbus *dbus = GCM_DBUS (object);
switch (prop_id) {
- case PROP_OUTPUT_INTENT:
- g_free (dbus->priv->output_intent);
- dbus->priv->output_intent = g_strdup (g_value_get_string (value));
+ case PROP_RENDERING_INTENT_DISPLAY:
+ g_free (dbus->priv->rendering_intent_display);
+ dbus->priv->rendering_intent_display = g_strdup (g_value_get_string (value));
+ break;
+ case PROP_RENDERING_INTENT_SOFTPROOF:
+ g_free (dbus->priv->rendering_intent_softproof);
+ dbus->priv->rendering_intent_softproof = g_strdup (g_value_get_string (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -385,11 +394,21 @@ gcm_dbus_class_init (GcmDbusClass *klass)
G_TYPE_NONE, 0);
/**
- * GcmDbus:output-intent:
+ * GcmDbus:rendering-intent-display:
+ */
+ g_object_class_install_property (object_class,
+ PROP_RENDERING_INTENT_DISPLAY,
+ g_param_spec_string ("rendering-intent-display",
+ NULL, NULL,
+ NULL,
+ G_PARAM_READABLE));
+
+ /**
+ * GcmDbus:rendering-intent-softproof:
*/
g_object_class_install_property (object_class,
- PROP_OUTPUT_INTENT,
- g_param_spec_string ("output-intent",
+ PROP_RENDERING_INTENT_SOFTPROOF,
+ g_param_spec_string ("rendering-intent-softproof",
NULL, NULL,
NULL,
G_PARAM_READABLE));
@@ -428,15 +447,27 @@ gcm_dbus_init (GcmDbus *dbus)
dbus, NULL, NULL);
/* coldplug */
- dbus->priv->output_intent = gconf_client_get_string (dbus->priv->gconf_client, GCM_SETTINGS_OUTPUT_INTENT, &error);
- if (dbus->priv->output_intent == NULL) {
+ dbus->priv->rendering_intent_display = gconf_client_get_string (dbus->priv->gconf_client, GCM_SETTINGS_RENDERING_INTENT_DISPLAY, &error);
+ if (dbus->priv->rendering_intent_display == NULL) {
+ if (error != NULL) {
+ egg_warning ("failed to get intent: %s", error->message);
+ g_clear_error (&error);
+ }
+
+ /* set defaults as GConf isn't sure */
+ dbus->priv->rendering_intent_display = g_strdup ("unknown");
+ }
+
+ /* coldplug */
+ dbus->priv->rendering_intent_softproof = gconf_client_get_string (dbus->priv->gconf_client, GCM_SETTINGS_RENDERING_INTENT_SOFTPROOF, &error);
+ if (dbus->priv->rendering_intent_softproof == NULL) {
if (error != NULL) {
egg_warning ("failed to get intent: %s", error->message);
g_clear_error (&error);
}
/* set defaults as GConf isn't sure */
- dbus->priv->output_intent = g_strdup ("disabled");
+ dbus->priv->rendering_intent_softproof = g_strdup ("unknown");
}
/* get all devices */
@@ -459,7 +490,8 @@ gcm_dbus_finalize (GObject *object)
dbus = GCM_DBUS (object);
g_return_if_fail (dbus->priv != NULL);
- g_free (dbus->priv->output_intent);
+ g_free (dbus->priv->rendering_intent_display);
+ g_free (dbus->priv->rendering_intent_softproof);
g_object_unref (dbus->priv->client);
g_object_unref (dbus->priv->gconf_client);
g_timer_destroy (dbus->priv->timer);
diff --git a/src/gcm-prefs.c b/src/gcm-prefs.c
index 176aabd..555f389 100644
--- a/src/gcm-prefs.c
+++ b/src/gcm-prefs.c
@@ -52,7 +52,6 @@ static GtkListStore *list_store_profiles = NULL;
static GcmDevice *current_device = NULL;
static GnomeRRScreen *rr_screen = NULL;
static GPtrArray *profiles_array = NULL;
-static GPtrArray *profiles_array_in_combo = NULL;
static GcmClient *gcm_client = NULL;
static GcmColorDevice *color_device = NULL;
static gboolean setting_up_device = FALSE;
@@ -63,20 +62,26 @@ static guint loading_refcount = 0;
static GConfClient *gconf_client = NULL;
enum {
- GPM_DEVICES_COLUMN_ID,
- GPM_DEVICES_COLUMN_SORT,
- GPM_DEVICES_COLUMN_ICON,
- GPM_DEVICES_COLUMN_TITLE,
- GPM_DEVICES_COLUMN_LAST
+ GCM_DEVICES_COLUMN_ID,
+ GCM_DEVICES_COLUMN_SORT,
+ GCM_DEVICES_COLUMN_ICON,
+ GCM_DEVICES_COLUMN_TITLE,
+ GCM_DEVICES_COLUMN_LAST
};
enum {
- GPM_PROFILES_COLUMN_ID,
- GPM_PROFILES_COLUMN_SORT,
- GPM_PROFILES_COLUMN_ICON,
- GPM_PROFILES_COLUMN_TITLE,
- GPM_PROFILES_COLUMN_PROFILE,
- GPM_PROFILES_COLUMN_LAST
+ GCM_PROFILES_COLUMN_ID,
+ GCM_PROFILES_COLUMN_SORT,
+ GCM_PROFILES_COLUMN_ICON,
+ GCM_PROFILES_COLUMN_TITLE,
+ GCM_PROFILES_COLUMN_PROFILE,
+ GCM_PROFILES_COLUMN_LAST
+};
+
+enum {
+ GCM_PREFS_COMBO_COLUMN_TEXT,
+ GCM_PREFS_COMBO_COLUMN_PROFILE,
+ GCM_PREFS_COMBO_COLUMN_LAST
};
static void gcm_prefs_devices_treeview_clicked_cb (GtkTreeSelection *selection, gpointer userdata);
@@ -135,6 +140,35 @@ out:
}
/**
+ * gcm_prefs_combobox_add_profile:
+ **/
+static void
+gcm_prefs_combobox_add_profile (GtkWidget *widget, GcmProfile *profile)
+{
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ gchar *description;
+
+ /* use description */
+ if (profile == NULL) {
+ description = g_strdup (_("None"));
+ } else {
+ g_object_get (profile,
+ "description", &description,
+ NULL);
+ }
+
+ /* also add profile */
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX(widget));
+ gtk_list_store_append (GTK_LIST_STORE(model), &iter);
+ gtk_list_store_set (GTK_LIST_STORE(model), &iter,
+ GCM_PREFS_COMBO_COLUMN_TEXT, description,
+ GCM_PREFS_COMBO_COLUMN_PROFILE, profile,
+ -1);
+ g_free (description);
+}
+
+/**
* gcm_prefs_default_cb:
**/
static void
@@ -672,11 +706,11 @@ gcm_prefs_update_profile_list (void)
gcm_prefs_profile_get_sort_string (profile_type),
description);
gtk_list_store_set (list_store_profiles, &iter,
- GPM_PROFILES_COLUMN_ID, filename,
- GPM_PROFILES_COLUMN_SORT, sort,
- GPM_PROFILES_COLUMN_TITLE, description,
- GPM_PROFILES_COLUMN_ICON, icon_name,
- GPM_PROFILES_COLUMN_PROFILE, profile,
+ GCM_PROFILES_COLUMN_ID, filename,
+ GCM_PROFILES_COLUMN_SORT, sort,
+ GCM_PROFILES_COLUMN_TITLE, description,
+ GCM_PROFILES_COLUMN_ICON, icon_name,
+ GCM_PROFILES_COLUMN_PROFILE, profile,
-1);
g_free (sort);
@@ -727,7 +761,7 @@ gcm_prefs_profile_delete_cb (GtkWidget *widget, gpointer data)
/* get profile */
gtk_tree_model_get (model, &iter,
- GPM_PROFILES_COLUMN_PROFILE, &profile,
+ GCM_PROFILES_COLUMN_PROFILE, &profile,
-1);
/* get device data */
@@ -1227,15 +1261,15 @@ gcm_prefs_add_devices_columns (GtkTreeView *treeview)
renderer = gtk_cell_renderer_pixbuf_new ();
g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DIALOG, NULL);
column = gtk_tree_view_column_new_with_attributes ("", renderer,
- "icon-name", GPM_DEVICES_COLUMN_ICON, NULL);
+ "icon-name", GCM_DEVICES_COLUMN_ICON, NULL);
gtk_tree_view_append_column (treeview, column);
/* column for text */
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("", renderer,
- "markup", GPM_DEVICES_COLUMN_TITLE, NULL);
- gtk_tree_view_column_set_sort_column_id (column, GPM_DEVICES_COLUMN_SORT);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store_devices), GPM_DEVICES_COLUMN_SORT, GTK_SORT_ASCENDING);
+ "markup", GCM_DEVICES_COLUMN_TITLE, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, GCM_DEVICES_COLUMN_SORT);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store_devices), GCM_DEVICES_COLUMN_SORT, GTK_SORT_ASCENDING);
gtk_tree_view_append_column (treeview, column);
gtk_tree_view_column_set_expand (column, TRUE);
}
@@ -1253,15 +1287,15 @@ gcm_prefs_add_profiles_columns (GtkTreeView *treeview)
renderer = gtk_cell_renderer_pixbuf_new ();
g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DND, NULL);
column = gtk_tree_view_column_new_with_attributes ("", renderer,
- "icon-name", GPM_PROFILES_COLUMN_ICON, NULL);
+ "icon-name", GCM_PROFILES_COLUMN_ICON, NULL);
gtk_tree_view_append_column (treeview, column);
/* column for text */
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("", renderer,
- "markup", GPM_PROFILES_COLUMN_TITLE, NULL);
- gtk_tree_view_column_set_sort_column_id (column, GPM_PROFILES_COLUMN_SORT);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store_profiles), GPM_PROFILES_COLUMN_SORT, GTK_SORT_ASCENDING);
+ "markup", GCM_PROFILES_COLUMN_TITLE, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, GCM_PROFILES_COLUMN_SORT);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store_profiles), GCM_PROFILES_COLUMN_SORT, GTK_SORT_ASCENDING);
gtk_tree_view_append_column (treeview, column);
gtk_tree_view_column_set_expand (column, TRUE);
}
@@ -1322,12 +1356,13 @@ out:
* gcm_prefs_add_profiles_suitable_for_devices:
**/
static void
-gcm_prefs_add_profiles_suitable_for_devices (GcmDeviceType type)
+gcm_prefs_add_profiles_suitable_for_devices (GtkWidget *widget, GcmDeviceType type, const gchar *profile_filename)
{
- GtkTreeModel *combo_model;
- GtkWidget *widget;
+ GtkTreeModel *model;
guint i;
- gchar *displayname;
+ guint added_count = 0;
+ gchar *filename;
+ gboolean ret = FALSE;
GcmProfile *profile;
GcmProfileType profile_type;
GcmProfileType profile_type_tmp;
@@ -1336,27 +1371,41 @@ gcm_prefs_add_profiles_suitable_for_devices (GcmDeviceType type)
profile_type = gcm_utils_device_type_to_profile_type (type);
/* clear existing entries */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
- combo_model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
- gtk_list_store_clear (GTK_LIST_STORE (combo_model));
- g_ptr_array_set_size (profiles_array_in_combo, 0);
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
+ gtk_list_store_clear (GTK_LIST_STORE (model));
/* add profiles of the right type */
for (i=0; i<profiles_array->len; i++) {
profile = g_ptr_array_index (profiles_array, i);
g_object_get (profile,
- "description", &displayname,
"type", &profile_type_tmp,
+ "filename", &filename,
NULL);
+ /* only add correct types */
if (profile_type_tmp == profile_type) {
- g_ptr_array_add (profiles_array_in_combo, g_object_ref (profile));
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), displayname);
+
+ /* add */
+ gcm_prefs_combobox_add_profile (widget, profile);
+
+ /* set active option */
+ if (g_strcmp0 (filename, profile_filename) == 0) {
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), added_count);
+ ret = TRUE;
+ }
+ added_count++;
}
- g_free (displayname);
+ g_free (filename);
}
/* add a clear entry */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("None"));
+ gcm_prefs_combobox_add_profile (widget, NULL);
+ added_count++;
+
+ /* select 'None' if there was no match */
+ if (!ret) {
+ egg_warning ("no match for %s", profile_filename);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), added_count);
+ }
}
/**
@@ -1367,18 +1416,14 @@ gcm_prefs_devices_treeview_clicked_cb (GtkTreeSelection *selection, gpointer use
{
GtkTreeModel *model;
GtkTreeIter iter;
- GcmProfile *profile;
gchar *profile_filename = NULL;
GtkWidget *widget;
gfloat localgamma;
gfloat brightness;
gfloat contrast;
gboolean connected;
- gchar *filename;
- guint i;
gchar *id = NULL;
GcmDeviceType type;
- gboolean ret = FALSE;
gchar *device_serial = NULL;
gchar *device_model = NULL;
gchar *device_manufacturer = NULL;
@@ -1391,7 +1436,7 @@ gcm_prefs_devices_treeview_clicked_cb (GtkTreeSelection *selection, gpointer use
/* get id */
gtk_tree_model_get (model, &iter,
- GPM_DEVICES_COLUMN_ID, &id,
+ GCM_DEVICES_COLUMN_ID, &id,
-1);
/* we have a new device */
@@ -1421,9 +1466,6 @@ gcm_prefs_devices_treeview_clicked_cb (GtkTreeSelection *selection, gpointer use
gtk_widget_set_sensitive (widget, TRUE);
}
- /* add profiles of the right type */
- gcm_prefs_add_profiles_suitable_for_devices (type);
-
g_object_get (current_device,
"profile-filename", &profile_filename,
"gamma", &localgamma,
@@ -1473,34 +1515,9 @@ gcm_prefs_devices_treeview_clicked_cb (GtkTreeSelection *selection, gpointer use
gtk_range_set_value (GTK_RANGE (widget), contrast);
setting_up_device = FALSE;
- /* set correct profile */
- if (profile_filename == NULL) {
- egg_debug ("no profile selected");
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), profiles_array->len);
- } else {
- for (i=0; i<profiles_array_in_combo->len; i++) {
- profile = g_ptr_array_index (profiles_array_in_combo, i);
- g_object_get (profile,
- "filename", &filename,
- NULL);
- if (g_strcmp0 (filename, profile_filename) == 0) {
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
- g_free (filename);
- ret = TRUE;
- break;
- }
- g_free (filename);
- }
- }
-
- /* failed to find profile in combobox */
- if (!ret) {
- egg_debug ("failed to find profile: %s", profile_filename);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), profiles_array_in_combo->len);
- }
+ /* add profiles of the right type */
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
+ gcm_prefs_add_profiles_suitable_for_devices (widget, type, profile_filename);
/* make sure selectable */
widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
@@ -1653,7 +1670,7 @@ gcm_prefs_profiles_treeview_clicked_cb (GtkTreeSelection *selection, gpointer us
/* get profile */
gtk_tree_model_get (model, &iter,
- GPM_PROFILES_COLUMN_PROFILE, &profile,
+ GCM_PROFILES_COLUMN_PROFILE, &profile,
-1);
/* get the new details from the profile */
@@ -1886,10 +1903,10 @@ gcm_prefs_add_device_xrandr (GcmDevice *device)
egg_debug ("add %s to device list", id);
gtk_list_store_append (list_store_devices, &iter);
gtk_list_store_set (list_store_devices, &iter,
- GPM_DEVICES_COLUMN_ID, id,
- GPM_DEVICES_COLUMN_SORT, sort,
- GPM_DEVICES_COLUMN_TITLE, title,
- GPM_DEVICES_COLUMN_ICON, "video-display", -1);
+ GCM_DEVICES_COLUMN_ID, id,
+ GCM_DEVICES_COLUMN_SORT, sort,
+ GCM_DEVICES_COLUMN_TITLE, title,
+ GCM_DEVICES_COLUMN_ICON, "video-display", -1);
g_free (id);
g_free (sort);
g_free (title_tmp);
@@ -1905,14 +1922,14 @@ gcm_prefs_set_combo_simple_text (GtkWidget *combo_box)
GtkCellRenderer *cell;
GtkListStore *store;
- store = gtk_list_store_new (1, G_TYPE_STRING);
+ store = gtk_list_store_new (2, G_TYPE_STRING, GCM_TYPE_PROFILE);
gtk_combo_box_set_model (GTK_COMBO_BOX (combo_box), GTK_TREE_MODEL (store));
g_object_unref (store);
cell = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), cell, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), cell,
- "text", 0,
+ "text", GCM_PREFS_COMBO_COLUMN_TEXT,
NULL);
}
@@ -1958,7 +1975,6 @@ gcm_prefs_add_profiles (GtkWidget *widget)
static void
gcm_prefs_profile_combo_changed_cb (GtkWidget *widget, gpointer data)
{
- gint active;
gchar *profile_old = NULL;
gchar *filename = NULL;
gboolean ret;
@@ -1966,19 +1982,23 @@ gcm_prefs_profile_combo_changed_cb (GtkWidget *widget, gpointer data)
GcmProfile *profile = NULL;
gboolean changed;
GcmDeviceType type;
+ GtkTreeIter iter;
+ GtkTreeModel *model;
/* no devices */
if (current_device == NULL)
return;
/* no selection */
- active = gtk_combo_box_get_active (GTK_COMBO_BOX(widget));
- if (active == -1)
+ ret = gtk_combo_box_get_active_iter (GTK_COMBO_BOX(widget), &iter);
+ if (!ret)
return;
/* get profile */
- if (active < (gint) profiles_array_in_combo->len)
- profile = g_ptr_array_index (profiles_array_in_combo, active);
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX(widget));
+ gtk_tree_model_get (model, &iter,
+ GCM_PREFS_COMBO_COLUMN_PROFILE, &profile,
+ -1);
if (profile != NULL) {
g_object_get (profile,
"filename", &filename,
@@ -2147,10 +2167,10 @@ gcm_prefs_add_device_type (GcmDevice *device)
/* add to list */
gtk_list_store_append (list_store_devices, &iter);
gtk_list_store_set (list_store_devices, &iter,
- GPM_DEVICES_COLUMN_ID, id,
- GPM_DEVICES_COLUMN_SORT, sort,
- GPM_DEVICES_COLUMN_TITLE, string->str,
- GPM_DEVICES_COLUMN_ICON, icon_name, -1);
+ GCM_DEVICES_COLUMN_ID, id,
+ GCM_DEVICES_COLUMN_SORT, sort,
+ GCM_DEVICES_COLUMN_TITLE, string->str,
+ GCM_DEVICES_COLUMN_ICON, icon_name, -1);
g_free (id);
g_free (title);
g_free (sort);
@@ -2183,7 +2203,7 @@ gcm_prefs_remove_device (GcmDevice *gcm_device)
/* get the other elements */
do {
gtk_tree_model_get (model, &iter,
- GPM_DEVICES_COLUMN_ID, &id_tmp,
+ GCM_DEVICES_COLUMN_ID, &id_tmp,
-1);
if (g_strcmp0 (id_tmp, id) == 0) {
gtk_list_store_remove (GTK_LIST_STORE(model), &iter);
@@ -2306,6 +2326,124 @@ gcm_prefs_startup_phase2_idle_cb (gpointer user_data)
}
/**
+ * gcm_prefs_setup_space_combobox:
+ **/
+static void
+gcm_prefs_setup_space_combobox (GtkWidget *widget, GcmProfileColorspace colorspace, const gchar *profile_filename)
+{
+ GcmProfile *profile;
+ guint i;
+ gchar *filename;
+ GcmProfileColorspace colorspace_tmp;
+ guint added_count = 0;
+ gboolean has_vcgt;
+
+ /* update each list */
+ for (i=0; i<profiles_array->len; i++) {
+ profile = g_ptr_array_index (profiles_array, i);
+ g_object_get (profile,
+ "has-vcgt", &has_vcgt,
+ "filename", &filename,
+ "colorspace", &colorspace_tmp,
+ NULL);
+
+ /* only for correct type */
+ if (!has_vcgt && colorspace == colorspace_tmp) {
+ gcm_prefs_combobox_add_profile (widget, profile);
+
+ /* set active option */
+ if (g_strcmp0 (filename, profile_filename) == 0)
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), added_count);
+ added_count++;
+ }
+ g_free (filename);
+ }
+}
+
+/**
+ * gcm_prefs_space_combo_changed_cb:
+ **/
+static void
+gcm_prefs_space_combo_changed_cb (GtkWidget *widget, gpointer data)
+{
+ gboolean ret;
+ GtkTreeIter iter;
+ gchar *filename = NULL;
+ GtkTreeModel *model;
+ GcmProfile *profile = NULL;
+ const gchar *gconf_key = GCM_SETTINGS_COLORSPACE_RGB;
+
+ /* no selection */
+ ret = gtk_combo_box_get_active_iter (GTK_COMBO_BOX(widget), &iter);
+ if (!ret)
+ return;
+
+ /* get profile */
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX(widget));
+ gtk_tree_model_get (model, &iter,
+ GCM_PREFS_COMBO_COLUMN_PROFILE, &profile,
+ -1);
+ if (profile == NULL)
+ goto out;
+ g_object_get (profile,
+ "filename", &filename,
+ NULL);
+
+ if (data != NULL)
+ gconf_key = GCM_SETTINGS_COLORSPACE_CMYK;
+
+ egg_debug ("changed working space %s", filename);
+ gconf_client_set_string (gconf_client, gconf_key, filename, NULL);
+out:
+ if (profile != NULL)
+ g_object_unref (profile);
+ g_free (filename);
+}
+
+
+/**
+ * gcm_prefs_renderer_combo_changed_cb:
+ **/
+static void
+gcm_prefs_renderer_combo_changed_cb (GtkWidget *widget, gpointer data)
+{
+ gint active;
+ const gchar *gconf_key = GCM_SETTINGS_RENDERING_INTENT_DISPLAY;
+ const gchar *value;
+
+ /* no selection */
+ active = gtk_combo_box_get_active (GTK_COMBO_BOX(widget));
+ if (active == -1)
+ return;
+
+ if (data != NULL)
+ gconf_key = GCM_SETTINGS_RENDERING_INTENT_SOFTPROOF;
+
+ /* save to GConf */
+ value = gcm_rendering_intent_to_text (active+1);
+ egg_debug ("changed rendering intent to %s", value);
+ gconf_client_set_string (gconf_client, gconf_key, value, NULL);
+}
+
+/**
+ * gcm_prefs_setup_rendering_combobox:
+ **/
+static void
+gcm_prefs_setup_rendering_combobox (GtkWidget *widget, const gchar *intent)
+{
+ guint i;
+ const gchar *text;
+
+ for (i=1; i<GCM_RENDERING_INTENT_LAST; i++) {
+ text = gcm_rendering_intent_to_localized_text (i);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (widget), text);
+ text = gcm_rendering_intent_to_text (i);
+ if (g_strcmp0 (text, intent) == 0)
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i-1);
+ }
+}
+
+/**
* gcm_prefs_startup_phase1_idle_cb:
**/
static gboolean
@@ -2314,11 +2452,46 @@ gcm_prefs_startup_phase1_idle_cb (gpointer user_data)
GtkWidget *widget;
gboolean ret;
GError *error = NULL;
+ gchar *colorspace_rgb;
+ gchar *colorspace_cmyk;
+ gchar *intent_display;
+ gchar *intent_softproof;
/* add profiles we can find */
widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_profile"));
gcm_prefs_add_profiles (widget);
+ /* setup RGB combobox */
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_space_rgb"));
+ colorspace_rgb = gconf_client_get_string (gconf_client, GCM_SETTINGS_COLORSPACE_RGB, NULL);
+ gcm_prefs_set_combo_simple_text (widget);
+ gcm_prefs_setup_space_combobox (widget, GCM_PROFILE_COLORSPACE_RGB, colorspace_rgb);
+ g_signal_connect (G_OBJECT (widget), "changed",
+ G_CALLBACK (gcm_prefs_space_combo_changed_cb), NULL);
+
+ /* setup CMYK combobox */
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_space_cmyk"));
+ colorspace_cmyk = gconf_client_get_string (gconf_client, GCM_SETTINGS_COLORSPACE_CMYK, NULL);
+ gcm_prefs_set_combo_simple_text (widget);
+ gcm_prefs_setup_space_combobox (widget, GCM_PROFILE_COLORSPACE_CMYK, colorspace_cmyk);
+ g_signal_connect (G_OBJECT (widget), "changed",
+ G_CALLBACK (gcm_prefs_space_combo_changed_cb), (gpointer) "cmyk");
+
+ /* setup rendering lists */
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_rendering_display"));
+ gcm_prefs_set_combo_simple_text (widget);
+ intent_display = gconf_client_get_string (gconf_client, GCM_SETTINGS_RENDERING_INTENT_DISPLAY, NULL);
+ gcm_prefs_setup_rendering_combobox (widget, intent_display);
+ g_signal_connect (G_OBJECT (widget), "changed",
+ G_CALLBACK (gcm_prefs_renderer_combo_changed_cb), NULL);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_rendering_softproof"));
+ gcm_prefs_set_combo_simple_text (widget);
+ intent_softproof = gconf_client_get_string (gconf_client, GCM_SETTINGS_RENDERING_INTENT_SOFTPROOF, NULL);
+ gcm_prefs_setup_rendering_combobox (widget, intent_softproof);
+ g_signal_connect (G_OBJECT (widget), "changed",
+ G_CALLBACK (gcm_prefs_renderer_combo_changed_cb), (gpointer) "softproof");
+
/* coldplug plugged in devices */
ret = gcm_client_add_connected (gcm_client, &error);
if (!ret) {
@@ -2342,6 +2515,10 @@ gcm_prefs_startup_phase1_idle_cb (gpointer user_data)
g_idle_add ((GSourceFunc) gcm_prefs_startup_phase2_idle_cb, NULL);
out:
+ g_free (intent_display);
+ g_free (intent_softproof);
+ g_free (colorspace_rgb);
+ g_free (colorspace_cmyk);
return FALSE;
}
@@ -2419,68 +2596,6 @@ gcm_prefs_checkbutton_profile_cb (GtkWidget *widget, gpointer user_data)
}
/**
- * gcm_prefs_renderer_combo_changed_cb:
- **/
-static void
-gcm_prefs_renderer_combo_changed_cb (GtkWidget *widget, gpointer data)
-{
- gint active;
- /* no selection */
- active = gtk_combo_box_get_active (GTK_COMBO_BOX(widget));
- if (active == -1)
- return;
- //TODO: need to save to GConf
- egg_debug ("changed rendering intent to %i", active);
-}
-
-/**
- * gcm_prefs_space_combo_changed_cb:
- **/
-static void
-gcm_prefs_space_combo_changed_cb (GtkWidget *widget, gpointer data)
-{
- gint active;
- /* no selection */
- active = gtk_combo_box_get_active (GTK_COMBO_BOX(widget));
- if (active == -1)
- return;
- //TODO: need to save to GConf
- egg_debug ("changed working space %i", active);
-}
-
-/**
- * gcm_prefs_setup_rendering_combobox:
- **/
-static void
-gcm_prefs_setup_rendering_combobox (GtkWidget *widget)
-{
- /* TRANSLATORS: rendering intent: you probably want to google this */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Perceptual"));
-
- /* TRANSLATORS: rendering intent: you probably want to google this */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Relative colormetric"));
-
- /* TRANSLATORS: rendering intent: you probably want to google this */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Saturation"));
-
- /* TRANSLATORS: rendering intent: you probably want to google this */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Absolute colormetric"));
-
- /* TRANSLATORS: rendering intent: you probably want to google this */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), _("Disable soft proofing"));
-}
-
-/**
- * gcm_prefs_setup_space_combobox:
- **/
-static void
-gcm_prefs_setup_space_combobox (GtkWidget *widget)
-{
- /* TODO: get from profiles */
- gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "sRGB");
-}
-
-/**
* gcm_prefs_setup_drag_and_drop:
**/
static void
@@ -2564,9 +2679,9 @@ main (int argc, char **argv)
}
/* create list stores */
- list_store_devices = gtk_list_store_new (GPM_DEVICES_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING,
+ list_store_devices = gtk_list_store_new (GCM_DEVICES_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_STRING);
- list_store_profiles = gtk_list_store_new (GPM_PROFILES_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING,
+ list_store_profiles = gtk_list_store_new (GCM_PROFILES_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
/* create device tree view */
@@ -2595,7 +2710,6 @@ main (int argc, char **argv)
/* track in seporate arrays */
profiles_array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- profiles_array_in_combo = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
main_window = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_prefs"));
@@ -2662,43 +2776,6 @@ main (int argc, char **argv)
g_signal_connect (G_OBJECT (widget), "changed",
G_CALLBACK (gcm_prefs_profile_combo_changed_cb), NULL);
- /* setup rendering lists */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_rendering_display"));
- gcm_prefs_set_combo_simple_text (widget);
- gtk_widget_set_sensitive (widget, FALSE);
- gcm_prefs_setup_rendering_combobox (widget);
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gcm_prefs_renderer_combo_changed_cb), NULL);
- //TODO: need to get from GConf
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
-
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_rendering_softproof"));
- gcm_prefs_set_combo_simple_text (widget);
- gtk_widget_set_sensitive (widget, FALSE);
- gcm_prefs_setup_rendering_combobox (widget);
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gcm_prefs_renderer_combo_changed_cb), NULL);
- //TODO: need to get from GConf
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
-
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_space_rgb"));
- gcm_prefs_set_combo_simple_text (widget);
- gtk_widget_set_sensitive (widget, FALSE);
- gcm_prefs_setup_space_combobox (widget);
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gcm_prefs_space_combo_changed_cb), NULL);
- //TODO: need to get from GConf
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
-
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_space_cmyk"));
- gcm_prefs_set_combo_simple_text (widget);
- gtk_widget_set_sensitive (widget, FALSE);
- gcm_prefs_setup_space_combobox (widget);
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gcm_prefs_space_combo_changed_cb), NULL);
- //TODO: need to get from GConf
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
-
/* set ranges */
widget = GTK_WIDGET (gtk_builder_get_object (builder, "hscale_gamma"));
gtk_range_set_range (GTK_RANGE (widget), 0.1f, 5.0f);
@@ -2878,8 +2955,6 @@ out:
g_object_unref (builder);
if (profiles_array != NULL)
g_ptr_array_unref (profiles_array);
- if (profiles_array_in_combo != NULL)
- g_ptr_array_unref (profiles_array_in_combo);
if (gcm_client != NULL)
g_object_unref (gcm_client);
return retval;
diff --git a/src/gcm-profile.c b/src/gcm-profile.c
index 7b1f27c..d60d158 100644
--- a/src/gcm-profile.c
+++ b/src/gcm-profile.c
@@ -50,8 +50,8 @@ static void gcm_profile_finalize (GObject *object);
**/
struct _GcmProfilePrivate
{
- guint profile_type;
- guint colorspace;
+ GcmProfileType profile_type;
+ GcmProfileColorspace colorspace;
guint size;
gboolean has_vcgt;
gchar *description;
diff --git a/src/gcm-profile.h b/src/gcm-profile.h
index 2e1716e..02de6bf 100644
--- a/src/gcm-profile.h
+++ b/src/gcm-profile.h
@@ -65,6 +65,7 @@ struct _GcmProfileClass
};
typedef enum {
+ GCM_PROFILE_TYPE_UNKNOWN,
GCM_PROFILE_TYPE_INPUT_DEVICE,
GCM_PROFILE_TYPE_DISPLAY_DEVICE,
GCM_PROFILE_TYPE_OUTPUT_DEVICE,
@@ -72,10 +73,11 @@ typedef enum {
GCM_PROFILE_TYPE_COLORSPACE_CONVERSION,
GCM_PROFILE_TYPE_ABSTRACT,
GCM_PROFILE_TYPE_NAMED_COLOR,
- GCM_PROFILE_TYPE_UNKNOWN
+ GCM_PROFILE_TYPE_LAST
} GcmProfileType;
typedef enum {
+ GCM_PROFILE_COLORSPACE_UNKNOWN,
GCM_PROFILE_COLORSPACE_XYZ,
GCM_PROFILE_COLORSPACE_LAB,
GCM_PROFILE_COLORSPACE_LUV,
@@ -86,7 +88,7 @@ typedef enum {
GCM_PROFILE_COLORSPACE_HSV,
GCM_PROFILE_COLORSPACE_CMYK,
GCM_PROFILE_COLORSPACE_CMY,
- GCM_PROFILE_COLORSPACE_UNKNOWN
+ GCM_PROFILE_COLORSPACE_LAST
} GcmProfileColorspace;
GType gcm_profile_get_type (void);
diff --git a/src/gcm-utils.c b/src/gcm-utils.c
index 3686a2a..8ffb5e3 100644
--- a/src/gcm-utils.c
+++ b/src/gcm-utils.c
@@ -899,6 +899,65 @@ gcm_utils_format_date_time (const struct tm *created)
return g_strdup (g_strchug (buffer));
}
+/**
+ * gcm_rendering_intent_to_text:
+ **/
+const gchar *
+gcm_rendering_intent_to_text (GcmRenderingIntent intent)
+{
+ if (intent == GCM_RENDERING_INTENT_PERCEPTUAL)
+ return "perceptual";
+ if (intent == GCM_RENDERING_INTENT_RELATIVE_COLORMETRIC)
+ return "relative-colormetric";
+ if (intent == GCM_RENDERING_INTENT_SATURATION)
+ return "saturation";
+ if (intent == GCM_RENDERING_INTENT_ABSOLUTE_COLORMETRIC)
+ return "absolute-colormetric";
+ return "unknown";
+}
+
+/**
+ * gcm_rendering_intent_to_localized_text:
+ **/
+const gchar *
+gcm_rendering_intent_to_localized_text (GcmRenderingIntent intent)
+{
+ if (intent == GCM_RENDERING_INTENT_PERCEPTUAL) {
+ /* TRANSLATORS: rendering intent: you probably want to google this */
+ return _("Perceptual");
+ }
+ if (intent == GCM_RENDERING_INTENT_RELATIVE_COLORMETRIC) {
+ /* TRANSLATORS: rendering intent: you probably want to google this */
+ return _("Relative colormetric");
+ }
+ if (intent == GCM_RENDERING_INTENT_SATURATION) {
+ /* TRANSLATORS: rendering intent: you probably want to google this */
+ return _("Saturation");
+ }
+ if (intent == GCM_RENDERING_INTENT_ABSOLUTE_COLORMETRIC) {
+ /* TRANSLATORS: rendering intent: you probably want to google this */
+ return _("Absolute colormetric");
+ }
+ return "unknown";
+}
+
+/**
+ * gcm_rendering_intent_from_text:
+ **/
+GcmRenderingIntent
+gcm_rendering_intent_from_text (const gchar *intent)
+{
+ if (g_strcmp0 (intent, "perceptual") == 0)
+ return GCM_RENDERING_INTENT_PERCEPTUAL;
+ if (g_strcmp0 (intent, "relative-colormetric") == 0)
+ return GCM_RENDERING_INTENT_RELATIVE_COLORMETRIC;
+ if (g_strcmp0 (intent, "saturation") == 0)
+ return GCM_RENDERING_INTENT_SATURATION;
+ if (g_strcmp0 (intent, "absolute-colormetric") == 0)
+ return GCM_RENDERING_INTENT_ABSOLUTE_COLORMETRIC;
+ return GCM_RENDERING_INTENT_UNKNOWN;
+}
+
/***************************************************************************
*** MAKE CHECK TESTS ***
***************************************************************************/
diff --git a/src/gcm-utils.h b/src/gcm-utils.h
index 10884cf..18eec1a 100644
--- a/src/gcm-utils.h
+++ b/src/gcm-utils.h
@@ -35,7 +35,19 @@
#define GCM_SETTINGS_DEFAULT_GAMMA "/apps/gnome-color-manager/default_gamma"
#define GCM_SETTINGS_GLOBAL_DISPLAY_CORRECTION "/apps/gnome-color-manager/global_display_correction"
#define GCM_SETTINGS_SET_ICC_PROFILE_ATOM "/apps/gnome-color-manager/set_icc_profile_atom"
-#define GCM_SETTINGS_OUTPUT_INTENT "/apps/gnome-color-manager/output_intent"
+#define GCM_SETTINGS_RENDERING_INTENT_DISPLAY "/apps/gnome-color-manager/rendering_intent_display"
+#define GCM_SETTINGS_RENDERING_INTENT_SOFTPROOF "/apps/gnome-color-manager/rendering_intent_softproof"
+#define GCM_SETTINGS_COLORSPACE_RGB "/apps/gnome-color-manager/colorspace_rgb"
+#define GCM_SETTINGS_COLORSPACE_CMYK "/apps/gnome-color-manager/colorspace_cmyk"
+
+typedef enum {
+ GCM_RENDERING_INTENT_UNKNOWN,
+ GCM_RENDERING_INTENT_PERCEPTUAL,
+ GCM_RENDERING_INTENT_RELATIVE_COLORMETRIC,
+ GCM_RENDERING_INTENT_SATURATION,
+ GCM_RENDERING_INTENT_ABSOLUTE_COLORMETRIC,
+ GCM_RENDERING_INTENT_LAST
+} GcmRenderingIntent;
gboolean gcm_utils_set_gamma_for_device (GcmDevice *device,
GError **error);
@@ -60,6 +72,12 @@ void gcm_utils_ensure_sane_length (gchar *text,
void gcm_utils_ensure_printable (gchar *text);
gboolean gcm_utils_is_icc_profile (const gchar *filename);
gchar *gcm_utils_linkify (const gchar *text);
+GcmRenderingIntent
+gcm_rendering_intent_from_text (const gchar *intent);
+const gchar *
+gcm_rendering_intent_to_localized_text (GcmRenderingIntent intent);
+const gchar *
+gcm_rendering_intent_to_text (GcmRenderingIntent intent);
#endif /* __GCM_UTILS_H */
diff --git a/src/org.gnome.ColorManager.xml b/src/org.gnome.ColorManager.xml
index 776b8fa..2ce686e 100644
--- a/src/org.gnome.ColorManager.xml
+++ b/src/org.gnome.ColorManager.xml
@@ -15,27 +15,24 @@
</doc:doc>
<!--*****************************************************************************************-->
- <property name="OutputIntent" type="s" access="read">
+ <property name="RenderingIntentDisplay" type="s" access="read">
<doc:doc>
<doc:description>
<doc:para>
- The rendering itent for the output.
+ The rendering intent for the display.
</doc:para>
<doc:list>
<doc:item>
<doc:term>perceptual</doc:term><doc:definition>Perceptual</doc:definition>
</doc:item>
<doc:item>
- <doc:term>rel-colormetric</doc:term><doc:definition>Relative colormetric</doc:definition>
+ <doc:term>relative-colormetric</doc:term><doc:definition>Relative colormetric</doc:definition>
</doc:item>
<doc:item>
<doc:term>saturation</doc:term><doc:definition>Saturation</doc:definition>
</doc:item>
<doc:item>
- <doc:term>abs-colormetric</doc:term><doc:definition>Absolute colormetric</doc:definition>
- </doc:item>
- <doc:item>
- <doc:term>disabled</doc:term><doc:definition>Disabled</doc:definition>
+ <doc:term>absolute-colormetric</doc:term><doc:definition>Absolute colormetric</doc:definition>
</doc:item>
</doc:list>
</doc:description>
@@ -43,6 +40,17 @@
</property>
<!--*****************************************************************************************-->
+ <property name="RenderingIntentSoftproof" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The rendering intent for softproofing.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <!--*****************************************************************************************-->
<method name="GetProfilesForDevice">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<doc:doc>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]