gnome-scan r654 - in trunk: . lib



Author: bersace
Date: Thu Dec 11 20:48:34 2008
New Revision: 654
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=654&view=rev

Log:
Use Pane in front tab and destroy deselected scanner option widgets.

Modified:
   trunk/ChangeLog
   trunk/lib/gnome-scan-dialog.vala

Modified: trunk/lib/gnome-scan-dialog.vala
==============================================================================
--- trunk/lib/gnome-scan-dialog.vala	(original)
+++ trunk/lib/gnome-scan-dialog.vala	Thu Dec 11 20:48:34 2008
@@ -70,7 +70,7 @@
 
 			this.border_width	= 6;
 			this.default_width	= 320;
-			this.default_height	= 420;
+			this.default_height	= 440;
 			this.icon_name		= "scanner";
 			this.title			= _("Scan");
 			this.window_position= WindowPosition.CENTER;
@@ -187,23 +187,25 @@
 
 		private void build_general_tab()
 		{
-			Widget page;
-			Box box;
+			var paned = new VPaned();
+			selector = new ScannerSelector(this.job);
+			selector.border_width = 6;
+			selector.probe_done += this.on_probe_done;
+			paned.pack1(this.selector, true, false);
+			paned.border_width = 6;
 
-			page = box = new VBox(false, 6);
-			box.border_width = 12;
-
-			this.selector = new ScannerSelector(this.job);
-			this.selector.probe_done += this.on_probe_done;
-			box.pack_start(this.selector, true, true, 0);
+			var box = new VBox(false, 6);
+			box.border_width = 6;
+			paned.pack2(box, false, false);
 
-			this.append_page(Pages.GENERAL, _("_General"), page);
+			this.append_page(Pages.GENERAL, _("_General"), paned);
 		}
 
 		private void build_scanner_page()
 		{
 			OptionPage opage = new OptionHPage();
-			Box box = (Box) this.pages[Pages.GENERAL];
+			var paned = this.pages[Pages.GENERAL] as Paned;
+			var box = paned.get_child2() as Box;
 			box.pack_start(opage, false, true, 0);
 			this.append_page(Pages.FRONT_SCANNER, null, opage);
 		}
@@ -211,7 +213,8 @@
 		private void build_sink_page()
 		{
 			OptionPage opage = new OptionHPage();
-			Box box = (Box) this.pages[Pages.GENERAL];
+			var paned = this.pages[Pages.GENERAL] as Paned;
+			var box = paned.get_child2() as Box;
 			box.pack_start(opage, false, true, 0);
 			this.append_page(Pages.FRONT_SINK, null, opage);
 		}
@@ -284,6 +287,21 @@
 			}
 		}
 
+		private void destroy_node_ui(Node node)
+		{
+			Pages page_id = Pages.ADVANCED;
+			OptionPage page;
+			foreach(Option option in node.options) {
+				if (option.hint == OptionHint.HIDDEN)
+					continue;
+
+				page_id = this.get_page_id_for_option(node, option);
+				page = this.pages[page_id] as OptionPage;
+				page.unpack_option(option);
+				page.show_all();
+			}
+		}
+
 		private Pages get_page_id_for_option(Node node, Option option)
 		{
 			switch(option.hint) {
@@ -306,10 +324,6 @@
 			return Pages.ADVANCED;
 		}
 
-		private void destroy_node_ui(Node node)
-		{
-		}
-
 		private void init_buttons()
 		{
 			this.bclose.no_show_all	= false;
@@ -411,8 +425,10 @@
 				this.bnext.sensitive	= true;
 				this.bscan.sensitive	= true;
 				break;
+			case Status.FAILED:
+				// TODO: error dialog?
+				break;
 			default:
-				debug("Job status set to %s", enum_get_nick(typeof(Status), job.status));
 				break;
 			}
 



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