[Rawstudio-commit] r763 - trunk/src

Anders Brander anders at brander.dk
Tue Sep 5 11:39:42 CEST 2006


Author: abrander
Date: 2006-09-05 11:39:41 +0200 (Tue, 05 Sep 2006)
New Revision: 763

Modified:
   trunk/src/conf_interface.h
   trunk/src/gtk-helper.c
   trunk/src/rawstudio.c
   trunk/src/rawstudio.h
Log:
Added option to disable CMS.

Modified: trunk/src/conf_interface.h
===================================================================
--- trunk/src/conf_interface.h	2006-09-05 09:21:35 UTC (rev 762)
+++ trunk/src/conf_interface.h	2006-09-05 09:39:41 UTC (rev 763)
@@ -32,6 +32,7 @@
 #define CONF_EXPORT_FILENAME "export_filename"
 #define CONF_EXPORT_FILETYPE "export_filetype"
 #define CONF_EXPORT_JPEG_QUALITY "export_jpeg_quality"
+#define CONF_CMS_DISABLED "cms_disabled"
 #define CONF_CMS_INTENT "cms_intent"
 #define CONF_CMS_IN_PROFILE_LIST "cms_in_profile_list"
 #define CONF_CMS_IN_PROFILE_SELECTED "cms_in_profile_selected"

Modified: trunk/src/gtk-helper.c
===================================================================
--- trunk/src/gtk-helper.c	2006-09-05 09:21:35 UTC (rev 762)
+++ trunk/src/gtk-helper.c	2006-09-05 09:39:41 UTC (rev 763)
@@ -146,6 +146,18 @@
 }
 
 void
+cms_disable_toggled(GtkToggleButton *togglebutton, gpointer user_data)
+{
+	RS_BLOB *rs = (RS_BLOB *) user_data;
+	rs_local_cachedir(togglebutton->active);
+	rs_conf_set_boolean(CONF_CMS_DISABLED, togglebutton->active);
+	rs->cms_disabled = togglebutton->active;
+	rs_cms_prepare_transforms(rs);
+	update_preview_callback(NULL, rs);
+	return;
+}
+
+void
 gui_cms_in_profile_combobox_changed(GtkComboBox *combobox, gpointer user_data)
 {
 	RS_BLOB *rs = (RS_BLOB *) user_data;
@@ -367,8 +379,10 @@
 	GSList *temp_conf_gslist;
 	GSList *temp_new_gslist = NULL;
 	gchar *temp_conf_string;
+	gboolean cms_disable;
 
 	GtkWidget *cms_page;
+	GtkWidget *cms_disable_check;
 	GtkWidget *cms_in_profile_hbox;
 	GtkWidget *cms_in_profile_label;
 	GtkWidget *cms_in_profile_combobox;
@@ -388,6 +402,13 @@
 	cms_page = gtk_vbox_new(FALSE, 4);
 	gtk_container_set_border_width (GTK_CONTAINER (cms_page), 6);
 
+	cms_disable_check = gtk_check_button_new_with_label(_("Disable color management"));
+	if(!rs_conf_get_boolean(CONF_CMS_DISABLED, &cms_disable))
+		cms_disable = TRUE;
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cms_disable_check), cms_disable);
+	g_signal_connect ((gpointer) cms_disable_check, "toggled", G_CALLBACK (cms_disable_toggled), rs);
+	gtk_box_pack_start (GTK_BOX (cms_page), cms_disable_check, FALSE, TRUE, 0);
+
 	cms_in_profile_hbox = gtk_hbox_new(FALSE, 0);
 	cms_in_profile_label = gtk_label_new(_("Input profile"));
 	gtk_misc_set_alignment(GTK_MISC(cms_in_profile_label), 0.0, 0.5);

Modified: trunk/src/rawstudio.c
===================================================================
--- trunk/src/rawstudio.c	2006-09-05 09:21:35 UTC (rev 762)
+++ trunk/src/rawstudio.c	2006-09-05 09:39:41 UTC (rev 763)
@@ -1898,6 +1898,10 @@
 			genericRGBProfile, TYPE_RGB_8, rs->cms_intent, 0);
 	cmsSetUserFormatters(exportTransform, TYPE_RGB_16, mycms_unroll_rgb_w, TYPE_RGB_8, mycms_pack_rgb_b);
 
+	if (rs->cms_disabled)
+		rs_render = rs_render_nocms;
+	else
+		rs_render = rs_render_cms;
 	return;
 }
 
@@ -1949,8 +1953,9 @@
 	rs->cms_intent = INTENT_PERCEPTUAL; /* default intent */
 	rs_conf_get_cms_intent(CONF_CMS_INTENT, &rs->cms_intent);
 
+	rs->cms_disabled = TRUE;
+	rs_conf_get_boolean(CONF_CMS_DISABLED, &rs->cms_disabled);
 	rs_cms_prepare_transforms(rs);
-	rs_render = rs_render_cms;
 	return;
 }
 

Modified: trunk/src/rawstudio.h
===================================================================
--- trunk/src/rawstudio.h	2006-09-05 09:21:35 UTC (rev 762)
+++ trunk/src/rawstudio.h	2006-09-05 09:39:41 UTC (rev 763)
@@ -196,6 +196,7 @@
 	void *exportProfile;
 	gchar *exportProfileFilename;
 	gint cms_intent;
+	gboolean cms_disabled;
 } RS_BLOB;
 
 enum {




More information about the Rawstudio-commit mailing list