Index: gtkfrontend/programmerspage.vala
===================================================================
--- gtkfrontend/programmerspage.vala	(revision dfe49c76fe79c726339d9cad8d91dc6242eb2959)
+++ gtkfrontend/programmerspage.vala	(revision e097a83094ea57e6da853734dcba35792548f2fc)
@@ -67,9 +67,5 @@
 	}
 	
-	public string current_clock
-	{
-		set { _clock_entry.text = value; }
-		get { return _clock_entry.text; }
-	}
+	public string current_clock { set; get; }
 	
 	public string current_device
@@ -79,99 +75,20 @@
 	}
 	
-	public string current_fuses
-	{
-		set { _fuses_entry.text = value; }
-		get { return _fuses_entry.text; }
-	}
-	
-	public bool serial_port_visible
-	{
-		set { _serial_ports_combo.visible = value; }
-		get { return _serial_ports_combo.visible; }
-	}
-	
-	public bool baud_rate_visible
-	{
-		set { _baud_rates_combo.visible = value; }
-		get { return _baud_rates_combo.visible; }
-	}
-	
-	public bool devices_file_visible
-	{
-		set { _devices_file_vbox.visible = value; }
-		get { return _devices_file_vbox.visible; }
-	}
-	
-	public bool devices_folder_visible
-	{
-		set { _devices_folder_vbox.visible = value; }
-		get { return _devices_folder_vbox.visible; }
-	}
-	
-	public bool clock_visible
-	{
-		set { _clock_vbox.visible = value; }
-		get { return _clock_vbox.visible; }
-	}
-	
-	public bool device_visible
-	{
-		set { _devices_combo.visible = value; }
-		get { return _devices_combo.visible; }
-	}
-	
-	public bool fuses_visible
-	{
-		set { _fuses_vbox.visible = value; }
-		get { return _fuses_vbox.visible; }
-	}
-	
-	public bool programmer_sensitive
-	{
-		set { _programmers_combo.sensitive = value; }
-		get { return _programmers_combo.sensitive; }
-	}
-	
-	public bool serial_port_sensitive
-	{
-		set { _serial_ports_combo.sensitive = value; }
-		get { return _serial_ports_combo.sensitive; }
-	}
-	
-	public bool baud_rate_sensitive
-	{
-		set { _baud_rates_combo.sensitive = value; }
-		get { return _baud_rates_combo.sensitive; }
-	}
-	
-	public bool devices_file_sensitive
-	{
-		set { _devices_file_vbox.sensitive = value; }
-		get { return _devices_file_vbox.sensitive; }
-	}
-	
-	public bool devices_folder_sensitive
-	{
-		set { _devices_folder_vbox.sensitive = value; }
-		get { return _devices_folder_vbox.sensitive; }
-	}
-	
-	public bool clock_sensitive
-	{
-		set { _clock_vbox.sensitive = value; }
-		get { return _clock_vbox.sensitive; }
-	}
-	
-	public bool device_sensitive
-	{
-		set { _devices_combo.sensitive = value; }
-		get { return _devices_combo.sensitive; }
-	}
-	
-	public bool fuses_sensitive
-	{
-		set { _fuses_vbox.sensitive = value; }
-		get { return _fuses_vbox.sensitive; }
-	}
+	public string current_fuses { set; get; }
+	public bool serial_port_visible { set; get; }
+	public bool baud_rate_visible { set; get; }
+	public bool devices_file_visible { set; get; }
+	public bool devices_folder_visible { set; get; }
+	public bool clock_visible { set; get; }
+	public bool device_visible { set; get; }
+	public bool fuses_visible { set; get; }
+	public bool programmer_sensitive { set; get; }
+	public bool serial_port_sensitive { set; get; }
+	public bool baud_rate_sensitive { set; get; }
+	public bool devices_file_sensitive { set; get; }
+	public bool devices_folder_sensitive { set; get; }
+	public bool clock_sensitive { set; get; }
+	public bool device_sensitive { set; get; }
+	public bool fuses_sensitive { set; get; }
 	
 	public ProgrammersPage ()
@@ -202,4 +119,23 @@
 		show_all ();
 		
+		//Bind properties
+		bind_property ("current-clock", _clock_entry, "text", BindingFlags.BIDIRECTIONAL);
+		bind_property ("current-fuses", _fuses_entry, "text", BindingFlags.BIDIRECTIONAL);
+		bind_property ("serial-port-visible", _serial_ports_combo, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("baud-rate-visible", _baud_rates_combo, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("devices-file-visible", _devices_file_vbox, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("devices-folder-visible", _devices_folder_vbox, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("clock-visible", _clock_vbox, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("device-visible", _devices_combo, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("fuses-visible", _fuses_vbox, "visible", BindingFlags.BIDIRECTIONAL);
+		bind_property ("programmer-sensitive", _programmers_combo, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("serial-port-sensitive", _serial_ports_combo, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("baud-rate-sensitive", _baud_rates_combo, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("devices-file-sensitive", _devices_file_vbox, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("devices-folder-sensitive", _devices_folder_vbox, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("clock-sensitive", _clock_vbox, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("device-sensitive", _devices_combo, "sensitive", BindingFlags.BIDIRECTIONAL);
+		bind_property ("fuses-sensitive", _fuses_vbox, "sensitive", BindingFlags.BIDIRECTIONAL);
+		
 		//Connect signals
 		_programmers_combo.item_changed.connect (() => this.programmer_changed ());
@@ -209,7 +145,5 @@
 		_devices_file_chooser.selection_changed.connect (() => this.devices_file_changed ());
 		_devices_folder_chooser.selection_changed.connect (() => this.devices_folder_changed ());
-		_clock_entry.changed.connect (() => this.clock_changed ());
 		_devices_combo.item_changed.connect (() => this.device_changed ());
-		_fuses_entry.changed.connect (() => this.fuses_changed ());
 	}
 	
Index: libi4uccore/programmerslogic.vala
===================================================================
--- libi4uccore/programmerslogic.vala	(revision 628f3dc614aeb64636b8b50cb2c7413053d2e490)
+++ libi4uccore/programmerslogic.vala	(revision e097a83094ea57e6da853734dcba35792548f2fc)
@@ -65,7 +65,7 @@
 		_view.page.devices_file_changed.connect (on_devices_file_changed);
 		_view.page.devices_folder_changed.connect (on_devices_folder_changed);
-		_view.page.clock_changed.connect (on_clock_changed);
+		_view.page.notify["current-clock"].connect (on_clock_changed);
 		_view.page.device_changed.connect (on_device_changed);
-		_view.page.fuses_changed.connect (on_fuses_changed);
+		_view.page.notify["current-fuses"].connect (on_fuses_changed);
 		_view.write_flash_clicked.connect (on_write_flash_clicked);
 		_view.read_flash_clicked.connect (on_read_flash_clicked);
Index: libi4uccore/programmerspage.vala
===================================================================
--- libi4uccore/programmerspage.vala	(revision dfe49c76fe79c726339d9cad8d91dc6242eb2959)
+++ libi4uccore/programmerspage.vala	(revision e097a83094ea57e6da853734dcba35792548f2fc)
@@ -53,7 +53,5 @@
 	public signal void devices_file_changed ();
 	public signal void devices_folder_changed ();
-	public signal void clock_changed ();
 	public signal void device_changed ();
-	public signal void fuses_changed ();
 	
 	public signal void update_serial_port_clicked ();
