f-spot r4256 - in trunk: . src src/ColorAdjustment src/Editors



Author: rubenv
Date: Wed Aug 13 21:16:50 2008
New Revision: 4256
URL: http://svn.gnome.org/viewvc/f-spot?rev=4256&view=rev

Log:
2008-08-13  Ruben Vermeersch  <ruben savanne be>

	Port the Color Adjustment dialog to the sidebar.

	* src/ColorAdjustment/FullColorAdjustment.cs: Added. Performs a full color
	adjustment, used by the adjust color editor.

	* src/Editors/ColorEditor.cs: Added. The color editor UI.

	* src/FSpot.addin.xml: Add the Color editor.

	* src/Makefile.am: Add the two new files.

	* src/f-spot.glade: Add a new color_editor_prefs widget, used by the color
	editor.


Added:
   trunk/src/ColorAdjustment/FullColorAdjustment.cs
   trunk/src/Editors/ColorEditor.cs
Modified:
   trunk/ChangeLog
   trunk/src/FSpot.addin.xml
   trunk/src/Makefile.am
   trunk/src/f-spot.glade

Added: trunk/src/ColorAdjustment/FullColorAdjustment.cs
==============================================================================
--- (empty file)
+++ trunk/src/ColorAdjustment/FullColorAdjustment.cs	Wed Aug 13 21:16:50 2008
@@ -0,0 +1,60 @@
+/*
+ * FullColorAdjustment.cs
+ * 
+ * Copyright 2006, 2007 Novell Inc.
+ *
+ * Author
+ *   Larry Ewing <lewing novell com>
+ *   Ruben Vermeersch <ruben savanne be>
+ *
+ * See COPYING for license information
+ *
+ */
+using Cms;
+using Gdk;
+using System;
+using System.Collections.Generic;
+
+namespace FSpot.ColorAdjustment {
+	public class FullColorAdjustment : Adjustment {
+		private double exposure;
+		private double brightness;
+		private double contrast;
+		private double hue;
+		private double saturation;
+		private Cms.ColorCIEXYZ src_wp;
+		private Cms.ColorCIEXYZ dest_wp;
+
+		public FullColorAdjustment (Pixbuf input, Cms.Profile input_profile, 
+				double exposure, double brightness, double contrast, 
+				double hue, double saturation, 
+				Cms.ColorCIEXYZ src_wp, Cms.ColorCIEXYZ dest_wp) 
+			: base (input, input_profile)
+		{
+			this.exposure = exposure;
+			this.brightness = brightness;
+			this.contrast = contrast;
+			this.hue = hue;
+			this.saturation = saturation;
+			this.src_wp = src_wp;
+			this.dest_wp = dest_wp;
+		}
+
+		protected override List <Cms.Profile> GenerateAdjustments ()
+		{
+			List <Cms.Profile> profiles = new List <Cms.Profile> ();
+			profiles.Add (InputProfile);
+			profiles.Add (Cms.Profile.CreateAbstract (nsteps,
+						Math.Pow (Math.Sqrt (2.0), exposure),
+						brightness,
+						contrast,
+						hue,
+						saturation,
+						null,
+						src_wp.ToxyY (),
+						dest_wp.ToxyY ()));
+			profiles.Add (DestinationProfile);
+			return profiles;
+		}
+	}
+}

Added: trunk/src/Editors/ColorEditor.cs
==============================================================================
--- (empty file)
+++ trunk/src/Editors/ColorEditor.cs	Wed Aug 13 21:16:50 2008
@@ -0,0 +1,98 @@
+/*
+ * ColorEditor.cs
+ *
+ * Author(s)
+ *	Larry Ewing <lewing novell com>
+ * 	Ruben Vermeersch <ruben savanne be>
+ *
+ * This is free software. See COPYING for details.
+ */
+
+using FSpot;
+using FSpot.ColorAdjustment;
+using Gdk;
+using Gtk;
+using Mono.Unix;
+using System;
+
+namespace FSpot.Editors {
+	class ColorEditor : Editor {
+		private Glade.XML xml;
+
+		[Glade.Widget] private Gtk.HScale exposure_scale;
+		[Glade.Widget] private Gtk.HScale temp_scale;
+		[Glade.Widget] private Gtk.HScale temptint_scale;
+		[Glade.Widget] private Gtk.HScale brightness_scale;
+		[Glade.Widget] private Gtk.HScale contrast_scale;
+		[Glade.Widget] private Gtk.HScale hue_scale;
+		[Glade.Widget] private Gtk.HScale sat_scale;
+
+		[Glade.Widget] private Gtk.SpinButton exposure_spinbutton;
+		[Glade.Widget] private Gtk.SpinButton temp_spinbutton;
+		[Glade.Widget] private Gtk.SpinButton temptint_spinbutton;
+		[Glade.Widget] private Gtk.SpinButton brightness_spinbutton;
+		[Glade.Widget] private Gtk.SpinButton contrast_spinbutton;
+		[Glade.Widget] private Gtk.SpinButton hue_spinbutton;
+		[Glade.Widget] private Gtk.SpinButton sat_spinbutton;
+
+		public ColorEditor () : base (Catalog.GetString ("Adjust Colors"), "adjust-colors") {
+			// FIXME: need tooltip Catalog.GetString ("Adjust the photo colors")
+			HasSettings = true;
+			ApplyLabel = Catalog.GetString ("Adjust");
+		}
+
+		public override Widget ConfigurationWidget () {
+			xml = new Glade.XML (null, "f-spot.glade", "color_editor_prefs", "f-spot");
+			xml.Autoconnect (this);
+			AttachInterface ();
+			return xml.GetWidget ("color_editor_prefs");;
+		}
+
+		private void AttachInterface () {
+			exposure_spinbutton.Adjustment = exposure_scale.Adjustment;
+			temp_spinbutton.Adjustment = temp_scale.Adjustment;
+			temptint_spinbutton.Adjustment = temptint_scale.Adjustment;
+			brightness_spinbutton.Adjustment = brightness_scale.Adjustment;
+			contrast_spinbutton.Adjustment = contrast_scale.Adjustment;
+			hue_spinbutton.Adjustment = hue_scale.Adjustment;
+			sat_spinbutton.Adjustment = sat_scale.Adjustment;
+
+			temp_spinbutton.Adjustment.ChangeValue ();
+			temptint_spinbutton.Adjustment.ChangeValue ();
+			brightness_spinbutton.Adjustment.ChangeValue ();
+			contrast_spinbutton.Adjustment.ChangeValue ();
+			hue_spinbutton.Adjustment.ChangeValue ();
+			sat_spinbutton.Adjustment.ChangeValue ();
+			hue_spinbutton.Adjustment.ChangeValue ();
+			sat_spinbutton.Adjustment.ChangeValue ();
+
+			exposure_scale.ValueChanged += RangeChanged;
+			temp_scale.ValueChanged += RangeChanged;
+			temptint_scale.ValueChanged += RangeChanged;
+			brightness_scale.ValueChanged += RangeChanged;
+			contrast_scale.ValueChanged += RangeChanged;
+			hue_scale.ValueChanged += RangeChanged;
+			sat_scale.ValueChanged += RangeChanged;
+		}
+
+		public void RangeChanged (object sender, EventArgs args) {
+			UpdatePreview ();
+		}
+
+		protected override Pixbuf Process (Pixbuf input, Cms.Profile input_profile) {
+			Cms.ColorCIEXYZ src_wp;
+			Cms.ColorCIEXYZ dest_wp;
+
+			src_wp = Cms.ColorCIExyY.WhitePointFromTemperature (5000).ToXYZ ();
+			dest_wp = Cms.ColorCIExyY.WhitePointFromTemperature ((int)temp_scale.Value).ToXYZ ();
+			Cms.ColorCIELab dest_lab = dest_wp.ToLab (src_wp);
+			dest_lab.a += temptint_scale.Value;
+			dest_wp = dest_lab.ToXYZ (src_wp);
+
+			FullColorAdjustment adjust = new FullColorAdjustment (input, input_profile,
+					exposure_scale.Value, brightness_scale.Value, contrast_scale.Value,
+					hue_scale.Value, sat_scale.Value, src_wp, dest_wp);
+			return adjust.Adjust ();
+		}
+	}
+}

Modified: trunk/src/FSpot.addin.xml
==============================================================================
--- trunk/src/FSpot.addin.xml	(original)
+++ trunk/src/FSpot.addin.xml	Wed Aug 13 21:16:50 2008
@@ -70,5 +70,6 @@
 		<Editor editor_type = "FSpot.Editors.TiltEditor"/>
 		<Editor editor_type = "FSpot.Editors.SoftFocusEditor"/>
 		<Editor editor_type = "FSpot.Editors.AutoStretchEditor"/>
+		<Editor editor_type = "FSpot.Editors.ColorEditor"/>
 	</Extension>
 </Addin>

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Wed Aug 13 21:16:50 2008
@@ -84,6 +84,7 @@
 	$(srcdir)/ColorAdjustment/Adjustment.cs		\
 	$(srcdir)/ColorAdjustment/AutoStretch.cs		\
 	$(srcdir)/ColorAdjustment/Desaturate.cs		\
+	$(srcdir)/ColorAdjustment/FullColorAdjustment.cs		\
 	$(srcdir)/ColorAdjustment/SepiaTone.cs		\
 	$(srcdir)/CompatFileChooser.cs		\
 	$(srcdir)/ControlOverlay.cs		\
@@ -98,6 +99,7 @@
 	$(srcdir)/Editors/Editor.cs		\
 	$(srcdir)/Editors/AutoStretchEditor.cs		\
 	$(srcdir)/Editors/CropEditor.cs		\
+	$(srcdir)/Editors/ColorEditor.cs		\
 	$(srcdir)/Editors/DesaturateEditor.cs		\
 	$(srcdir)/Editors/RedEyeEditor.cs		\
 	$(srcdir)/Editors/SepiaEditor.cs		\

Modified: trunk/src/f-spot.glade
==============================================================================
--- trunk/src/f-spot.glade	(original)
+++ trunk/src/f-spot.glade	Wed Aug 13 21:16:50 2008
@@ -6067,6 +6067,644 @@
       </widget>
     </child>
   </widget>
+
+<widget class="GtkWindow" id="color_editor_prefs_window">
+  <property name="title" translatable="yes"></property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="color_editor_prefs">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+	<widget class="GtkExpander" id="expander13">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="expanded">True</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkTable" id="table20">
+	      <property name="border_width">6</property>
+	      <property name="visible">True</property>
+	      <property name="n_rows">10</property>
+	      <property name="n_columns">2</property>
+	      <property name="homogeneous">False</property>
+	      <property name="row_spacing">0</property>
+	      <property name="column_spacing">6</property>
+
+	      <child>
+		<widget class="GtkSpinButton" id="contrast_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">2</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">0 -1 1 0.00999999977648 0.00999999977648 0.10000000149</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">8</property>
+		  <property name="bottom_attach">9</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkSpinButton" id="hue_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">0</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">0 0 100 1 10 10</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">6</property>
+		  <property name="bottom_attach">7</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkSpinButton" id="brightness_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">1</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">0 0 100 1 10 10</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">4</property>
+		  <property name="bottom_attach">5</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkSpinButton" id="sat_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">0</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">0 0 100 1 10 10</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="exposure_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_TOP</property>
+		  <property name="digits">1</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">0 -4 4 0.10000000149 0.10000000149 0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="sat_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_RIGHT</property>
+		  <property name="digits">0</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">0 -100 100 1 10 0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">3</property>
+		  <property name="bottom_attach">4</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="brightness_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_RIGHT</property>
+		  <property name="digits">1</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">0 -100 100 1 1 0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">5</property>
+		  <property name="bottom_attach">6</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="hue_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_RIGHT</property>
+		  <property name="digits">0</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">0 -180 180 0.5 36 0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">7</property>
+		  <property name="bottom_attach">8</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="contrast_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_RIGHT</property>
+		  <property name="digits">2</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">0 -1 1 0.00999999977648 0.00999999977648 0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">9</property>
+		  <property name="bottom_attach">10</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkSpinButton" id="exposure_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">1</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">0 -4 4 1 10 10</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label166">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">C_ontrast:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_CENTER</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">contrast_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">8</property>
+		  <property name="bottom_attach">9</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label163">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">_Hue:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_RIGHT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">hue_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">6</property>
+		  <property name="bottom_attach">7</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label164">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">_Brightness:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_RIGHT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">brightness_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">4</property>
+		  <property name="bottom_attach">5</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label167">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">_Saturation:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">sat_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label165">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">_Exposure:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">exposure_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label168">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;Co_rrections&lt;/b&gt;</property>
+	      <property name="use_underline">True</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkExpander" id="expander14">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="expanded">True</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkTable" id="table21">
+	      <property name="border_width">6</property>
+	      <property name="visible">True</property>
+	      <property name="n_rows">4</property>
+	      <property name="n_columns">2</property>
+	      <property name="homogeneous">False</property>
+	      <property name="row_spacing">0</property>
+	      <property name="column_spacing">6</property>
+
+	      <child>
+		<widget class="GtkSpinButton" id="temp_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">0</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">1 0 100 1 10 10</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkSpinButton" id="temptint_spinbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="climb_rate">1</property>
+		  <property name="digits">0</property>
+		  <property name="numeric">False</property>
+		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		  <property name="snap_to_ticks">False</property>
+		  <property name="wrap">False</property>
+		  <property name="adjustment">0 0 100 1 10 10</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
+		  <property name="x_options"></property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="temp_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_TOP</property>
+		  <property name="digits">0</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">5000 1000 25000 1 100 0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHScale" id="temptint_scale">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="draw_value">False</property>
+		  <property name="value_pos">GTK_POS_TOP</property>
+		  <property name="digits">0</property>
+		  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+		  <property name="inverted">False</property>
+		  <property name="adjustment">0 -150 150 1 12 24</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">2</property>
+		  <property name="top_attach">3</property>
+		  <property name="bottom_attach">4</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label169">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">_Tint:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">temptint_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label170">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">Te_mp:</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="mnemonic_widget">temp_scale</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label171">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;_White Balance&lt;/b&gt;</property>
+	      <property name="use_underline">True</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="label172">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes"></property>
+	  <property name="use_underline">False</property>
+	  <property name="use_markup">False</property>
+	  <property name="justify">GTK_JUSTIFY_LEFT</property>
+	  <property name="wrap">False</property>
+	  <property name="selectable">False</property>
+	  <property name="xalign">0.5</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">0</property>
+	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	  <property name="width_chars">-1</property>
+	  <property name="single_line_mode">False</property>
+	  <property name="angle">0</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
   <widget class="GtkDialog" id="main_preferences">
     <property name="visible">True</property>
     <property name="title" translatable="yes">Preferences</property>



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