gnome-scan r697 - in trunk: . lib



Author: bersace
Date: Mon Dec 15 20:55:20 2008
New Revision: 697
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=697&view=rev

Log:
Add custom changed signal to option enum.

Modified:
   trunk/ChangeLog
   trunk/lib/gnome-scan-combo-box-widget.vala
   trunk/lib/gnome-scan-option.vala

Modified: trunk/lib/gnome-scan-combo-box-widget.vala
==============================================================================
--- trunk/lib/gnome-scan-combo-box-widget.vala	(original)
+++ trunk/lib/gnome-scan-combo-box-widget.vala	Mon Dec 15 20:55:20 2008
@@ -49,7 +49,7 @@
 
 			var option = this.option as OptionEnum;
 			Gnome.Scan.EnumValue? curval = option.value;
-			foreach(Gnome.Scan.EnumValue? value in option.values) {
+			foreach(weak Gnome.Scan.EnumValue? value in option.values) {
 				store.append(out iter);
 				store.set(iter,
 						  Column.LABEL, value.label,
@@ -62,7 +62,7 @@
 			}
 
 			combo.changed += this.on_combo_changed;
-			option.notify["value"] += this.on_option_changed;
+			option.changed += this.on_option_changed;
 
 			// don't show one option selector. Thanks Philipp for
 			// pointing that.
@@ -73,16 +73,21 @@
 		private void on_combo_changed()
 		{
 			TreeIter iter;
-			weak Gnome.Scan.EnumValue value;
+			weak Gnome.Scan.EnumValue? value;
+			weak string label;
 
 			if (inhibit)
 				return;
 
 			combo.get_active_iter(out iter);
-			store.get(iter, Column.VALUE, out value);
+			store.get(iter,
+					  Column.VALUE, out value,
+					  Column.LABEL, out label);
 
 			inhibit = true;
-			((OptionEnum)option).value = value;
+			var option = this.option as OptionEnum;
+			option.value = value;
+			option.changed();
 			inhibit = false;
 		}
 

Modified: trunk/lib/gnome-scan-option.vala
==============================================================================
--- trunk/lib/gnome-scan-option.vala	(original)
+++ trunk/lib/gnome-scan-option.vala	Mon Dec 15 20:55:20 2008
@@ -134,6 +134,9 @@
 			}
 		}
 
+		// workaround vala not registering value option ;/
+		public signal void changed();
+
 		public OptionEnum(string name, string title, string desc, string group, string domain, Gnome.Scan.EnumValue? value, SList<Gnome.Scan.EnumValue?> values, OptionHint hint)
 		{
 			this.name = name;



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