From 6f674ee5c209ae295a32211c9c86807aa06999a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= <debian@jff-webhosting.net>
Date: Wed, 22 Mar 2017 21:40:05 +0100
Subject: New upstream version 3.24.0

---
 src/autosave-manager.c |  254 +++++------
 src/book-view.c        |    2 +-
 src/book.c             |    2 +-
 src/page-view.c        |    2 +-
 src/page.c             |   68 +--
 src/scanner.c          |   22 +-
 src/simple-scan.c      |  268 ++++++------
 src/ui.c               | 1112 ++++++++++++++++++++++++------------------------
 8 files changed, 871 insertions(+), 859 deletions(-)

(limited to 'src')

diff --git a/src/autosave-manager.c b/src/autosave-manager.c
index 8dab65b..5ea1792 100644
--- a/src/autosave-manager.c
+++ b/src/autosave-manager.c
@@ -1,4 +1,4 @@
-/* autosave-manager.c generated by valac 0.34.2, the Vala compiler
+/* autosave-manager.c generated by valac 0.34.6, the Vala compiler
  * generated from autosave-manager.vala, do not modify */
 
 /*
@@ -963,6 +963,7 @@ static gchar* autosave_manager_get_value (AutosaveManager* self, GKeyFile* file,
 
 static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, gint _default_) {
 	gint result = 0;
+	gint _tmp6_ = 0;
 	GError * _inner_error_ = NULL;
 #line 169 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_return_val_if_fail (self != NULL, 0);
@@ -972,7 +973,7 @@ static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file,
 	g_return_val_if_fail (group_name != NULL, 0);
 #line 169 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_return_val_if_fail (key != NULL, 0);
-#line 975 "autosave-manager.c"
+#line 976 "autosave-manager.c"
 	{
 		gint _tmp0_ = 0;
 		GKeyFile* _tmp1_ = NULL;
@@ -991,14 +992,14 @@ static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file,
 		_tmp0_ = _tmp4_;
 #line 173 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 994 "autosave-manager.c"
+#line 995 "autosave-manager.c"
 			goto __catch32_g_error;
 		}
 #line 173 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		result = _tmp0_;
 #line 173 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return result;
-#line 1001 "autosave-manager.c"
+#line 1002 "autosave-manager.c"
 	}
 	goto __finally32;
 	__catch32_g_error:
@@ -1017,7 +1018,7 @@ static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file,
 		_g_error_free0 (e);
 #line 177 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return result;
-#line 1020 "autosave-manager.c"
+#line 1021 "autosave-manager.c"
 	}
 	__finally32:
 #line 171 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -1025,13 +1026,14 @@ static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file,
 #line 171 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_clear_error (&_inner_error_);
 #line 171 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
-	return 0;
-#line 1029 "autosave-manager.c"
+	return _tmp6_;
+#line 1030 "autosave-manager.c"
 }
 
 
 static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, gboolean _default_) {
 	gboolean result = FALSE;
+	gboolean _tmp6_ = FALSE;
 	GError * _inner_error_ = NULL;
 #line 181 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_return_val_if_fail (self != NULL, FALSE);
@@ -1041,7 +1043,7 @@ static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* f
 	g_return_val_if_fail (group_name != NULL, FALSE);
 #line 181 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_return_val_if_fail (key != NULL, FALSE);
-#line 1044 "autosave-manager.c"
+#line 1046 "autosave-manager.c"
 	{
 		gboolean _tmp0_ = FALSE;
 		GKeyFile* _tmp1_ = NULL;
@@ -1060,14 +1062,14 @@ static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* f
 		_tmp0_ = _tmp4_;
 #line 185 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 1063 "autosave-manager.c"
+#line 1065 "autosave-manager.c"
 			goto __catch33_g_error;
 		}
 #line 185 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		result = _tmp0_;
 #line 185 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return result;
-#line 1070 "autosave-manager.c"
+#line 1072 "autosave-manager.c"
 	}
 	goto __finally33;
 	__catch33_g_error:
@@ -1086,7 +1088,7 @@ static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* f
 		_g_error_free0 (e);
 #line 189 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return result;
-#line 1089 "autosave-manager.c"
+#line 1091 "autosave-manager.c"
 	}
 	__finally33:
 #line 183 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -1094,8 +1096,8 @@ static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* f
 #line 183 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_clear_error (&_inner_error_);
 #line 183 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
-	return FALSE;
-#line 1098 "autosave-manager.c"
+	return _tmp6_;
+#line 1100 "autosave-manager.c"
 }
 
 
@@ -1111,17 +1113,17 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 	_tmp0_ = self->priv->update_timeout;
 #line 197 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp0_ > ((guint) 0)) {
-#line 1114 "autosave-manager.c"
+#line 1116 "autosave-manager.c"
 		guint _tmp1_ = 0U;
 #line 198 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp1_ = self->priv->update_timeout;
 #line 198 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		g_source_remove (_tmp1_);
-#line 1120 "autosave-manager.c"
+#line 1122 "autosave-manager.c"
 	}
 #line 199 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	self->priv->update_timeout = (guint) 0;
-#line 1124 "autosave-manager.c"
+#line 1126 "autosave-manager.c"
 	{
 		GDir* _tmp2_ = NULL;
 		const gchar* _tmp3_ = NULL;
@@ -1135,7 +1137,7 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 		_tmp2_ = _tmp4_;
 #line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 1138 "autosave-manager.c"
+#line 1140 "autosave-manager.c"
 			goto __catch34_g_error;
 		}
 #line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -1148,7 +1150,7 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 		dir = _tmp5_;
 #line 202 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_g_dir_close0 (_tmp2_);
-#line 1151 "autosave-manager.c"
+#line 1153 "autosave-manager.c"
 	}
 	goto __finally34;
 	__catch34_g_error:
@@ -1172,7 +1174,7 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 		_g_dir_close0 (dir);
 #line 209 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return;
-#line 1175 "autosave-manager.c"
+#line 1177 "autosave-manager.c"
 	}
 	__finally34:
 #line 202 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -1185,11 +1187,11 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 		g_clear_error (&_inner_error_);
 #line 202 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return;
-#line 1188 "autosave-manager.c"
+#line 1190 "autosave-manager.c"
 	}
 #line 212 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	while (TRUE) {
-#line 1192 "autosave-manager.c"
+#line 1194 "autosave-manager.c"
 		gchar* filename = NULL;
 		GDir* _tmp8_ = NULL;
 		const gchar* _tmp9_ = NULL;
@@ -1216,7 +1218,7 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 			_g_free0 (filename);
 #line 216 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			break;
-#line 1219 "autosave-manager.c"
+#line 1221 "autosave-manager.c"
 		}
 #line 217 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp12_ = autosave_manager_AUTOSAVE_DIR;
@@ -1234,25 +1236,25 @@ void autosave_manager_cleanup (AutosaveManager* self) {
 		_g_free0 (path);
 #line 212 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_g_free0 (filename);
-#line 1237 "autosave-manager.c"
+#line 1239 "autosave-manager.c"
 	}
 #line 193 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_g_dir_close0 (dir);
-#line 1241 "autosave-manager.c"
+#line 1243 "autosave-manager.c"
 }
 
 
 static void _autosave_manager_on_scan_finished_page_scan_finished (Page* _sender, gpointer self) {
 #line 224 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_on_scan_finished ((AutosaveManager*) self, _sender);
-#line 1248 "autosave-manager.c"
+#line 1250 "autosave-manager.c"
 }
 
 
 static void _autosave_manager_on_changed_page_crop_changed (Page* _sender, gpointer self) {
 #line 225 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_on_changed ((AutosaveManager*) self);
-#line 1255 "autosave-manager.c"
+#line 1257 "autosave-manager.c"
 }
 
 
@@ -1271,7 +1273,7 @@ void autosave_manager_on_page_added (AutosaveManager* self, Page* page) {
 	_tmp1_ = page;
 #line 225 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_signal_connect (_tmp1_, "crop-changed", (GCallback) _autosave_manager_on_changed_page_crop_changed, self);
-#line 1274 "autosave-manager.c"
+#line 1276 "autosave-manager.c"
 }
 
 
@@ -1318,13 +1320,13 @@ void autosave_manager_on_page_removed (AutosaveManager* self, Page* page) {
 	_tmp8_ = filename;
 #line 234 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp8_ != NULL) {
-#line 1321 "autosave-manager.c"
+#line 1323 "autosave-manager.c"
 		const gchar* _tmp9_ = NULL;
 #line 235 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp9_ = filename;
 #line 235 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		g_unlink (_tmp9_);
-#line 1327 "autosave-manager.c"
+#line 1329 "autosave-manager.c"
 	}
 #line 236 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_tmp10_ = self->priv->page_filenames;
@@ -1334,7 +1336,7 @@ void autosave_manager_on_page_removed (AutosaveManager* self, Page* page) {
 	g_hash_table_remove (_tmp10_, _tmp11_);
 #line 228 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_g_free0 (filename);
-#line 1337 "autosave-manager.c"
+#line 1339 "autosave-manager.c"
 }
 
 
@@ -1350,7 +1352,7 @@ void autosave_manager_on_scan_finished (AutosaveManager* self, Page* page) {
 	autosave_manager_save_pixels (self, _tmp0_);
 #line 242 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_save (self, FALSE);
-#line 1353 "autosave-manager.c"
+#line 1355 "autosave-manager.c"
 }
 
 
@@ -1359,7 +1361,7 @@ void autosave_manager_on_changed (AutosaveManager* self) {
 	g_return_if_fail (self != NULL);
 #line 247 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_save (self, TRUE);
-#line 1362 "autosave-manager.c"
+#line 1364 "autosave-manager.c"
 }
 
 
@@ -1373,7 +1375,7 @@ void autosave_manager_on_cleared (AutosaveManager* self) {
 	g_hash_table_remove_all (_tmp0_);
 #line 253 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_save (self, TRUE);
-#line 1376 "autosave-manager.c"
+#line 1378 "autosave-manager.c"
 }
 
 
@@ -1387,7 +1389,7 @@ static gboolean ___lambda4_ (AutosaveManager* self) {
 	result = FALSE;
 #line 272 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return result;
-#line 1390 "autosave-manager.c"
+#line 1392 "autosave-manager.c"
 }
 
 
@@ -1396,7 +1398,7 @@ static gboolean ____lambda4__gsource_func (gpointer self) {
 	result = ___lambda4_ ((AutosaveManager*) self);
 #line 268 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return result;
-#line 1399 "autosave-manager.c"
+#line 1401 "autosave-manager.c"
 }
 
 
@@ -1411,35 +1413,35 @@ static void autosave_manager_save (AutosaveManager* self, gboolean do_timeout) {
 	_tmp1_ = self->priv->update_timeout;
 #line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp1_ == ((guint) 0)) {
-#line 1414 "autosave-manager.c"
+#line 1416 "autosave-manager.c"
 		gboolean _tmp2_ = FALSE;
 #line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp2_ = do_timeout;
 #line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp0_ = _tmp2_;
-#line 1420 "autosave-manager.c"
+#line 1422 "autosave-manager.c"
 	} else {
 #line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp0_ = FALSE;
-#line 1424 "autosave-manager.c"
+#line 1426 "autosave-manager.c"
 	}
 #line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp0_) {
 #line 259 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		g_debug ("autosave-manager.vala:259: Waiting to autosave...");
-#line 1430 "autosave-manager.c"
+#line 1432 "autosave-manager.c"
 	}
 #line 262 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_tmp3_ = self->priv->update_timeout;
 #line 262 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp3_ > ((guint) 0)) {
-#line 1436 "autosave-manager.c"
+#line 1438 "autosave-manager.c"
 		guint _tmp4_ = 0U;
 #line 263 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp4_ = self->priv->update_timeout;
 #line 263 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		g_source_remove (_tmp4_);
-#line 1442 "autosave-manager.c"
+#line 1444 "autosave-manager.c"
 	}
 #line 264 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	self->priv->update_timeout = (guint) 0;
@@ -1447,17 +1449,17 @@ static void autosave_manager_save (AutosaveManager* self, gboolean do_timeout) {
 	_tmp5_ = do_timeout;
 #line 266 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp5_) {
-#line 1450 "autosave-manager.c"
+#line 1452 "autosave-manager.c"
 		guint _tmp6_ = 0U;
 #line 268 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_tmp6_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 100, ____lambda4__gsource_func, autosave_manager_ref (self), autosave_manager_unref);
 #line 268 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		self->priv->update_timeout = _tmp6_;
-#line 1456 "autosave-manager.c"
+#line 1458 "autosave-manager.c"
 	} else {
 #line 276 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		autosave_manager_real_save (self);
-#line 1460 "autosave-manager.c"
+#line 1462 "autosave-manager.c"
 	}
 }
 
@@ -1482,19 +1484,19 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 	_tmp1_ = g_strdup ("");
 #line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	page_names = _tmp1_;
-#line 1485 "autosave-manager.c"
+#line 1487 "autosave-manager.c"
 	{
 		gint i = 0;
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		i = 0;
-#line 1490 "autosave-manager.c"
+#line 1492 "autosave-manager.c"
 		{
 			gboolean _tmp2_ = FALSE;
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			_tmp2_ = TRUE;
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			while (TRUE) {
-#line 1497 "autosave-manager.c"
+#line 1499 "autosave-manager.c"
 				gint _tmp4_ = 0;
 				Book* _tmp5_ = NULL;
 				Book* _tmp6_ = NULL;
@@ -1594,13 +1596,13 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				gint _tmp108_ = 0;
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				if (!_tmp2_) {
-#line 1597 "autosave-manager.c"
+#line 1599 "autosave-manager.c"
 					gint _tmp3_ = 0;
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp3_ = i;
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					i = _tmp3_ + 1;
-#line 1603 "autosave-manager.c"
+#line 1605 "autosave-manager.c"
 				}
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp2_ = FALSE;
@@ -1618,7 +1620,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				if (!(((guint) _tmp4_) < _tmp8_)) {
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					break;
-#line 1621 "autosave-manager.c"
+#line 1623 "autosave-manager.c"
 				}
 #line 287 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp9_ = autosave_manager_get_book (self);
@@ -1642,7 +1644,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 					_page_unref0 (page);
 #line 291 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					continue;
-#line 1645 "autosave-manager.c"
+#line 1647 "autosave-manager.c"
 				}
 #line 293 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp16_ = i;
@@ -1654,7 +1656,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				_tmp18_ = page_names;
 #line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				if (g_strcmp0 (_tmp18_, "") != 0) {
-#line 1657 "autosave-manager.c"
+#line 1659 "autosave-manager.c"
 					const gchar* _tmp19_ = NULL;
 					gchar* _tmp20_ = NULL;
 #line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -1665,7 +1667,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 					_g_free0 (page_names);
 #line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					page_names = _tmp20_;
-#line 1668 "autosave-manager.c"
+#line 1670 "autosave-manager.c"
 				}
 #line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp21_ = page_names;
@@ -1763,7 +1765,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				switch (_tmp57_) {
 #line 306 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					case SCAN_DIRECTION_TOP_TO_BOTTOM:
-#line 1766 "autosave-manager.c"
+#line 1768 "autosave-manager.c"
 					{
 						GKeyFile* _tmp58_ = NULL;
 						const gchar* _tmp59_ = NULL;
@@ -1775,11 +1777,11 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 						g_key_file_set_value (_tmp58_, _tmp59_, "scan-direction", "TOP_TO_BOTTOM");
 #line 310 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						break;
-#line 1778 "autosave-manager.c"
+#line 1780 "autosave-manager.c"
 					}
 #line 306 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					case SCAN_DIRECTION_LEFT_TO_RIGHT:
-#line 1782 "autosave-manager.c"
+#line 1784 "autosave-manager.c"
 					{
 						GKeyFile* _tmp60_ = NULL;
 						const gchar* _tmp61_ = NULL;
@@ -1791,11 +1793,11 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 						g_key_file_set_value (_tmp60_, _tmp61_, "scan-direction", "LEFT_TO_RIGHT");
 #line 313 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						break;
-#line 1794 "autosave-manager.c"
+#line 1796 "autosave-manager.c"
 					}
 #line 306 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					case SCAN_DIRECTION_BOTTOM_TO_TOP:
-#line 1798 "autosave-manager.c"
+#line 1800 "autosave-manager.c"
 					{
 						GKeyFile* _tmp62_ = NULL;
 						const gchar* _tmp63_ = NULL;
@@ -1807,11 +1809,11 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 						g_key_file_set_value (_tmp62_, _tmp63_, "scan-direction", "BOTTOM_TO_TOP");
 #line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						break;
-#line 1810 "autosave-manager.c"
+#line 1812 "autosave-manager.c"
 					}
 #line 306 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					case SCAN_DIRECTION_RIGHT_TO_LEFT:
-#line 1814 "autosave-manager.c"
+#line 1816 "autosave-manager.c"
 					{
 						GKeyFile* _tmp64_ = NULL;
 						const gchar* _tmp65_ = NULL;
@@ -1823,12 +1825,12 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 						g_key_file_set_value (_tmp64_, _tmp65_, "scan-direction", "RIGHT_TO_LEFT");
 #line 319 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						break;
-#line 1826 "autosave-manager.c"
+#line 1828 "autosave-manager.c"
 					}
 					default:
 #line 306 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					break;
-#line 1831 "autosave-manager.c"
+#line 1833 "autosave-manager.c"
 				}
 #line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp67_ = page;
@@ -1842,7 +1844,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				if (_tmp66_ == NULL) {
 #line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp66_ = "";
-#line 1845 "autosave-manager.c"
+#line 1847 "autosave-manager.c"
 				}
 #line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp70_ = file;
@@ -1862,7 +1864,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				if (_tmp72_ == NULL) {
 #line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp72_ = "";
-#line 1865 "autosave-manager.c"
+#line 1867 "autosave-manager.c"
 				}
 #line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp76_ = file;
@@ -1894,7 +1896,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				if (_tmp83_ == NULL) {
 #line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp83_ = "";
-#line 1897 "autosave-manager.c"
+#line 1899 "autosave-manager.c"
 				}
 #line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp87_ = file;
@@ -1954,7 +1956,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 				_g_free0 (page_name);
 #line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_page_unref0 (page);
-#line 1957 "autosave-manager.c"
+#line 1959 "autosave-manager.c"
 			}
 		}
 	}
@@ -1964,7 +1966,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 	_tmp110_ = page_names;
 #line 330 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_key_file_set_value (_tmp109_, "simple-scan", "pages", _tmp110_);
-#line 1967 "autosave-manager.c"
+#line 1969 "autosave-manager.c"
 	{
 		const gchar* _tmp111_ = NULL;
 		const gchar* _tmp112_ = NULL;
@@ -1989,7 +1991,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 		_g_free0 (_tmp115_);
 #line 335 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 1992 "autosave-manager.c"
+#line 1994 "autosave-manager.c"
 			goto __catch35_g_error;
 		}
 	}
@@ -2011,7 +2013,7 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 		g_warning ("autosave-manager.vala:339: Failed to write autosave: %s", _tmp117_);
 #line 332 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_g_error_free0 (e);
-#line 2014 "autosave-manager.c"
+#line 2016 "autosave-manager.c"
 	}
 	__finally35:
 #line 332 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -2026,13 +2028,13 @@ static void autosave_manager_real_save (AutosaveManager* self) {
 		g_clear_error (&_inner_error_);
 #line 332 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return;
-#line 2029 "autosave-manager.c"
+#line 2031 "autosave-manager.c"
 	}
 #line 279 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_g_free0 (page_names);
 #line 279 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_g_key_file_unref0 (file);
-#line 2035 "autosave-manager.c"
+#line 2037 "autosave-manager.c"
 }
 
 
@@ -2088,7 +2090,7 @@ static void autosave_manager_save_pixels (AutosaveManager* self, Page* page) {
 	_tmp10_ = g_file_new_for_path (path);
 #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	file = _tmp10_;
-#line 2091 "autosave-manager.c"
+#line 2093 "autosave-manager.c"
 	{
 		Page* _tmp11_ = NULL;
 		gint _tmp12_ = 0;
@@ -2101,7 +2103,7 @@ static void autosave_manager_save_pixels (AutosaveManager* self, Page* page) {
 		g_file_replace_contents (file, _tmp13_, (gsize) _tmp12_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, NULL, &_inner_error_);
 #line 354 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 2104 "autosave-manager.c"
+#line 2106 "autosave-manager.c"
 			goto __catch36_g_error;
 		}
 	}
@@ -2123,7 +2125,7 @@ static void autosave_manager_save_pixels (AutosaveManager* self, Page* page) {
 		g_warning ("autosave-manager.vala:358: Failed to autosave page contents: %s", _tmp15_);
 #line 352 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		_g_error_free0 (e);
-#line 2126 "autosave-manager.c"
+#line 2128 "autosave-manager.c"
 	}
 	__finally36:
 #line 352 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
@@ -2140,7 +2142,7 @@ static void autosave_manager_save_pixels (AutosaveManager* self, Page* page) {
 		g_clear_error (&_inner_error_);
 #line 352 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return;
-#line 2143 "autosave-manager.c"
+#line 2145 "autosave-manager.c"
 	}
 #line 343 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_g_object_unref0 (file);
@@ -2148,7 +2150,7 @@ static void autosave_manager_save_pixels (AutosaveManager* self, Page* page) {
 	_g_free0 (path);
 #line 343 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_g_free0 (filename);
-#line 2151 "autosave-manager.c"
+#line 2153 "autosave-manager.c"
 }
 
 
@@ -2163,42 +2165,42 @@ Book* autosave_manager_get_book (AutosaveManager* self) {
 	result = _tmp0_;
 #line 28 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return result;
-#line 2166 "autosave-manager.c"
+#line 2168 "autosave-manager.c"
 }
 
 
 static void _autosave_manager_on_page_added_book_page_added (Book* _sender, Page* page, gpointer self) {
 #line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_on_page_added ((AutosaveManager*) self, page);
-#line 2173 "autosave-manager.c"
+#line 2175 "autosave-manager.c"
 }
 
 
 static void _autosave_manager_on_page_removed_book_page_removed (Book* _sender, Page* page, gpointer self) {
 #line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_on_page_removed ((AutosaveManager*) self, page);
-#line 2180 "autosave-manager.c"
+#line 2182 "autosave-manager.c"
 }
 
 
 static void _autosave_manager_on_changed_book_reordered (Book* _sender, gpointer self) {
 #line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_on_changed ((AutosaveManager*) self);
-#line 2187 "autosave-manager.c"
+#line 2189 "autosave-manager.c"
 }
 
 
 static void _autosave_manager_on_cleared_book_cleared (Book* _sender, gpointer self) {
 #line 42 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_on_cleared ((AutosaveManager*) self);
-#line 2194 "autosave-manager.c"
+#line 2196 "autosave-manager.c"
 }
 
 
 static gpointer _book_ref0 (gpointer self) {
 #line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return self ? book_ref (self) : NULL;
-#line 2201 "autosave-manager.c"
+#line 2203 "autosave-manager.c"
 }
 
 
@@ -2216,7 +2218,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 	_tmp0_ = self->priv->book_;
 #line 32 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (_tmp0_ != NULL) {
-#line 2219 "autosave-manager.c"
+#line 2221 "autosave-manager.c"
 		Book* _tmp11_ = NULL;
 		guint _tmp12_ = 0U;
 		Book* _tmp13_ = NULL;
@@ -2229,14 +2231,14 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 			gint i = 0;
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			i = 0;
-#line 2232 "autosave-manager.c"
+#line 2234 "autosave-manager.c"
 			{
 				gboolean _tmp1_ = FALSE;
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp1_ = TRUE;
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				while (TRUE) {
-#line 2239 "autosave-manager.c"
+#line 2241 "autosave-manager.c"
 					gint _tmp3_ = 0;
 					Book* _tmp4_ = NULL;
 					guint _tmp5_ = 0U;
@@ -2248,13 +2250,13 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 					Page* _tmp10_ = NULL;
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					if (!_tmp1_) {
-#line 2251 "autosave-manager.c"
+#line 2253 "autosave-manager.c"
 						gint _tmp2_ = 0;
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						_tmp2_ = i;
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						i = _tmp2_ + 1;
-#line 2257 "autosave-manager.c"
+#line 2259 "autosave-manager.c"
 					}
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp1_ = FALSE;
@@ -2270,7 +2272,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 					if (!(((guint) _tmp3_) < _tmp6_)) {
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 						break;
-#line 2273 "autosave-manager.c"
+#line 2275 "autosave-manager.c"
 					}
 #line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp7_ = self->priv->book_;
@@ -2286,7 +2288,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 					autosave_manager_on_page_removed (self, _tmp10_);
 #line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_page_unref0 (page);
-#line 2289 "autosave-manager.c"
+#line 2291 "autosave-manager.c"
 				}
 			}
 		}
@@ -2314,7 +2316,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 		g_signal_parse_name ("cleared", TYPE_BOOK, &_tmp18_, NULL, FALSE);
 #line 42 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _autosave_manager_on_cleared_book_cleared, self);
-#line 2317 "autosave-manager.c"
+#line 2319 "autosave-manager.c"
 	}
 #line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_tmp19_ = value;
@@ -2340,19 +2342,19 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 	_tmp24_ = self->priv->book_;
 #line 48 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	g_signal_connect (_tmp24_, "cleared", (GCallback) _autosave_manager_on_cleared_book_cleared, self);
-#line 2343 "autosave-manager.c"
+#line 2345 "autosave-manager.c"
 	{
 		gint i = 0;
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		i = 0;
-#line 2348 "autosave-manager.c"
+#line 2350 "autosave-manager.c"
 		{
 			gboolean _tmp25_ = FALSE;
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			_tmp25_ = TRUE;
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			while (TRUE) {
-#line 2355 "autosave-manager.c"
+#line 2357 "autosave-manager.c"
 				gint _tmp27_ = 0;
 				Book* _tmp28_ = NULL;
 				guint _tmp29_ = 0U;
@@ -2364,13 +2366,13 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 				Page* _tmp34_ = NULL;
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				if (!_tmp25_) {
-#line 2367 "autosave-manager.c"
+#line 2369 "autosave-manager.c"
 					gint _tmp26_ = 0;
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					_tmp26_ = i;
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					i = _tmp26_ + 1;
-#line 2373 "autosave-manager.c"
+#line 2375 "autosave-manager.c"
 				}
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp25_ = FALSE;
@@ -2386,7 +2388,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 				if (!(((guint) _tmp27_) < _tmp30_)) {
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 					break;
-#line 2389 "autosave-manager.c"
+#line 2391 "autosave-manager.c"
 				}
 #line 51 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_tmp31_ = self->priv->book_;
@@ -2402,7 +2404,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 				autosave_manager_on_page_added (self, _tmp34_);
 #line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 				_page_unref0 (page);
-#line 2405 "autosave-manager.c"
+#line 2407 "autosave-manager.c"
 			}
 		}
 	}
@@ -2412,7 +2414,7 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {
 static void value_autosave_manager_init (GValue* value) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	value->data[0].v_pointer = NULL;
-#line 2415 "autosave-manager.c"
+#line 2417 "autosave-manager.c"
 }
 
 
@@ -2421,7 +2423,7 @@ static void value_autosave_manager_free_value (GValue* value) {
 	if (value->data[0].v_pointer) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		autosave_manager_unref (value->data[0].v_pointer);
-#line 2424 "autosave-manager.c"
+#line 2426 "autosave-manager.c"
 	}
 }
 
@@ -2431,11 +2433,11 @@ static void value_autosave_manager_copy_value (const GValue* src_value, GValue*
 	if (src_value->data[0].v_pointer) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		dest_value->data[0].v_pointer = autosave_manager_ref (src_value->data[0].v_pointer);
-#line 2434 "autosave-manager.c"
+#line 2436 "autosave-manager.c"
 	} else {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		dest_value->data[0].v_pointer = NULL;
-#line 2438 "autosave-manager.c"
+#line 2440 "autosave-manager.c"
 	}
 }
 
@@ -2443,37 +2445,37 @@ static void value_autosave_manager_copy_value (const GValue* src_value, GValue*
 static gpointer value_autosave_manager_peek_pointer (const GValue* value) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return value->data[0].v_pointer;
-#line 2446 "autosave-manager.c"
+#line 2448 "autosave-manager.c"
 }
 
 
 static gchar* value_autosave_manager_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (collect_values[0].v_pointer) {
-#line 2453 "autosave-manager.c"
+#line 2455 "autosave-manager.c"
 		AutosaveManager* object;
 		object = collect_values[0].v_pointer;
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		if (object->parent_instance.g_class == NULL) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
-#line 2460 "autosave-manager.c"
+#line 2462 "autosave-manager.c"
 		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
-#line 2464 "autosave-manager.c"
+#line 2466 "autosave-manager.c"
 		}
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		value->data[0].v_pointer = autosave_manager_ref (object);
-#line 2468 "autosave-manager.c"
+#line 2470 "autosave-manager.c"
 	} else {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		value->data[0].v_pointer = NULL;
-#line 2472 "autosave-manager.c"
+#line 2474 "autosave-manager.c"
 	}
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return NULL;
-#line 2476 "autosave-manager.c"
+#line 2478 "autosave-manager.c"
 }
 
 
@@ -2484,25 +2486,25 @@ static gchar* value_autosave_manager_lcopy_value (const GValue* value, guint n_c
 	if (!object_p) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
-#line 2487 "autosave-manager.c"
+#line 2489 "autosave-manager.c"
 	}
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (!value->data[0].v_pointer) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		*object_p = NULL;
-#line 2493 "autosave-manager.c"
+#line 2495 "autosave-manager.c"
 	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		*object_p = value->data[0].v_pointer;
-#line 2497 "autosave-manager.c"
+#line 2499 "autosave-manager.c"
 	} else {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		*object_p = autosave_manager_ref (value->data[0].v_pointer);
-#line 2501 "autosave-manager.c"
+#line 2503 "autosave-manager.c"
 	}
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return NULL;
-#line 2505 "autosave-manager.c"
+#line 2507 "autosave-manager.c"
 }
 
 
@@ -2516,7 +2518,7 @@ GParamSpec* param_spec_autosave_manager (const gchar* name, const gchar* nick, c
 	G_PARAM_SPEC (spec)->value_type = object_type;
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return G_PARAM_SPEC (spec);
-#line 2519 "autosave-manager.c"
+#line 2521 "autosave-manager.c"
 }
 
 
@@ -2525,7 +2527,7 @@ gpointer value_get_autosave_manager (const GValue* value) {
 	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AUTOSAVE_MANAGER), NULL);
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return value->data[0].v_pointer;
-#line 2528 "autosave-manager.c"
+#line 2530 "autosave-manager.c"
 }
 
 
@@ -2545,17 +2547,17 @@ void value_set_autosave_manager (GValue* value, gpointer v_object) {
 		value->data[0].v_pointer = v_object;
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		autosave_manager_ref (value->data[0].v_pointer);
-#line 2548 "autosave-manager.c"
+#line 2550 "autosave-manager.c"
 	} else {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		value->data[0].v_pointer = NULL;
-#line 2552 "autosave-manager.c"
+#line 2554 "autosave-manager.c"
 	}
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (old) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		autosave_manager_unref (old);
-#line 2558 "autosave-manager.c"
+#line 2560 "autosave-manager.c"
 	}
 }
 
@@ -2574,17 +2576,17 @@ void value_take_autosave_manager (GValue* value, gpointer v_object) {
 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		value->data[0].v_pointer = v_object;
-#line 2577 "autosave-manager.c"
+#line 2579 "autosave-manager.c"
 	} else {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		value->data[0].v_pointer = NULL;
-#line 2581 "autosave-manager.c"
+#line 2583 "autosave-manager.c"
 	}
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	if (old) {
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		autosave_manager_unref (old);
-#line 2587 "autosave-manager.c"
+#line 2589 "autosave-manager.c"
 	}
 }
 
@@ -2620,7 +2622,7 @@ static void autosave_manager_class_init (AutosaveManagerClass * klass) {
 	_tmp5_ = g_build_filename (_tmp3_, _tmp4_, NULL);
 #line 17 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	autosave_manager_AUTOSAVE_PATH = _tmp5_;
-#line 2623 "autosave-manager.c"
+#line 2625 "autosave-manager.c"
 }
 
 
@@ -2633,7 +2635,7 @@ static void autosave_manager_instance_init (AutosaveManager * self) {
 	self->priv->book_ = NULL;
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	self->ref_count = 1;
-#line 2636 "autosave-manager.c"
+#line 2638 "autosave-manager.c"
 }
 
 
@@ -2647,7 +2649,7 @@ static void autosave_manager_finalize (AutosaveManager* obj) {
 	_g_hash_table_unref0 (self->priv->page_filenames);
 #line 23 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	_book_unref0 (self->priv->book_);
-#line 2650 "autosave-manager.c"
+#line 2652 "autosave-manager.c"
 }
 
 
@@ -2672,7 +2674,7 @@ gpointer autosave_manager_ref (gpointer instance) {
 	g_atomic_int_inc (&self->ref_count);
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 	return instance;
-#line 2675 "autosave-manager.c"
+#line 2677 "autosave-manager.c"
 }
 
 
@@ -2685,7 +2687,7 @@ void autosave_manager_unref (gpointer instance) {
 		AUTOSAVE_MANAGER_GET_CLASS (self)->finalize (self);
 #line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"
 		g_type_free_instance ((GTypeInstance *) self);
-#line 2688 "autosave-manager.c"
+#line 2690 "autosave-manager.c"
 	}
 }
 
diff --git a/src/book-view.c b/src/book-view.c
index 8c9b099..849d86d 100644
--- a/src/book-view.c
+++ b/src/book-view.c
@@ -1,4 +1,4 @@
-/* book-view.c generated by valac 0.34.2, the Vala compiler
+/* book-view.c generated by valac 0.34.6, the Vala compiler
  * generated from book-view.vala, do not modify */
 
 /*
diff --git a/src/book.c b/src/book.c
index 1e7f4eb..a74c530 100644
--- a/src/book.c
+++ b/src/book.c
@@ -1,4 +1,4 @@
-/* book.c generated by valac 0.34.2, the Vala compiler
+/* book.c generated by valac 0.34.6, the Vala compiler
  * generated from book.vala, do not modify */
 
 /*
diff --git a/src/page-view.c b/src/page-view.c
index c5ca2c1..96732cc 100644
--- a/src/page-view.c
+++ b/src/page-view.c
@@ -1,4 +1,4 @@
-/* page-view.c generated by valac 0.34.2, the Vala compiler
+/* page-view.c generated by valac 0.34.6, the Vala compiler
  * generated from page-view.vala, do not modify */
 
 /*
diff --git a/src/page.c b/src/page.c
index 0f9681f..9a3db07 100644
--- a/src/page.c
+++ b/src/page.c
@@ -1,4 +1,4 @@
-/* page.c generated by valac 0.34.2, the Vala compiler
+/* page.c generated by valac 0.34.6, the Vala compiler
  * generated from page.vala, do not modify */
 
 /*
@@ -4659,24 +4659,26 @@ static gboolean pixbuf_writer_write_pixbuf_data (PixbufWriter* self, guint8* buf
 	g_output_stream_write_all ((GOutputStream*) _tmp0_, _tmp1_, (gsize) _tmp1__length1, NULL, NULL, &_inner_error_);
 #line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 4663 "page.c"
+		gboolean _tmp2_ = FALSE;
 #line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		g_propagate_error (error, _inner_error_);
 #line 708 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
-		return FALSE;
-#line 4667 "page.c"
+		return _tmp2_;
+#line 4669 "page.c"
 	}
 #line 709 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	result = TRUE;
 #line 709 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return result;
-#line 4673 "page.c"
+#line 4675 "page.c"
 }
 
 
 static void value_pixbuf_writer_init (GValue* value) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	value->data[0].v_pointer = NULL;
-#line 4680 "page.c"
+#line 4682 "page.c"
 }
 
 
@@ -4685,7 +4687,7 @@ static void value_pixbuf_writer_free_value (GValue* value) {
 	if (value->data[0].v_pointer) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		pixbuf_writer_unref (value->data[0].v_pointer);
-#line 4689 "page.c"
+#line 4691 "page.c"
 	}
 }
 
@@ -4695,11 +4697,11 @@ static void value_pixbuf_writer_copy_value (const GValue* src_value, GValue* des
 	if (src_value->data[0].v_pointer) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		dest_value->data[0].v_pointer = pixbuf_writer_ref (src_value->data[0].v_pointer);
-#line 4699 "page.c"
+#line 4701 "page.c"
 	} else {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		dest_value->data[0].v_pointer = NULL;
-#line 4703 "page.c"
+#line 4705 "page.c"
 	}
 }
 
@@ -4707,37 +4709,37 @@ static void value_pixbuf_writer_copy_value (const GValue* src_value, GValue* des
 static gpointer value_pixbuf_writer_peek_pointer (const GValue* value) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return value->data[0].v_pointer;
-#line 4711 "page.c"
+#line 4713 "page.c"
 }
 
 
 static gchar* value_pixbuf_writer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	if (collect_values[0].v_pointer) {
-#line 4718 "page.c"
+#line 4720 "page.c"
 		PixbufWriter* object;
 		object = collect_values[0].v_pointer;
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		if (object->parent_instance.g_class == NULL) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
-#line 4725 "page.c"
+#line 4727 "page.c"
 		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
-#line 4729 "page.c"
+#line 4731 "page.c"
 		}
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		value->data[0].v_pointer = pixbuf_writer_ref (object);
-#line 4733 "page.c"
+#line 4735 "page.c"
 	} else {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		value->data[0].v_pointer = NULL;
-#line 4737 "page.c"
+#line 4739 "page.c"
 	}
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return NULL;
-#line 4741 "page.c"
+#line 4743 "page.c"
 }
 
 
@@ -4748,25 +4750,25 @@ static gchar* value_pixbuf_writer_lcopy_value (const GValue* value, guint n_coll
 	if (!object_p) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
-#line 4752 "page.c"
+#line 4754 "page.c"
 	}
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	if (!value->data[0].v_pointer) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		*object_p = NULL;
-#line 4758 "page.c"
+#line 4760 "page.c"
 	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		*object_p = value->data[0].v_pointer;
-#line 4762 "page.c"
+#line 4764 "page.c"
 	} else {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		*object_p = pixbuf_writer_ref (value->data[0].v_pointer);
-#line 4766 "page.c"
+#line 4768 "page.c"
 	}
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return NULL;
-#line 4770 "page.c"
+#line 4772 "page.c"
 }
 
 
@@ -4780,7 +4782,7 @@ GParamSpec* param_spec_pixbuf_writer (const gchar* name, const gchar* nick, cons
 	G_PARAM_SPEC (spec)->value_type = object_type;
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return G_PARAM_SPEC (spec);
-#line 4784 "page.c"
+#line 4786 "page.c"
 }
 
 
@@ -4789,7 +4791,7 @@ gpointer value_get_pixbuf_writer (const GValue* value) {
 	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXBUF_WRITER), NULL);
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return value->data[0].v_pointer;
-#line 4793 "page.c"
+#line 4795 "page.c"
 }
 
 
@@ -4809,17 +4811,17 @@ void value_set_pixbuf_writer (GValue* value, gpointer v_object) {
 		value->data[0].v_pointer = v_object;
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		pixbuf_writer_ref (value->data[0].v_pointer);
-#line 4813 "page.c"
+#line 4815 "page.c"
 	} else {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		value->data[0].v_pointer = NULL;
-#line 4817 "page.c"
+#line 4819 "page.c"
 	}
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	if (old) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		pixbuf_writer_unref (old);
-#line 4823 "page.c"
+#line 4825 "page.c"
 	}
 }
 
@@ -4838,17 +4840,17 @@ void value_take_pixbuf_writer (GValue* value, gpointer v_object) {
 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		value->data[0].v_pointer = v_object;
-#line 4842 "page.c"
+#line 4844 "page.c"
 	} else {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		value->data[0].v_pointer = NULL;
-#line 4846 "page.c"
+#line 4848 "page.c"
 	}
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	if (old) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		pixbuf_writer_unref (old);
-#line 4852 "page.c"
+#line 4854 "page.c"
 	}
 }
 
@@ -4858,14 +4860,14 @@ static void pixbuf_writer_class_init (PixbufWriterClass * klass) {
 	pixbuf_writer_parent_class = g_type_class_peek_parent (klass);
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	((PixbufWriterClass *) klass)->finalize = pixbuf_writer_finalize;
-#line 4862 "page.c"
+#line 4864 "page.c"
 }
 
 
 static void pixbuf_writer_instance_init (PixbufWriter * self) {
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	self->ref_count = 1;
-#line 4869 "page.c"
+#line 4871 "page.c"
 }
 
 
@@ -4877,7 +4879,7 @@ static void pixbuf_writer_finalize (PixbufWriter* obj) {
 	g_signal_handlers_destroy (self);
 #line 694 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	_g_object_unref0 (self->stream);
-#line 4881 "page.c"
+#line 4883 "page.c"
 }
 
 
@@ -4902,7 +4904,7 @@ gpointer pixbuf_writer_ref (gpointer instance) {
 	g_atomic_int_inc (&self->ref_count);
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 	return instance;
-#line 4906 "page.c"
+#line 4908 "page.c"
 }
 
 
@@ -4915,7 +4917,7 @@ void pixbuf_writer_unref (gpointer instance) {
 		PIXBUF_WRITER_GET_CLASS (self)->finalize (self);
 #line 692 "/home/bob/bzr/simple-scan/trunk/src/page.vala"
 		g_type_free_instance ((GTypeInstance *) self);
-#line 4919 "page.c"
+#line 4921 "page.c"
 	}
 }
 
diff --git a/src/scanner.c b/src/scanner.c
index bd82662..3500c4b 100644
--- a/src/scanner.c
+++ b/src/scanner.c
@@ -1,4 +1,4 @@
-/* scanner.c generated by valac 0.34.2, the Vala compiler
+/* scanner.c generated by valac 0.34.6, the Vala compiler
  * generated from scanner.vala, do not modify */
 
 /*
@@ -3253,7 +3253,7 @@ static void notify_class_init (NotifyClass * klass) {
 #line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	((NotifyClass *) klass)->finalize = notify_finalize;
 #line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_real_run;
 #line 3258 "scanner.c"
 }
 
@@ -3350,7 +3350,7 @@ static void notify_scanning_changed_class_init (NotifyScanningChangedClass * kla
 #line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	notify_scanning_changed_parent_class = g_type_class_peek_parent (klass);
 #line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_scanning_changed_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_scanning_changed_real_run;
 #line 3355 "scanner.c"
 }
 
@@ -3441,7 +3441,7 @@ static void notify_update_devices_class_init (NotifyUpdateDevicesClass * klass)
 #line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	g_type_class_add_private (klass, sizeof (NotifyUpdateDevicesPrivate));
 #line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_update_devices_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_update_devices_real_run;
 #line 3446 "scanner.c"
 }
 
@@ -3532,7 +3532,7 @@ static void notify_request_authorization_class_init (NotifyRequestAuthorizationC
 #line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	g_type_class_add_private (klass, sizeof (NotifyRequestAuthorizationPrivate));
 #line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_request_authorization_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_request_authorization_real_run;
 #line 3537 "scanner.c"
 }
 
@@ -3631,7 +3631,7 @@ static void notify_scan_failed_class_init (NotifyScanFailedClass * klass) {
 #line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	g_type_class_add_private (klass, sizeof (NotifyScanFailedPrivate));
 #line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_scan_failed_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_scan_failed_real_run;
 #line 3636 "scanner.c"
 }
 
@@ -3703,7 +3703,7 @@ static void notify_document_done_class_init (NotifyDocumentDoneClass * klass) {
 #line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	notify_document_done_parent_class = g_type_class_peek_parent (klass);
 #line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_document_done_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_document_done_real_run;
 #line 3708 "scanner.c"
 }
 
@@ -3760,7 +3760,7 @@ static void notify_expect_page_class_init (NotifyExpectPageClass * klass) {
 #line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	notify_expect_page_parent_class = g_type_class_peek_parent (klass);
 #line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_expect_page_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_expect_page_real_run;
 #line 3765 "scanner.c"
 }
 
@@ -3882,7 +3882,7 @@ static void notify_got_page_info_class_init (NotifyGotPageInfoClass * klass) {
 #line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	g_type_class_add_private (klass, sizeof (NotifyGotPageInfoPrivate));
 #line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_got_page_info_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_got_page_info_real_run;
 #line 3887 "scanner.c"
 }
 
@@ -3997,7 +3997,7 @@ static void notify_page_done_class_init (NotifyPageDoneClass * klass) {
 #line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	g_type_class_add_private (klass, sizeof (NotifyPageDonePrivate));
 #line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_page_done_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_page_done_real_run;
 #line 4002 "scanner.c"
 }
 
@@ -4132,7 +4132,7 @@ static void notify_got_line_class_init (NotifyGotLineClass * klass) {
 #line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
 	g_type_class_add_private (klass, sizeof (NotifyGotLinePrivate));
 #line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala"
-	((NotifyClass *) klass)->run = notify_got_line_real_run;
+	((NotifyClass *) klass)->run = (void (*)(Notify*, Scanner*)) notify_got_line_real_run;
 #line 4137 "scanner.c"
 }
 
diff --git a/src/simple-scan.c b/src/simple-scan.c
index 4ffc5a0..9b84313 100644
--- a/src/simple-scan.c
+++ b/src/simple-scan.c
@@ -1,4 +1,4 @@
-/* simple-scan.c generated by valac 0.34.2, the Vala compiler
+/* simple-scan.c generated by valac 0.34.6, the Vala compiler
  * generated from simple-scan.vala, do not modify */
 
 /*
@@ -16,10 +16,10 @@
 #include <glib-object.h>
 #include <gtk/gtk.h>
 #include <gusb.h>
+#include <gio/gio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
-#include <gio/gio.h>
 #include "colord.h"
 #include <float.h>
 #include <math.h>
@@ -3809,26 +3809,26 @@ gint simple_scan_main (gchar** args, int args_length1) {
 	GOptionContext* _tmp2_ = NULL;
 	GOptionContext* _tmp3_ = NULL;
 	GOptionGroup* _tmp4_ = NULL;
-	gboolean _tmp14_ = FALSE;
-	const gchar* _tmp16_ = NULL;
+	gboolean _tmp15_ = FALSE;
+	const gchar* _tmp17_ = NULL;
 	ScanDevice* device = NULL;
-	gchar** _tmp28_ = NULL;
-	gint _tmp28__length1 = 0;
-	GTimer* _tmp38_ = NULL;
+	gchar** _tmp30_ = NULL;
+	gint _tmp30__length1 = 0;
+	GTimer* _tmp40_ = NULL;
 	gchar* path = NULL;
-	const gchar* _tmp39_ = NULL;
-	gchar* _tmp40_ = NULL;
 	const gchar* _tmp41_ = NULL;
-	const gchar* _tmp42_ = NULL;
-	gchar* _tmp43_ = NULL;
+	gchar* _tmp42_ = NULL;
+	const gchar* _tmp43_ = NULL;
 	const gchar* _tmp44_ = NULL;
-	FILE* _tmp45_ = NULL;
-	pid_t _tmp46_ = 0;
+	gchar* _tmp45_ = NULL;
+	const gchar* _tmp46_ = NULL;
+	FILE* _tmp47_ = NULL;
+	pid_t _tmp48_ = 0;
 	SimpleScan* app = NULL;
-	ScanDevice* _tmp47_ = NULL;
-	SimpleScan* _tmp48_ = NULL;
-	SimpleScan* _tmp49_ = NULL;
-	gint _tmp50_ = 0;
+	ScanDevice* _tmp49_ = NULL;
+	SimpleScan* _tmp50_ = NULL;
+	SimpleScan* _tmp51_ = NULL;
+	gint _tmp52_ = 0;
 	GError * _inner_error_ = NULL;
 #line 615 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	setlocale (LC_ALL, "");
@@ -3921,6 +3921,8 @@ gint simple_scan_main (gchar** args, int args_length1) {
 	__finally13:
 #line 624 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 3924 "simple-scan.c"
+		gint _tmp14_ = 0;
 #line 624 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		_g_option_context_free0 (c);
 #line 624 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
@@ -3928,99 +3930,99 @@ gint simple_scan_main (gchar** args, int args_length1) {
 #line 624 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		g_clear_error (&_inner_error_);
 #line 624 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		return 0;
-#line 3932 "simple-scan.c"
+		return _tmp14_;
+#line 3934 "simple-scan.c"
 	}
 #line 636 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp14_ = simple_scan_show_version;
+	_tmp15_ = simple_scan_show_version;
 #line 636 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	if (_tmp14_) {
-#line 3938 "simple-scan.c"
-		FILE* _tmp15_ = NULL;
+	if (_tmp15_) {
+#line 3940 "simple-scan.c"
+		FILE* _tmp16_ = NULL;
 #line 639 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp15_ = stderr;
+		_tmp16_ = stderr;
 #line 639 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		fprintf (_tmp15_, "simple-scan %s\n", VERSION);
+		fprintf (_tmp16_, "simple-scan %s\n", VERSION);
 #line 640 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		result = EXIT_SUCCESS;
 #line 640 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		_g_option_context_free0 (c);
 #line 640 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		return result;
-#line 3950 "simple-scan.c"
+#line 3952 "simple-scan.c"
 	}
 #line 642 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp16_ = simple_scan_fix_pdf_filename;
+	_tmp17_ = simple_scan_fix_pdf_filename;
 #line 642 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	if (_tmp16_ != NULL) {
-#line 3956 "simple-scan.c"
+	if (_tmp17_ != NULL) {
+#line 3958 "simple-scan.c"
 		{
-			const gchar* _tmp17_ = NULL;
+			const gchar* _tmp18_ = NULL;
 #line 646 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			_tmp17_ = simple_scan_fix_pdf_filename;
+			_tmp18_ = simple_scan_fix_pdf_filename;
 #line 646 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			simple_scan_fix_pdf (_tmp17_, &_inner_error_);
+			simple_scan_fix_pdf (_tmp18_, &_inner_error_);
 #line 646 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 3965 "simple-scan.c"
+#line 3967 "simple-scan.c"
 				goto __catch14_g_error;
 			}
 			{
 				gint i = 0;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 				i = 1;
-#line 3972 "simple-scan.c"
+#line 3974 "simple-scan.c"
 				{
-					gboolean _tmp18_ = FALSE;
+					gboolean _tmp19_ = FALSE;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-					_tmp18_ = TRUE;
+					_tmp19_ = TRUE;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 					while (TRUE) {
-#line 3979 "simple-scan.c"
-						gint _tmp20_ = 0;
-						gchar** _tmp21_ = NULL;
-						gint _tmp21__length1 = 0;
+#line 3981 "simple-scan.c"
+						gint _tmp21_ = 0;
 						gchar** _tmp22_ = NULL;
 						gint _tmp22__length1 = 0;
-						gint _tmp23_ = 0;
-						const gchar* _tmp24_ = NULL;
+						gchar** _tmp23_ = NULL;
+						gint _tmp23__length1 = 0;
+						gint _tmp24_ = 0;
+						const gchar* _tmp25_ = NULL;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						if (!_tmp18_) {
-#line 3989 "simple-scan.c"
-							gint _tmp19_ = 0;
+						if (!_tmp19_) {
+#line 3991 "simple-scan.c"
+							gint _tmp20_ = 0;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-							_tmp19_ = i;
+							_tmp20_ = i;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-							i = _tmp19_ + 1;
-#line 3995 "simple-scan.c"
+							i = _tmp20_ + 1;
+#line 3997 "simple-scan.c"
 						}
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp18_ = FALSE;
+						_tmp19_ = FALSE;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp20_ = i;
+						_tmp21_ = i;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp21_ = args;
+						_tmp22_ = args;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp21__length1 = args_length1;
+						_tmp22__length1 = args_length1;
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						if (!(_tmp20_ < _tmp21__length1)) {
+						if (!(_tmp21_ < _tmp22__length1)) {
 #line 647 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 							break;
-#line 4009 "simple-scan.c"
+#line 4011 "simple-scan.c"
 						}
 #line 648 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp22_ = args;
+						_tmp23_ = args;
 #line 648 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp22__length1 = args_length1;
+						_tmp23__length1 = args_length1;
 #line 648 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp23_ = i;
+						_tmp24_ = i;
 #line 648 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						_tmp24_ = _tmp22_[_tmp23_];
+						_tmp25_ = _tmp23_[_tmp24_];
 #line 648 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-						simple_scan_fix_pdf (_tmp24_, &_inner_error_);
+						simple_scan_fix_pdf (_tmp25_, &_inner_error_);
 #line 648 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 						if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 4023 "simple-scan.c"
+#line 4025 "simple-scan.c"
 							goto __catch14_g_error;
 						}
 					}
@@ -4031,21 +4033,21 @@ gint simple_scan_main (gchar** args, int args_length1) {
 		__catch14_g_error:
 		{
 			GError* e = NULL;
-			FILE* _tmp25_ = NULL;
-			GError* _tmp26_ = NULL;
-			const gchar* _tmp27_ = NULL;
+			FILE* _tmp26_ = NULL;
+			GError* _tmp27_ = NULL;
+			const gchar* _tmp28_ = NULL;
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			e = _inner_error_;
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			_inner_error_ = NULL;
 #line 652 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			_tmp25_ = stderr;
+			_tmp26_ = stderr;
 #line 652 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			_tmp26_ = e;
+			_tmp27_ = e;
 #line 652 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			_tmp27_ = _tmp26_->message;
+			_tmp28_ = _tmp27_->message;
 #line 652 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			fprintf (_tmp25_, "Error fixing PDF file: %s", _tmp27_);
+			fprintf (_tmp26_, "Error fixing PDF file: %s", _tmp28_);
 #line 653 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			result = EXIT_FAILURE;
 #line 653 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
@@ -4054,11 +4056,13 @@ gint simple_scan_main (gchar** args, int args_length1) {
 			_g_option_context_free0 (c);
 #line 653 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			return result;
-#line 4057 "simple-scan.c"
+#line 4059 "simple-scan.c"
 		}
 		__finally14:
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 4064 "simple-scan.c"
+			gint _tmp29_ = 0;
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			_g_option_context_free0 (c);
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
@@ -4066,8 +4070,8 @@ gint simple_scan_main (gchar** args, int args_length1) {
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 			g_clear_error (&_inner_error_);
 #line 644 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-			return 0;
-#line 4070 "simple-scan.c"
+			return _tmp29_;
+#line 4074 "simple-scan.c"
 		}
 #line 655 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		result = EXIT_SUCCESS;
@@ -4075,116 +4079,116 @@ gint simple_scan_main (gchar** args, int args_length1) {
 		_g_option_context_free0 (c);
 #line 655 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		return result;
-#line 4078 "simple-scan.c"
+#line 4082 "simple-scan.c"
 	}
 #line 658 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	device = NULL;
 #line 659 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp28_ = args;
+	_tmp30_ = args;
 #line 659 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp28__length1 = args_length1;
+	_tmp30__length1 = args_length1;
 #line 659 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	if (_tmp28__length1 > 1) {
-#line 4088 "simple-scan.c"
-		ScanDevice* _tmp29_ = NULL;
-		ScanDevice* _tmp30_ = NULL;
-		gchar** _tmp31_ = NULL;
-		gint _tmp31__length1 = 0;
-		const gchar* _tmp32_ = NULL;
-		gchar* _tmp33_ = NULL;
-		ScanDevice* _tmp34_ = NULL;
-		gchar** _tmp35_ = NULL;
-		gint _tmp35__length1 = 0;
-		const gchar* _tmp36_ = NULL;
-		gchar* _tmp37_ = NULL;
+	if (_tmp30__length1 > 1) {
+#line 4092 "simple-scan.c"
+		ScanDevice* _tmp31_ = NULL;
+		ScanDevice* _tmp32_ = NULL;
+		gchar** _tmp33_ = NULL;
+		gint _tmp33__length1 = 0;
+		const gchar* _tmp34_ = NULL;
+		gchar* _tmp35_ = NULL;
+		ScanDevice* _tmp36_ = NULL;
+		gchar** _tmp37_ = NULL;
+		gint _tmp37__length1 = 0;
+		const gchar* _tmp38_ = NULL;
+		gchar* _tmp39_ = NULL;
 #line 661 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp29_ = scan_device_new ();
+		_tmp31_ = scan_device_new ();
 #line 661 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 		_scan_device_unref0 (device);
 #line 661 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		device = _tmp29_;
+		device = _tmp31_;
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp30_ = device;
+		_tmp32_ = device;
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp31_ = args;
+		_tmp33_ = args;
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp31__length1 = args_length1;
+		_tmp33__length1 = args_length1;
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp32_ = _tmp31_[1];
+		_tmp34_ = _tmp33_[1];
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp33_ = g_strdup (_tmp32_);
+		_tmp35_ = g_strdup (_tmp34_);
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_g_free0 (_tmp30_->name);
+		_g_free0 (_tmp32_->name);
 #line 662 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp30_->name = _tmp33_;
+		_tmp32_->name = _tmp35_;
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp34_ = device;
+		_tmp36_ = device;
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp35_ = args;
+		_tmp37_ = args;
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp35__length1 = args_length1;
+		_tmp37__length1 = args_length1;
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp36_ = _tmp35_[1];
+		_tmp38_ = _tmp37_[1];
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp37_ = g_strdup (_tmp36_);
+		_tmp39_ = g_strdup (_tmp38_);
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_g_free0 (_tmp34_->label);
+		_g_free0 (_tmp36_->label);
 #line 663 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-		_tmp34_->label = _tmp37_;
-#line 4134 "simple-scan.c"
+		_tmp36_->label = _tmp39_;
+#line 4138 "simple-scan.c"
 	}
 #line 667 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp38_ = g_timer_new ();
+	_tmp40_ = g_timer_new ();
 #line 667 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	_g_timer_destroy0 (simple_scan_log_timer);
 #line 667 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	simple_scan_log_timer = _tmp38_;
+	simple_scan_log_timer = _tmp40_;
 #line 668 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp39_ = g_get_user_cache_dir ();
+	_tmp41_ = g_get_user_cache_dir ();
 #line 668 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp40_ = g_build_filename (_tmp39_, "simple-scan", NULL, NULL);
+	_tmp42_ = g_build_filename (_tmp41_, "simple-scan", NULL, NULL);
 #line 668 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	path = _tmp40_;
+	path = _tmp42_;
 #line 669 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp41_ = path;
+	_tmp43_ = path;
 #line 669 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	g_mkdir_with_parents (_tmp41_, 0700);
+	g_mkdir_with_parents (_tmp43_, 0700);
 #line 670 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp42_ = g_get_user_cache_dir ();
+	_tmp44_ = g_get_user_cache_dir ();
 #line 670 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp43_ = g_build_filename (_tmp42_, "simple-scan", "simple-scan.log", NULL, NULL);
+	_tmp45_ = g_build_filename (_tmp44_, "simple-scan", "simple-scan.log", NULL, NULL);
 #line 670 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	_g_free0 (path);
 #line 670 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	path = _tmp43_;
+	path = _tmp45_;
 #line 671 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp44_ = path;
+	_tmp46_ = path;
 #line 671 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp45_ = g_fopen (_tmp44_, "w");
+	_tmp47_ = g_fopen (_tmp46_, "w");
 #line 671 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	_fclose0 (simple_scan_log_file);
 #line 671 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	simple_scan_log_file = _tmp45_;
+	simple_scan_log_file = _tmp47_;
 #line 672 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	g_log_set_default_handler (_simple_scan_log_cb_glog_func, NULL);
 #line 674 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp46_ = getpid ();
+	_tmp48_ = getpid ();
 #line 674 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	g_debug ("simple-scan.vala:674: Starting Simple Scan %s, PID=%i", VERSION, (gint) _tmp46_);
+	g_debug ("simple-scan.vala:674: Starting Simple Scan %s, PID=%i", VERSION, (gint) _tmp48_);
 #line 676 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	gtk_init (&args_length1, &args);
 #line 678 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp47_ = device;
+	_tmp49_ = device;
 #line 678 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp48_ = simple_scan_new (_tmp47_);
+	_tmp50_ = simple_scan_new (_tmp49_);
 #line 678 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	app = _tmp48_;
+	app = _tmp50_;
 #line 679 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp49_ = app;
+	_tmp51_ = app;
 #line 679 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	_tmp50_ = g_application_run ((GApplication*) _tmp49_, 0, NULL);
+	_tmp52_ = g_application_run ((GApplication*) _tmp51_, 0, NULL);
 #line 679 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	result = _tmp50_;
+	result = _tmp52_;
 #line 679 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	_g_object_unref0 (app);
 #line 679 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
@@ -4195,7 +4199,7 @@ gint simple_scan_main (gchar** args, int args_length1) {
 	_g_option_context_free0 (c);
 #line 679 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	return result;
-#line 4198 "simple-scan.c"
+#line 4202 "simple-scan.c"
 }
 
 
@@ -4205,7 +4209,7 @@ int main (int argc, char ** argv) {
 #endif
 #line 613 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	return simple_scan_main (argv, argc);
-#line 4208 "simple-scan.c"
+#line 4212 "simple-scan.c"
 }
 
 
@@ -4215,14 +4219,14 @@ static void simple_scan_class_init (SimpleScanClass * klass) {
 #line 12 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	g_type_class_add_private (klass, sizeof (SimpleScanPrivate));
 #line 12 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	((GApplicationClass *) klass)->startup = simple_scan_real_startup;
+	((GApplicationClass *) klass)->startup = (void (*)(GApplication*)) simple_scan_real_startup;
 #line 12 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	((GApplicationClass *) klass)->activate = simple_scan_real_activate;
+	((GApplicationClass *) klass)->activate = (void (*)(GApplication*)) simple_scan_real_activate;
 #line 12 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
-	((GApplicationClass *) klass)->shutdown = simple_scan_real_shutdown;
+	((GApplicationClass *) klass)->shutdown = (void (*)(GApplication*)) simple_scan_real_shutdown;
 #line 12 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	G_OBJECT_CLASS (klass)->finalize = simple_scan_finalize;
-#line 4225 "simple-scan.c"
+#line 4229 "simple-scan.c"
 }
 
 
@@ -4233,7 +4237,7 @@ static void simple_scan_instance_init (SimpleScan * self) {
 	self->priv->default_device = NULL;
 #line 33 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	self->priv->have_devices = FALSE;
-#line 4236 "simple-scan.c"
+#line 4240 "simple-scan.c"
 }
 
 
@@ -4253,7 +4257,7 @@ static void simple_scan_finalize (GObject* obj) {
 	_book_unref0 (self->priv->book);
 #line 12 "/home/bob/bzr/simple-scan/trunk/src/simple-scan.vala"
 	G_OBJECT_CLASS (simple_scan_parent_class)->finalize (obj);
-#line 4256 "simple-scan.c"
+#line 4260 "simple-scan.c"
 }
 
 
diff --git a/src/ui.c b/src/ui.c
index fd417eb..3d687d9 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1,4 +1,4 @@
-/* ui.c generated by valac 0.34.2, the Vala compiler
+/* ui.c generated by valac 0.34.6, the Vala compiler
  * generated from ui.vala, do not modify */
 
 /*
@@ -19,8 +19,8 @@
 #include <gio/gio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <glib/gi18n-lib.h>
 #include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
 #include <float.h>
 #include <math.h>
 #include <cairo.h>
@@ -2794,9 +2794,9 @@ static gboolean user_interface_save_document (UserInterface* self, gboolean forc
 	gchar* _tmp12_ = NULL;
 	const gchar* _tmp13_ = NULL;
 	gboolean _tmp14_ = FALSE;
-	const gchar* _tmp38_ = NULL;
-	gchar* _tmp39_ = NULL;
-	Book* _tmp40_ = NULL;
+	const gchar* _tmp39_ = NULL;
+	gchar* _tmp40_ = NULL;
+	Book* _tmp41_ = NULL;
 	GError * _inner_error_ = NULL;
 #line 615 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (self != NULL, FALSE);
@@ -3037,6 +3037,8 @@ static gboolean user_interface_save_document (UserInterface* self, gboolean forc
 	__finally17:
 #line 641 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 3041 "ui.c"
+		gboolean _tmp38_ = FALSE;
 #line 641 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_free0 (format);
 #line 641 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3050,21 +3052,21 @@ static gboolean user_interface_save_document (UserInterface* self, gboolean forc
 #line 641 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_clear_error (&_inner_error_);
 #line 641 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-		return FALSE;
-#line 3055 "ui.c"
+		return _tmp38_;
+#line 3057 "ui.c"
 	}
 #line 656 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	_tmp38_ = uri;
+	_tmp39_ = uri;
 #line 656 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	_tmp39_ = g_strdup (_tmp38_);
+	_tmp40_ = g_strdup (_tmp39_);
 #line 656 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_free0 (self->priv->book_uri);
 #line 656 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	self->priv->book_uri = _tmp39_;
+	self->priv->book_uri = _tmp40_;
 #line 657 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	_tmp40_ = self->priv->_book;
+	_tmp41_ = self->priv->_book;
 #line 657 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	book_set_needs_saving (_tmp40_, FALSE);
+	book_set_needs_saving (_tmp41_, FALSE);
 #line 658 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = TRUE;
 #line 658 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3077,7 +3079,7 @@ static gboolean user_interface_save_document (UserInterface* self, gboolean forc
 	_g_free0 (uri);
 #line 658 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 3081 "ui.c"
+#line 3083 "ui.c"
 }
 
 
@@ -3120,7 +3122,7 @@ static gboolean user_interface_prompt_to_save (UserInterface* self, const gchar*
 		result = TRUE;
 #line 664 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 3124 "ui.c"
+#line 3126 "ui.c"
 	}
 #line 666 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp3_ = title;
@@ -3170,7 +3172,7 @@ static gboolean user_interface_prompt_to_save (UserInterface* self, const gchar*
 	switch (_tmp16_) {
 #line 681 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case GTK_RESPONSE_YES:
-#line 3174 "ui.c"
+#line 3176 "ui.c"
 		{
 			gboolean _tmp17_ = FALSE;
 #line 684 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3183,7 +3185,7 @@ static gboolean user_interface_prompt_to_save (UserInterface* self, const gchar*
 				_g_object_unref0 (dialog);
 #line 685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				return result;
-#line 3187 "ui.c"
+#line 3189 "ui.c"
 			} else {
 #line 687 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				result = FALSE;
@@ -3191,12 +3193,12 @@ static gboolean user_interface_prompt_to_save (UserInterface* self, const gchar*
 				_g_object_unref0 (dialog);
 #line 687 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				return result;
-#line 3195 "ui.c"
+#line 3197 "ui.c"
 			}
 		}
 #line 681 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case GTK_RESPONSE_NO:
-#line 3200 "ui.c"
+#line 3202 "ui.c"
 		{
 #line 689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			result = TRUE;
@@ -3204,7 +3206,7 @@ static gboolean user_interface_prompt_to_save (UserInterface* self, const gchar*
 			_g_object_unref0 (dialog);
 #line 689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			return result;
-#line 3208 "ui.c"
+#line 3210 "ui.c"
 		}
 		default:
 		{
@@ -3214,12 +3216,12 @@ static gboolean user_interface_prompt_to_save (UserInterface* self, const gchar*
 			_g_object_unref0 (dialog);
 #line 691 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			return result;
-#line 3218 "ui.c"
+#line 3220 "ui.c"
 		}
 	}
 #line 661 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_object_unref0 (dialog);
-#line 3223 "ui.c"
+#line 3225 "ui.c"
 }
 
 
@@ -3252,7 +3254,7 @@ static void user_interface_clear_document (UserInterface* self) {
 	_tmp3_ = self->priv->copy_to_clipboard_menuitem;
 #line 702 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, FALSE);
-#line 3256 "ui.c"
+#line 3258 "ui.c"
 }
 
 
@@ -3274,7 +3276,7 @@ static void user_interface_new_document (UserInterface* self) {
 	if (!_tmp2_) {
 #line 711 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 3278 "ui.c"
+#line 3280 "ui.c"
 	}
 #line 713 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp3_ = user_interface_get_scanning (self);
@@ -3284,11 +3286,11 @@ static void user_interface_new_document (UserInterface* self) {
 	if (_tmp4_) {
 #line 714 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_signal_emit_by_name (self, "stop-scan");
-#line 3288 "ui.c"
+#line 3290 "ui.c"
 	}
 #line 715 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_clear_document (self);
-#line 3292 "ui.c"
+#line 3294 "ui.c"
 }
 
 
@@ -3299,14 +3301,14 @@ static void user_interface_new_button_clicked_cb (UserInterface* self, GtkWidget
 	g_return_if_fail (widget != NULL);
 #line 721 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_new_document (self);
-#line 3303 "ui.c"
+#line 3305 "ui.c"
 }
 
 
 static void _user_interface_new_button_clicked_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_new_button_clicked_cb ((UserInterface*) self, _sender);
-#line 3310 "ui.c"
+#line 3312 "ui.c"
 }
 
 
@@ -3315,7 +3317,7 @@ void user_interface_new_document_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 726 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_new_document (self);
-#line 3319 "ui.c"
+#line 3321 "ui.c"
 }
 
 
@@ -3340,7 +3342,7 @@ static void user_interface_set_document_hint (UserInterface* self, const gchar*
 	_tmp2_ = document_hint;
 #line 733 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (g_strcmp0 (_tmp2_, "text") == 0) {
-#line 3344 "ui.c"
+#line 3346 "ui.c"
 		GtkRadioMenuItem* _tmp3_ = NULL;
 		GtkRadioMenuItem* _tmp4_ = NULL;
 		GtkRadioMenuItem* _tmp5_ = NULL;
@@ -3356,14 +3358,14 @@ static void user_interface_set_document_hint (UserInterface* self, const gchar*
 		_tmp5_ = self->priv->text_menuitem;
 #line 737 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp5_, TRUE);
-#line 3360 "ui.c"
+#line 3362 "ui.c"
 	} else {
 		const gchar* _tmp6_ = NULL;
 #line 739 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp6_ = document_hint;
 #line 739 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (g_strcmp0 (_tmp6_, "photo") == 0) {
-#line 3367 "ui.c"
+#line 3369 "ui.c"
 			GtkRadioMenuItem* _tmp7_ = NULL;
 			GtkRadioMenuItem* _tmp8_ = NULL;
 			GtkRadioMenuItem* _tmp9_ = NULL;
@@ -3379,14 +3381,14 @@ static void user_interface_set_document_hint (UserInterface* self, const gchar*
 			_tmp9_ = self->priv->photo_menuitem;
 #line 743 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp9_, TRUE);
-#line 3383 "ui.c"
+#line 3385 "ui.c"
 		}
 	}
 #line 746 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp10_ = save;
 #line 746 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp10_) {
-#line 3390 "ui.c"
+#line 3392 "ui.c"
 		GSettings* _tmp11_ = NULL;
 		const gchar* _tmp12_ = NULL;
 #line 747 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3395,7 +3397,7 @@ static void user_interface_set_document_hint (UserInterface* self, const gchar*
 		_tmp12_ = document_hint;
 #line 747 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_settings_set_string (_tmp11_, "document-type", _tmp12_);
-#line 3399 "ui.c"
+#line 3401 "ui.c"
 	}
 }
 
@@ -3418,7 +3420,7 @@ static void user_interface_text_menuitem_toggled_cb (UserInterface* self, GtkChe
 	if (_tmp2_) {
 #line 754 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_document_hint (self, "text", TRUE);
-#line 3422 "ui.c"
+#line 3424 "ui.c"
 	}
 }
 
@@ -3426,7 +3428,7 @@ static void user_interface_text_menuitem_toggled_cb (UserInterface* self, GtkChe
 static void _user_interface_text_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_text_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 3430 "ui.c"
+#line 3432 "ui.c"
 }
 
 
@@ -3448,7 +3450,7 @@ static void user_interface_photo_menuitem_toggled_cb (UserInterface* self, GtkCh
 	if (_tmp2_) {
 #line 761 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_document_hint (self, "photo", TRUE);
-#line 3452 "ui.c"
+#line 3454 "ui.c"
 	}
 }
 
@@ -3456,7 +3458,7 @@ static void user_interface_photo_menuitem_toggled_cb (UserInterface* self, GtkCh
 static void _user_interface_photo_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_photo_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 3460 "ui.c"
+#line 3462 "ui.c"
 }
 
 
@@ -3475,14 +3477,14 @@ static void user_interface_set_page_side (UserInterface* self, ScanType page_sid
 	iter = _tmp1_;
 #line 768 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp2_) {
-#line 3479 "ui.c"
+#line 3481 "ui.c"
 		{
 			gboolean _tmp3_ = FALSE;
 #line 770 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp3_ = TRUE;
 #line 770 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			while (TRUE) {
-#line 3486 "ui.c"
+#line 3488 "ui.c"
 				gint s = 0;
 				GtkListStore* _tmp6_ = NULL;
 				GtkTreeIter _tmp7_ = {0};
@@ -3490,7 +3492,7 @@ static void user_interface_set_page_side (UserInterface* self, ScanType page_sid
 				ScanType _tmp9_ = 0;
 #line 770 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (!_tmp3_) {
-#line 3494 "ui.c"
+#line 3496 "ui.c"
 					GtkListStore* _tmp4_ = NULL;
 					gboolean _tmp5_ = FALSE;
 #line 779 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3501,7 +3503,7 @@ static void user_interface_set_page_side (UserInterface* self, ScanType page_sid
 					if (!_tmp5_) {
 #line 779 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						break;
-#line 3505 "ui.c"
+#line 3507 "ui.c"
 					}
 				}
 #line 770 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3518,7 +3520,7 @@ static void user_interface_set_page_side (UserInterface* self, ScanType page_sid
 				_tmp9_ = page_side;
 #line 774 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (_tmp8_ == ((gint) _tmp9_)) {
-#line 3522 "ui.c"
+#line 3524 "ui.c"
 					GtkComboBox* _tmp10_ = NULL;
 					GtkTreeIter _tmp11_ = {0};
 #line 776 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3529,7 +3531,7 @@ static void user_interface_set_page_side (UserInterface* self, ScanType page_sid
 					gtk_combo_box_set_active_iter (_tmp10_, &_tmp11_);
 #line 777 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					return;
-#line 3533 "ui.c"
+#line 3535 "ui.c"
 				}
 			}
 		}
@@ -3544,7 +3546,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 	gboolean _tmp18_ = FALSE;
 #line 783 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_if_fail (self != NULL);
-#line 3548 "ui.c"
+#line 3550 "ui.c"
 	{
 		GtkListStore* _tmp0_ = NULL;
 		GtkTreeIter _tmp1_ = {0};
@@ -3562,7 +3564,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 		_tmp3_ = TRUE;
 #line 788 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		while (TRUE) {
-#line 3566 "ui.c"
+#line 3568 "ui.c"
 			gboolean _tmp6_ = FALSE;
 			gint w = 0;
 			gint h = 0;
@@ -3573,7 +3575,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 			gint _tmp11_ = 0;
 #line 788 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			if (!_tmp3_) {
-#line 3577 "ui.c"
+#line 3579 "ui.c"
 				GtkListStore* _tmp4_ = NULL;
 				gboolean _tmp5_ = FALSE;
 #line 790 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3582,7 +3584,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 				_tmp5_ = gtk_tree_model_iter_next ((GtkTreeModel*) _tmp4_, &iter);
 #line 790 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				have_iter = _tmp5_;
-#line 3586 "ui.c"
+#line 3588 "ui.c"
 			}
 #line 788 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp3_ = FALSE;
@@ -3592,7 +3594,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 			if (!_tmp6_) {
 #line 789 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 3596 "ui.c"
+#line 3598 "ui.c"
 			}
 #line 793 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp7_ = self->priv->paper_size_model;
@@ -3606,7 +3608,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 			_tmp11_ = width;
 #line 794 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			if (_tmp10_ == _tmp11_) {
-#line 3610 "ui.c"
+#line 3612 "ui.c"
 				gint _tmp12_ = 0;
 				gint _tmp13_ = 0;
 #line 794 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3615,17 +3617,17 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 				_tmp13_ = height;
 #line 794 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp9_ = _tmp12_ == _tmp13_;
-#line 3619 "ui.c"
+#line 3621 "ui.c"
 			} else {
 #line 794 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp9_ = FALSE;
-#line 3623 "ui.c"
+#line 3625 "ui.c"
 			}
 #line 794 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			if (_tmp9_) {
 #line 795 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 3629 "ui.c"
+#line 3631 "ui.c"
 			}
 		}
 	}
@@ -3633,7 +3635,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 	_tmp14_ = have_iter;
 #line 798 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (!_tmp14_) {
-#line 3637 "ui.c"
+#line 3639 "ui.c"
 		GtkListStore* _tmp15_ = NULL;
 		GtkTreeIter _tmp16_ = {0};
 		gboolean _tmp17_ = FALSE;
@@ -3645,13 +3647,13 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 		iter = _tmp16_;
 #line 799 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		have_iter = _tmp17_;
-#line 3649 "ui.c"
+#line 3651 "ui.c"
 	}
 #line 800 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp18_ = have_iter;
 #line 800 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp18_) {
-#line 3655 "ui.c"
+#line 3657 "ui.c"
 		GtkComboBox* _tmp19_ = NULL;
 		GtkTreeIter _tmp20_ = {0};
 #line 801 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3660,7 +3662,7 @@ static void user_interface_set_paper_size (UserInterface* self, gint width, gint
 		_tmp20_ = iter;
 #line 801 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_combo_box_set_active_iter (_tmp19_, &_tmp20_);
-#line 3664 "ui.c"
+#line 3666 "ui.c"
 	}
 }
 
@@ -3684,7 +3686,7 @@ static gint user_interface_get_text_dpi (UserInterface* self) {
 	iter = _tmp1_;
 #line 809 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp2_) {
-#line 3688 "ui.c"
+#line 3690 "ui.c"
 		GtkListStore* _tmp3_ = NULL;
 		GtkTreeIter _tmp4_ = {0};
 #line 810 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3693,13 +3695,13 @@ static gint user_interface_get_text_dpi (UserInterface* self) {
 		_tmp4_ = iter;
 #line 810 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_tree_model_get ((GtkTreeModel*) _tmp3_, &_tmp4_, 0, &dpi, -1, -1);
-#line 3697 "ui.c"
+#line 3699 "ui.c"
 	}
 #line 812 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = dpi;
 #line 812 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 3703 "ui.c"
+#line 3705 "ui.c"
 }
 
 
@@ -3722,7 +3724,7 @@ static gint user_interface_get_photo_dpi (UserInterface* self) {
 	iter = _tmp1_;
 #line 820 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp2_) {
-#line 3726 "ui.c"
+#line 3728 "ui.c"
 		GtkListStore* _tmp3_ = NULL;
 		GtkTreeIter _tmp4_ = {0};
 #line 821 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3731,13 +3733,13 @@ static gint user_interface_get_photo_dpi (UserInterface* self) {
 		_tmp4_ = iter;
 #line 821 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_tree_model_get ((GtkTreeModel*) _tmp3_, &_tmp4_, 0, &dpi, -1, -1);
-#line 3735 "ui.c"
+#line 3737 "ui.c"
 	}
 #line 823 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = dpi;
 #line 823 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 3741 "ui.c"
+#line 3743 "ui.c"
 }
 
 
@@ -3761,7 +3763,7 @@ static ScanType user_interface_get_page_side (UserInterface* self) {
 	iter = _tmp1_;
 #line 831 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp2_) {
-#line 3765 "ui.c"
+#line 3767 "ui.c"
 		GtkListStore* _tmp3_ = NULL;
 		GtkTreeIter _tmp4_ = {0};
 #line 832 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3770,7 +3772,7 @@ static ScanType user_interface_get_page_side (UserInterface* self) {
 		_tmp4_ = iter;
 #line 832 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_tree_model_get ((GtkTreeModel*) _tmp3_, &_tmp4_, 0, &page_side, -1, -1);
-#line 3774 "ui.c"
+#line 3776 "ui.c"
 	}
 #line 834 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp5_ = page_side;
@@ -3778,7 +3780,7 @@ static ScanType user_interface_get_page_side (UserInterface* self) {
 	result = (ScanType) _tmp5_;
 #line 834 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 3782 "ui.c"
+#line 3784 "ui.c"
 }
 
 
@@ -3807,7 +3809,7 @@ static gboolean user_interface_get_paper_size (UserInterface* self, gint* width,
 	iter = _tmp2_;
 #line 842 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp3_) {
-#line 3811 "ui.c"
+#line 3813 "ui.c"
 		GtkListStore* _tmp4_ = NULL;
 		GtkTreeIter _tmp5_ = {0};
 #line 844 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -3822,17 +3824,17 @@ static gboolean user_interface_get_paper_size (UserInterface* self, gint* width,
 		if (width) {
 #line 845 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			*width = _vala_width;
-#line 3826 "ui.c"
+#line 3828 "ui.c"
 		}
 #line 845 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (height) {
 #line 845 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			*height = _vala_height;
-#line 3832 "ui.c"
+#line 3834 "ui.c"
 		}
 #line 845 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 3836 "ui.c"
+#line 3838 "ui.c"
 	}
 #line 848 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = FALSE;
@@ -3840,17 +3842,17 @@ static gboolean user_interface_get_paper_size (UserInterface* self, gint* width,
 	if (width) {
 #line 848 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*width = _vala_width;
-#line 3844 "ui.c"
+#line 3846 "ui.c"
 	}
 #line 848 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (height) {
 #line 848 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*height = _vala_height;
-#line 3850 "ui.c"
+#line 3852 "ui.c"
 	}
 #line 848 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 3854 "ui.c"
+#line 3856 "ui.c"
 }
 
 
@@ -3879,7 +3881,7 @@ static ScanOptions* user_interface_make_scan_options (UserInterface* self) {
 	_tmp1_ = self->priv->document_hint;
 #line 854 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (g_strcmp0 (_tmp1_, "text") == 0) {
-#line 3883 "ui.c"
+#line 3885 "ui.c"
 		ScanOptions* _tmp2_ = NULL;
 		ScanOptions* _tmp3_ = NULL;
 		gint _tmp4_ = 0;
@@ -3898,7 +3900,7 @@ static ScanOptions* user_interface_make_scan_options (UserInterface* self) {
 		_tmp5_ = options;
 #line 858 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp5_->depth = 2;
-#line 3902 "ui.c"
+#line 3904 "ui.c"
 	} else {
 		ScanOptions* _tmp6_ = NULL;
 		ScanOptions* _tmp7_ = NULL;
@@ -3918,7 +3920,7 @@ static ScanOptions* user_interface_make_scan_options (UserInterface* self) {
 		_tmp9_ = options;
 #line 864 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp9_->depth = 8;
-#line 3922 "ui.c"
+#line 3924 "ui.c"
 	}
 #line 866 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp10_ = options;
@@ -3950,7 +3952,7 @@ static ScanOptions* user_interface_make_scan_options (UserInterface* self) {
 	result = options;
 #line 870 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 3954 "ui.c"
+#line 3956 "ui.c"
 }
 
 
@@ -3982,14 +3984,14 @@ static void user_interface_scan_button_clicked_cb (UserInterface* self, GtkWidge
 	_g_free0 (_tmp3_);
 #line 874 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_scan_options_unref0 (options);
-#line 3986 "ui.c"
+#line 3988 "ui.c"
 }
 
 
 static void _user_interface_scan_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_scan_button_clicked_cb ((UserInterface*) self, _sender);
-#line 3993 "ui.c"
+#line 3995 "ui.c"
 }
 
 
@@ -4000,14 +4002,14 @@ static void user_interface_stop_scan_button_clicked_cb (UserInterface* self, Gtk
 	g_return_if_fail (widget != NULL);
 #line 884 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_signal_emit_by_name (self, "stop-scan");
-#line 4004 "ui.c"
+#line 4006 "ui.c"
 }
 
 
 static void _user_interface_stop_scan_button_clicked_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_stop_scan_button_clicked_cb ((UserInterface*) self, _sender);
-#line 4011 "ui.c"
+#line 4013 "ui.c"
 }
 
 
@@ -4026,7 +4028,7 @@ static void user_interface_continuous_scan_button_clicked_cb (UserInterface* sel
 	if (_tmp1_) {
 #line 891 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_signal_emit_by_name (self, "stop-scan");
-#line 4030 "ui.c"
+#line 4032 "ui.c"
 	} else {
 		ScanOptions* options = NULL;
 		ScanOptions* _tmp2_ = NULL;
@@ -4060,7 +4062,7 @@ static void user_interface_continuous_scan_button_clicked_cb (UserInterface* sel
 		_g_free0 (_tmp7_);
 #line 890 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_scan_options_unref0 (options);
-#line 4064 "ui.c"
+#line 4066 "ui.c"
 	}
 }
 
@@ -4068,7 +4070,7 @@ static void user_interface_continuous_scan_button_clicked_cb (UserInterface* sel
 static void _user_interface_continuous_scan_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_continuous_scan_button_clicked_cb ((UserInterface*) self, _sender);
-#line 4072 "ui.c"
+#line 4074 "ui.c"
 }
 
 
@@ -4082,14 +4084,14 @@ static void user_interface_preferences_button_clicked_cb (UserInterface* self, G
 	_tmp0_ = self->priv->preferences_dialog;
 #line 903 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_window_present ((GtkWindow*) _tmp0_);
-#line 4086 "ui.c"
+#line 4088 "ui.c"
 }
 
 
 static void _user_interface_preferences_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_preferences_button_clicked_cb ((UserInterface*) self, _sender);
-#line 4093 "ui.c"
+#line 4095 "ui.c"
 }
 
 
@@ -4101,7 +4103,7 @@ void user_interface_preferences_activate_cb (UserInterface* self) {
 	_tmp0_ = self->priv->preferences_dialog;
 #line 908 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_window_present ((GtkWindow*) _tmp0_);
-#line 4105 "ui.c"
+#line 4107 "ui.c"
 }
 
 
@@ -4117,7 +4119,7 @@ static gboolean user_interface_preferences_dialog_delete_event_cb (UserInterface
 	result = TRUE;
 #line 914 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 4121 "ui.c"
+#line 4123 "ui.c"
 }
 
 
@@ -4126,7 +4128,7 @@ static gboolean _user_interface_preferences_dialog_delete_event_cb_gtk_widget_de
 	result = user_interface_preferences_dialog_delete_event_cb ((UserInterface*) self, _sender, event);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 4130 "ui.c"
+#line 4132 "ui.c"
 }
 
 
@@ -4140,21 +4142,21 @@ static void user_interface_preferences_dialog_response_cb (UserInterface* self,
 	_tmp0_ = self->priv->preferences_dialog;
 #line 920 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_set_visible ((GtkWidget*) _tmp0_, FALSE);
-#line 4144 "ui.c"
+#line 4146 "ui.c"
 }
 
 
 static void _user_interface_preferences_dialog_response_cb_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_preferences_dialog_response_cb ((UserInterface*) self, _sender, response_id);
-#line 4151 "ui.c"
+#line 4153 "ui.c"
 }
 
 
 static gpointer _page_ref0 (gpointer self) {
 #line 925 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return self ? page_ref (self) : NULL;
-#line 4158 "ui.c"
+#line 4160 "ui.c"
 }
 
 
@@ -4181,7 +4183,7 @@ static void user_interface_update_page_menu (UserInterface* self) {
 	_tmp4_ = page;
 #line 926 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp4_ == NULL) {
-#line 4185 "ui.c"
+#line 4187 "ui.c"
 		GtkMenuItem* _tmp5_ = NULL;
 		GtkMenuItem* _tmp6_ = NULL;
 #line 928 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4192,7 +4194,7 @@ static void user_interface_update_page_menu (UserInterface* self) {
 		_tmp6_ = self->priv->page_move_right_menuitem;
 #line 929 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_widget_set_sensitive ((GtkWidget*) _tmp6_, FALSE);
-#line 4196 "ui.c"
+#line 4198 "ui.c"
 	} else {
 		guint index = 0U;
 		Book* _tmp7_ = NULL;
@@ -4231,11 +4233,11 @@ static void user_interface_update_page_menu (UserInterface* self) {
 		_tmp16_ = _tmp15_;
 #line 935 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_widget_set_sensitive ((GtkWidget*) _tmp12_, _tmp13_ < (_tmp16_ - 1));
-#line 4235 "ui.c"
+#line 4237 "ui.c"
 	}
 #line 923 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 4239 "ui.c"
+#line 4241 "ui.c"
 }
 
 
@@ -4266,7 +4268,7 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 	if (_tmp0_ == NULL) {
 #line 942 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4270 "ui.c"
+#line 4272 "ui.c"
 	}
 #line 944 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	self->priv->updating_page_menu = TRUE;
@@ -4286,7 +4288,7 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 	_tmp5_ = _tmp4_;
 #line 949 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp5_) {
-#line 4290 "ui.c"
+#line 4292 "ui.c"
 		gchar* crop_name = NULL;
 		Page* _tmp6_ = NULL;
 		const gchar* _tmp7_ = NULL;
@@ -4307,13 +4309,13 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 		_tmp10_ = crop_name;
 #line 952 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (_tmp10_ != NULL) {
-#line 4311 "ui.c"
+#line 4313 "ui.c"
 			const gchar* _tmp11_ = NULL;
 #line 954 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp11_ = crop_name;
 #line 954 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			if (g_strcmp0 (_tmp11_, "A4") == 0) {
-#line 4317 "ui.c"
+#line 4319 "ui.c"
 				GtkRadioMenuItem* _tmp12_ = NULL;
 				GtkRadioMenuItem* _tmp13_ = NULL;
 #line 955 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4324,14 +4326,14 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 				_g_object_unref0 (menuitem);
 #line 955 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				menuitem = _tmp13_;
-#line 4328 "ui.c"
+#line 4330 "ui.c"
 			} else {
 				const gchar* _tmp14_ = NULL;
 #line 956 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp14_ = crop_name;
 #line 956 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (g_strcmp0 (_tmp14_, "A5") == 0) {
-#line 4335 "ui.c"
+#line 4337 "ui.c"
 					GtkRadioMenuItem* _tmp15_ = NULL;
 					GtkRadioMenuItem* _tmp16_ = NULL;
 #line 957 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4342,14 +4344,14 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 					_g_object_unref0 (menuitem);
 #line 957 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					menuitem = _tmp16_;
-#line 4346 "ui.c"
+#line 4348 "ui.c"
 				} else {
 					const gchar* _tmp17_ = NULL;
 #line 958 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					_tmp17_ = crop_name;
 #line 958 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					if (g_strcmp0 (_tmp17_, "A6") == 0) {
-#line 4353 "ui.c"
+#line 4355 "ui.c"
 						GtkRadioMenuItem* _tmp18_ = NULL;
 						GtkRadioMenuItem* _tmp19_ = NULL;
 #line 959 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4360,14 +4362,14 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 						_g_object_unref0 (menuitem);
 #line 959 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						menuitem = _tmp19_;
-#line 4364 "ui.c"
+#line 4366 "ui.c"
 					} else {
 						const gchar* _tmp20_ = NULL;
 #line 960 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						_tmp20_ = crop_name;
 #line 960 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						if (g_strcmp0 (_tmp20_, "letter") == 0) {
-#line 4371 "ui.c"
+#line 4373 "ui.c"
 							GtkRadioMenuItem* _tmp21_ = NULL;
 							GtkRadioMenuItem* _tmp22_ = NULL;
 #line 961 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4378,14 +4380,14 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 							_g_object_unref0 (menuitem);
 #line 961 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 							menuitem = _tmp22_;
-#line 4382 "ui.c"
+#line 4384 "ui.c"
 						} else {
 							const gchar* _tmp23_ = NULL;
 #line 962 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 							_tmp23_ = crop_name;
 #line 962 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 							if (g_strcmp0 (_tmp23_, "legal") == 0) {
-#line 4389 "ui.c"
+#line 4391 "ui.c"
 								GtkRadioMenuItem* _tmp24_ = NULL;
 								GtkRadioMenuItem* _tmp25_ = NULL;
 #line 963 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4396,14 +4398,14 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 								_g_object_unref0 (menuitem);
 #line 963 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 								menuitem = _tmp25_;
-#line 4400 "ui.c"
+#line 4402 "ui.c"
 							} else {
 								const gchar* _tmp26_ = NULL;
 #line 964 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 								_tmp26_ = crop_name;
 #line 964 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 								if (g_strcmp0 (_tmp26_, "4x6") == 0) {
-#line 4407 "ui.c"
+#line 4409 "ui.c"
 									GtkRadioMenuItem* _tmp27_ = NULL;
 									GtkRadioMenuItem* _tmp28_ = NULL;
 #line 965 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4414,7 +4416,7 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 									_g_object_unref0 (menuitem);
 #line 965 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 									menuitem = _tmp28_;
-#line 4418 "ui.c"
+#line 4420 "ui.c"
 								}
 							}
 						}
@@ -4432,11 +4434,11 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 			_g_object_unref0 (menuitem);
 #line 968 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			menuitem = _tmp30_;
-#line 4436 "ui.c"
+#line 4438 "ui.c"
 		}
 #line 949 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_free0 (crop_name);
-#line 4440 "ui.c"
+#line 4442 "ui.c"
 	}
 #line 971 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp31_ = menuitem;
@@ -4466,7 +4468,7 @@ static void user_interface_page_selected_cb (UserInterface* self, BookView* view
 	self->priv->updating_page_menu = FALSE;
 #line 939 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_object_unref0 (menuitem);
-#line 4470 "ui.c"
+#line 4472 "ui.c"
 }
 
 
@@ -4496,7 +4498,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		_g_free0 (path);
 #line 982 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4500 "ui.c"
+#line 4502 "ui.c"
 	}
 #line 983 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp2_ = path;
@@ -4504,7 +4506,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 	_tmp3_ = g_file_new_for_path (_tmp2_);
 #line 983 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	file = _tmp3_;
-#line 4508 "ui.c"
+#line 4510 "ui.c"
 	{
 		Page* _tmp4_ = NULL;
 		gint _tmp5_ = 0;
@@ -4522,7 +4524,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		page_save (_tmp4_, "tiff", _tmp6_, _tmp7_, &_inner_error_);
 #line 987 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 4526 "ui.c"
+#line 4528 "ui.c"
 			goto __catch18_g_error;
 		}
 	}
@@ -4553,7 +4555,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		_g_free0 (path);
 #line 994 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4557 "ui.c"
+#line 4559 "ui.c"
 	}
 	__finally18:
 #line 985 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4568,7 +4570,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		g_clear_error (&_inner_error_);
 #line 985 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4572 "ui.c"
+#line 4574 "ui.c"
 	}
 	{
 		GdkScreen* _tmp11_ = NULL;
@@ -4595,7 +4597,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		_g_free0 (_tmp15_);
 #line 999 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 4599 "ui.c"
+#line 4601 "ui.c"
 			goto __catch19_g_error;
 		}
 	}
@@ -4620,7 +4622,7 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		user_interface_show_error_dialog (self, _tmp17_, _tmp19_);
 #line 997 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_error_free0 (e);
-#line 4624 "ui.c"
+#line 4626 "ui.c"
 	}
 	__finally19:
 #line 997 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -4635,13 +4637,13 @@ static void user_interface_show_page_cb (UserInterface* self, BookView* view, Pa
 		g_clear_error (&_inner_error_);
 #line 997 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4639 "ui.c"
+#line 4641 "ui.c"
 	}
 #line 978 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_object_unref0 (file);
 #line 978 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_free0 (path);
-#line 4645 "ui.c"
+#line 4647 "ui.c"
 }
 
 
@@ -4658,7 +4660,7 @@ static void user_interface_show_page_menu_cb (UserInterface* self, BookView* vie
 	_tmp1_ = gtk_get_current_event_time ();
 #line 1011 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_menu_popup (_tmp0_, NULL, NULL, NULL, NULL, (guint) 3, _tmp1_);
-#line 4662 "ui.c"
+#line 4664 "ui.c"
 }
 
 
@@ -4680,7 +4682,7 @@ static void user_interface_rotate_left_button_clicked_cb (UserInterface* self, G
 	if (_tmp0_) {
 #line 1018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4684 "ui.c"
+#line 4686 "ui.c"
 	}
 #line 1019 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp1_ = self->priv->book_view;
@@ -4696,24 +4698,24 @@ static void user_interface_rotate_left_button_clicked_cb (UserInterface* self, G
 	_tmp5_ = page;
 #line 1020 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp5_ != NULL) {
-#line 4700 "ui.c"
+#line 4702 "ui.c"
 		Page* _tmp6_ = NULL;
 #line 1021 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp6_ = page;
 #line 1021 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		page_rotate_left (_tmp6_);
-#line 4706 "ui.c"
+#line 4708 "ui.c"
 	}
 #line 1015 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 4710 "ui.c"
+#line 4712 "ui.c"
 }
 
 
 static void _user_interface_rotate_left_button_clicked_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_rotate_left_button_clicked_cb ((UserInterface*) self, _sender);
-#line 4717 "ui.c"
+#line 4719 "ui.c"
 }
 
 
@@ -4735,7 +4737,7 @@ static void user_interface_rotate_right_button_clicked_cb (UserInterface* self,
 	if (_tmp0_) {
 #line 1028 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4739 "ui.c"
+#line 4741 "ui.c"
 	}
 #line 1029 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp1_ = self->priv->book_view;
@@ -4751,24 +4753,24 @@ static void user_interface_rotate_right_button_clicked_cb (UserInterface* self,
 	_tmp5_ = page;
 #line 1030 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp5_ != NULL) {
-#line 4755 "ui.c"
+#line 4757 "ui.c"
 		Page* _tmp6_ = NULL;
 #line 1031 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp6_ = page;
 #line 1031 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		page_rotate_right (_tmp6_);
-#line 4761 "ui.c"
+#line 4763 "ui.c"
 	}
 #line 1025 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 4765 "ui.c"
+#line 4767 "ui.c"
 }
 
 
 static void _user_interface_rotate_right_button_clicked_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_rotate_right_button_clicked_cb ((UserInterface*) self, _sender);
-#line 4772 "ui.c"
+#line 4774 "ui.c"
 }
 
 
@@ -4797,7 +4799,7 @@ static void user_interface_set_crop (UserInterface* self, const gchar* crop_name
 	if (_tmp2_) {
 #line 1039 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4801 "ui.c"
+#line 4803 "ui.c"
 	}
 #line 1041 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp3_ = self->priv->book_view;
@@ -4819,26 +4821,26 @@ static void user_interface_set_crop (UserInterface* self, const gchar* crop_name
 		_page_unref0 (page);
 #line 1045 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 4823 "ui.c"
+#line 4825 "ui.c"
 	}
 #line 1048 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp8_ = crop_name;
 #line 1048 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp8_ == NULL) {
-#line 4829 "ui.c"
+#line 4831 "ui.c"
 		Page* _tmp9_ = NULL;
 #line 1049 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp9_ = page;
 #line 1049 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		page_set_no_crop (_tmp9_);
-#line 4835 "ui.c"
+#line 4837 "ui.c"
 	} else {
 		const gchar* _tmp10_ = NULL;
 #line 1050 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp10_ = crop_name;
 #line 1050 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (g_strcmp0 (_tmp10_, "custom") == 0) {
-#line 4842 "ui.c"
+#line 4844 "ui.c"
 			gint width = 0;
 			Page* _tmp11_ = NULL;
 			gint _tmp12_ = 0;
@@ -4903,7 +4905,7 @@ static void user_interface_set_crop (UserInterface* self, const gchar* crop_name
 			_tmp26_ = crop_height;
 #line 1057 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			page_move_crop (_tmp22_, (_tmp23_ - _tmp24_) / 2, (_tmp25_ - _tmp26_) / 2);
-#line 4907 "ui.c"
+#line 4909 "ui.c"
 		} else {
 			Page* _tmp27_ = NULL;
 			const gchar* _tmp28_ = NULL;
@@ -4913,12 +4915,12 @@ static void user_interface_set_crop (UserInterface* self, const gchar* crop_name
 			_tmp28_ = crop_name;
 #line 1060 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			page_set_named_crop (_tmp27_, _tmp28_);
-#line 4917 "ui.c"
+#line 4919 "ui.c"
 		}
 	}
 #line 1034 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 4922 "ui.c"
+#line 4924 "ui.c"
 }
 
 
@@ -4940,7 +4942,7 @@ static void user_interface_no_crop_menuitem_toggled_cb (UserInterface* self, Gtk
 	if (_tmp2_) {
 #line 1067 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, NULL);
-#line 4944 "ui.c"
+#line 4946 "ui.c"
 	}
 }
 
@@ -4948,7 +4950,7 @@ static void user_interface_no_crop_menuitem_toggled_cb (UserInterface* self, Gtk
 static void _user_interface_no_crop_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_no_crop_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 4952 "ui.c"
+#line 4954 "ui.c"
 }
 
 
@@ -4970,7 +4972,7 @@ static void user_interface_custom_crop_menuitem_toggled_cb (UserInterface* self,
 	if (_tmp2_) {
 #line 1074 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "custom");
-#line 4974 "ui.c"
+#line 4976 "ui.c"
 	}
 }
 
@@ -4978,7 +4980,7 @@ static void user_interface_custom_crop_menuitem_toggled_cb (UserInterface* self,
 static void _user_interface_custom_crop_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_custom_crop_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 4982 "ui.c"
+#line 4984 "ui.c"
 }
 
 
@@ -4997,7 +4999,7 @@ static void user_interface_crop_button_toggled_cb (UserInterface* self, GtkToggl
 	if (_tmp0_) {
 #line 1081 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 5001 "ui.c"
+#line 5003 "ui.c"
 	}
 #line 1083 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp1_ = widget;
@@ -5007,20 +5009,20 @@ static void user_interface_crop_button_toggled_cb (UserInterface* self, GtkToggl
 	_tmp3_ = _tmp2_;
 #line 1083 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp3_) {
-#line 5011 "ui.c"
+#line 5013 "ui.c"
 		GtkRadioMenuItem* _tmp4_ = NULL;
 #line 1084 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp4_ = self->priv->custom_crop_menuitem;
 #line 1084 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp4_, TRUE);
-#line 5017 "ui.c"
+#line 5019 "ui.c"
 	} else {
 		GtkRadioMenuItem* _tmp5_ = NULL;
 #line 1086 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp5_ = self->priv->no_crop_menuitem;
 #line 1086 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp5_, TRUE);
-#line 5024 "ui.c"
+#line 5026 "ui.c"
 	}
 }
 
@@ -5028,7 +5030,7 @@ static void user_interface_crop_button_toggled_cb (UserInterface* self, GtkToggl
 static void _user_interface_crop_button_toggled_cb_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_crop_button_toggled_cb ((UserInterface*) self, _sender);
-#line 5032 "ui.c"
+#line 5034 "ui.c"
 }
 
 
@@ -5047,7 +5049,7 @@ static void user_interface_crop_toolbutton_toggled_cb (UserInterface* self, GtkT
 	if (_tmp0_) {
 #line 1093 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 5051 "ui.c"
+#line 5053 "ui.c"
 	}
 #line 1095 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp1_ = widget;
@@ -5057,20 +5059,20 @@ static void user_interface_crop_toolbutton_toggled_cb (UserInterface* self, GtkT
 	_tmp3_ = _tmp2_;
 #line 1095 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp3_) {
-#line 5061 "ui.c"
+#line 5063 "ui.c"
 		GtkRadioMenuItem* _tmp4_ = NULL;
 #line 1096 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp4_ = self->priv->custom_crop_menuitem;
 #line 1096 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp4_, TRUE);
-#line 5067 "ui.c"
+#line 5069 "ui.c"
 	} else {
 		GtkRadioMenuItem* _tmp5_ = NULL;
 #line 1098 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp5_ = self->priv->no_crop_menuitem;
 #line 1098 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_check_menu_item_set_active ((GtkCheckMenuItem*) _tmp5_, TRUE);
-#line 5074 "ui.c"
+#line 5076 "ui.c"
 	}
 }
 
@@ -5078,7 +5080,7 @@ static void user_interface_crop_toolbutton_toggled_cb (UserInterface* self, GtkT
 static void _user_interface_crop_toolbutton_toggled_cb_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_crop_toolbutton_toggled_cb ((UserInterface*) self, _sender);
-#line 5082 "ui.c"
+#line 5084 "ui.c"
 }
 
 
@@ -5100,7 +5102,7 @@ static void user_interface_four_by_six_menuitem_toggled_cb (UserInterface* self,
 	if (_tmp2_) {
 #line 1105 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "4x6");
-#line 5104 "ui.c"
+#line 5106 "ui.c"
 	}
 }
 
@@ -5108,7 +5110,7 @@ static void user_interface_four_by_six_menuitem_toggled_cb (UserInterface* self,
 static void _user_interface_four_by_six_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_four_by_six_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 5112 "ui.c"
+#line 5114 "ui.c"
 }
 
 
@@ -5130,7 +5132,7 @@ static void user_interface_legal_menuitem_toggled_cb (UserInterface* self, GtkCh
 	if (_tmp2_) {
 #line 1112 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "legal");
-#line 5134 "ui.c"
+#line 5136 "ui.c"
 	}
 }
 
@@ -5138,7 +5140,7 @@ static void user_interface_legal_menuitem_toggled_cb (UserInterface* self, GtkCh
 static void _user_interface_legal_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_legal_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 5142 "ui.c"
+#line 5144 "ui.c"
 }
 
 
@@ -5160,7 +5162,7 @@ static void user_interface_letter_menuitem_toggled_cb (UserInterface* self, GtkC
 	if (_tmp2_) {
 #line 1119 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "letter");
-#line 5164 "ui.c"
+#line 5166 "ui.c"
 	}
 }
 
@@ -5168,7 +5170,7 @@ static void user_interface_letter_menuitem_toggled_cb (UserInterface* self, GtkC
 static void _user_interface_letter_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_letter_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 5172 "ui.c"
+#line 5174 "ui.c"
 }
 
 
@@ -5190,7 +5192,7 @@ static void user_interface_a6_menuitem_toggled_cb (UserInterface* self, GtkCheck
 	if (_tmp2_) {
 #line 1126 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "A6");
-#line 5194 "ui.c"
+#line 5196 "ui.c"
 	}
 }
 
@@ -5198,7 +5200,7 @@ static void user_interface_a6_menuitem_toggled_cb (UserInterface* self, GtkCheck
 static void _user_interface_a6_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_a6_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 5202 "ui.c"
+#line 5204 "ui.c"
 }
 
 
@@ -5220,7 +5222,7 @@ static void user_interface_a5_menuitem_toggled_cb (UserInterface* self, GtkCheck
 	if (_tmp2_) {
 #line 1133 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "A5");
-#line 5224 "ui.c"
+#line 5226 "ui.c"
 	}
 }
 
@@ -5228,7 +5230,7 @@ static void user_interface_a5_menuitem_toggled_cb (UserInterface* self, GtkCheck
 static void _user_interface_a5_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_a5_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 5232 "ui.c"
+#line 5234 "ui.c"
 }
 
 
@@ -5250,7 +5252,7 @@ static void user_interface_a4_menuitem_toggled_cb (UserInterface* self, GtkCheck
 	if (_tmp2_) {
 #line 1140 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_crop (self, "A4");
-#line 5254 "ui.c"
+#line 5256 "ui.c"
 	}
 }
 
@@ -5258,7 +5260,7 @@ static void user_interface_a4_menuitem_toggled_cb (UserInterface* self, GtkCheck
 static void _user_interface_a4_menuitem_toggled_cb_gtk_check_menu_item_toggled (GtkCheckMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_a4_menuitem_toggled_cb ((UserInterface*) self, _sender);
-#line 5262 "ui.c"
+#line 5264 "ui.c"
 }
 
 
@@ -5292,7 +5294,7 @@ static void user_interface_crop_rotate_menuitem_activate_cb (UserInterface* self
 		_page_unref0 (page);
 #line 1148 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 5296 "ui.c"
+#line 5298 "ui.c"
 	}
 #line 1149 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp5_ = page;
@@ -5300,14 +5302,14 @@ static void user_interface_crop_rotate_menuitem_activate_cb (UserInterface* self
 	page_rotate_crop (_tmp5_);
 #line 1144 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 5304 "ui.c"
+#line 5306 "ui.c"
 }
 
 
 static void _user_interface_crop_rotate_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_crop_rotate_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 5311 "ui.c"
+#line 5313 "ui.c"
 }
 
 
@@ -5348,7 +5350,7 @@ static void user_interface_page_move_left_menuitem_activate_cb (UserInterface* s
 	_tmp7_ = index;
 #line 1157 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp7_ > ((guint) 0)) {
-#line 5352 "ui.c"
+#line 5354 "ui.c"
 		Book* _tmp8_ = NULL;
 		Page* _tmp9_ = NULL;
 		guint _tmp10_ = 0U;
@@ -5360,18 +5362,18 @@ static void user_interface_page_move_left_menuitem_activate_cb (UserInterface* s
 		_tmp10_ = index;
 #line 1158 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		book_move_page (_tmp8_, _tmp9_, _tmp10_ - 1);
-#line 5364 "ui.c"
+#line 5366 "ui.c"
 	}
 #line 1153 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 5368 "ui.c"
+#line 5370 "ui.c"
 }
 
 
 static void _user_interface_page_move_left_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_page_move_left_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 5375 "ui.c"
+#line 5377 "ui.c"
 }
 
 
@@ -5421,7 +5423,7 @@ static void user_interface_page_move_right_menuitem_activate_cb (UserInterface*
 	_tmp10_ = _tmp9_;
 #line 1166 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp7_ < (_tmp10_ - 1)) {
-#line 5425 "ui.c"
+#line 5427 "ui.c"
 		Book* _tmp11_ = NULL;
 		Page* _tmp12_ = NULL;
 		Book* _tmp13_ = NULL;
@@ -5439,18 +5441,18 @@ static void user_interface_page_move_right_menuitem_activate_cb (UserInterface*
 		_tmp15_ = book_get_page_index (_tmp13_, _tmp14_);
 #line 1167 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		book_move_page (_tmp11_, _tmp12_, _tmp15_ + 1);
-#line 5443 "ui.c"
+#line 5445 "ui.c"
 	}
 #line 1162 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 5447 "ui.c"
+#line 5449 "ui.c"
 }
 
 
 static void _user_interface_page_move_right_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_page_move_right_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 5454 "ui.c"
+#line 5456 "ui.c"
 }
 
 
@@ -5479,14 +5481,14 @@ static void user_interface_page_delete_menuitem_activate_cb (UserInterface* self
 	_tmp5_ = _tmp4_;
 #line 1173 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	book_delete_page (_tmp2_, _tmp5_);
-#line 5483 "ui.c"
+#line 5485 "ui.c"
 }
 
 
 static void _user_interface_page_delete_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_page_delete_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 5490 "ui.c"
+#line 5492 "ui.c"
 }
 
 
@@ -5495,7 +5497,7 @@ static Block2Data* block2_data_ref (Block2Data* _data2_) {
 	g_atomic_int_inc (&_data2_->_ref_count_);
 #line 1176 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return _data2_;
-#line 5499 "ui.c"
+#line 5501 "ui.c"
 }
 
 
@@ -5504,7 +5506,7 @@ static void block2_data_unref (void * _userdata_) {
 	_data2_ = (Block2Data*) _userdata_;
 #line 1176 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
-#line 5508 "ui.c"
+#line 5510 "ui.c"
 		UserInterface* self;
 #line 1176 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		self = _data2_->self;
@@ -5514,7 +5516,7 @@ static void block2_data_unref (void * _userdata_) {
 		_g_object_unref0 (self);
 #line 1176 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_slice_free (Block2Data, _data2_);
-#line 5518 "ui.c"
+#line 5520 "ui.c"
 	}
 }
 
@@ -5535,7 +5537,7 @@ static gboolean __lambda6_ (Block2Data* _data2_, GdkEventKey* e) {
 	_tmp2_ = _tmp1_->state;
 #line 1187 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp2_ == 0) {
-#line 5539 "ui.c"
+#line 5541 "ui.c"
 		GdkEventKey* _tmp3_ = NULL;
 		guint _tmp4_ = 0U;
 #line 1187 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -5544,11 +5546,11 @@ static gboolean __lambda6_ (Block2Data* _data2_, GdkEventKey* e) {
 		_tmp4_ = _tmp3_->keyval;
 #line 1187 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp0_ = _tmp4_ == ((guint) GDK_KEY_Escape);
-#line 5548 "ui.c"
+#line 5550 "ui.c"
 	} else {
 #line 1187 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp0_ = FALSE;
-#line 5552 "ui.c"
+#line 5554 "ui.c"
 	}
 #line 1187 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp0_) {
@@ -5558,13 +5560,13 @@ static gboolean __lambda6_ (Block2Data* _data2_, GdkEventKey* e) {
 		result = TRUE;
 #line 1190 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 5562 "ui.c"
+#line 5564 "ui.c"
 	}
 #line 1193 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = FALSE;
 #line 1193 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 5568 "ui.c"
+#line 5570 "ui.c"
 }
 
 
@@ -5573,7 +5575,7 @@ static gboolean ___lambda6__gtk_widget_key_press_event (GtkWidget* _sender, GdkE
 	result = __lambda6_ (self, event);
 #line 1185 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 5577 "ui.c"
+#line 5579 "ui.c"
 }
 
 
@@ -5588,14 +5590,14 @@ static void __lambda7_ (Block2Data* _data2_) {
 	book_combine_sides (_tmp0_);
 #line 1210 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_destroy ((GtkWidget*) _data2_->dialog);
-#line 5592 "ui.c"
+#line 5594 "ui.c"
 }
 
 
 static void ___lambda7__gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 1207 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda7_ (self);
-#line 5599 "ui.c"
+#line 5601 "ui.c"
 }
 
 
@@ -5610,14 +5612,14 @@ static void __lambda8_ (Block2Data* _data2_) {
 	book_combine_sides_reverse (_tmp0_);
 #line 1220 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_destroy ((GtkWidget*) _data2_->dialog);
-#line 5614 "ui.c"
+#line 5616 "ui.c"
 }
 
 
 static void ___lambda8__gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 1217 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda8_ (self);
-#line 5621 "ui.c"
+#line 5623 "ui.c"
 }
 
 
@@ -5632,14 +5634,14 @@ static void __lambda9_ (Block2Data* _data2_) {
 	book_reverse (_tmp0_);
 #line 1230 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_destroy ((GtkWidget*) _data2_->dialog);
-#line 5636 "ui.c"
+#line 5638 "ui.c"
 }
 
 
 static void ___lambda9__gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 1227 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda9_ (self);
-#line 5643 "ui.c"
+#line 5645 "ui.c"
 }
 
 
@@ -5649,14 +5651,14 @@ static void __lambda10_ (Block2Data* _data2_) {
 	self = _data2_->self;
 #line 1239 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_destroy ((GtkWidget*) _data2_->dialog);
-#line 5653 "ui.c"
+#line 5655 "ui.c"
 }
 
 
 static void ___lambda10__gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 1237 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda10_ (self);
-#line 5660 "ui.c"
+#line 5662 "ui.c"
 }
 
 
@@ -5823,7 +5825,7 @@ static void user_interface_reorder_document (UserInterface* self) {
 	block2_data_unref (_data2_);
 #line 1176 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data2_ = NULL;
-#line 5827 "ui.c"
+#line 5829 "ui.c"
 }
 
 
@@ -5832,7 +5834,7 @@ void user_interface_reorder_document_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1249 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_reorder_document (self);
-#line 5836 "ui.c"
+#line 5838 "ui.c"
 }
 
 
@@ -5843,14 +5845,14 @@ static void user_interface_reorder_menuitem_activate_cb (UserInterface* self, Gt
 	g_return_if_fail (widget != NULL);
 #line 1255 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_reorder_document (self);
-#line 5847 "ui.c"
+#line 5849 "ui.c"
 }
 
 
 static void _user_interface_reorder_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_reorder_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 5854 "ui.c"
+#line 5856 "ui.c"
 }
 
 
@@ -5920,7 +5922,7 @@ static GtkButton* user_interface_make_reorder_button (UserInterface* self, const
 	_g_object_unref0 (vbox);
 #line 1274 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 5924 "ui.c"
+#line 5926 "ui.c"
 }
 
 
@@ -5938,7 +5940,7 @@ static gchar string_get (const gchar* self, glong index) {
 	result = _tmp1_;
 #line 1087 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
 	return result;
-#line 5942 "ui.c"
+#line 5944 "ui.c"
 }
 
 
@@ -5964,19 +5966,19 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 	gtk_widget_set_visible ((GtkWidget*) _tmp1_, TRUE);
 #line 1282 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	page_box = NULL;
-#line 5968 "ui.c"
+#line 5970 "ui.c"
 	{
 		gint i = 0;
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		i = 0;
-#line 5973 "ui.c"
+#line 5975 "ui.c"
 		{
 			gboolean _tmp2_ = FALSE;
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp2_ = TRUE;
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			while (TRUE) {
-#line 5980 "ui.c"
+#line 5982 "ui.c"
 				const gchar* _tmp4_ = NULL;
 				gint _tmp5_ = 0;
 				gchar _tmp6_ = '\0';
@@ -6018,13 +6020,13 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 				PageIcon* _tmp51_ = NULL;
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (!_tmp2_) {
-#line 6022 "ui.c"
+#line 6024 "ui.c"
 					gint _tmp3_ = 0;
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					_tmp3_ = i;
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					i = _tmp3_ + 1;
-#line 6028 "ui.c"
+#line 6030 "ui.c"
 				}
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp2_ = FALSE;
@@ -6038,7 +6040,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 				if (!(_tmp6_ != '\0')) {
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					break;
-#line 6042 "ui.c"
+#line 6044 "ui.c"
 				}
 #line 1285 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp7_ = items;
@@ -6048,7 +6050,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 				_tmp9_ = string_get (_tmp7_, (glong) _tmp8_);
 #line 1285 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (_tmp9_ == '-') {
-#line 6052 "ui.c"
+#line 6054 "ui.c"
 					GtkArrow* a = NULL;
 					GtkArrow* _tmp10_ = NULL;
 					GtkArrow* _tmp11_ = NULL;
@@ -6078,7 +6080,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 					_g_object_unref0 (a);
 #line 1291 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					continue;
-#line 6082 "ui.c"
+#line 6084 "ui.c"
 				}
 #line 1295 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp14_ = items;
@@ -6102,13 +6104,13 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 				if (_tmp20_ == '\0') {
 #line 1298 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					break;
-#line 6106 "ui.c"
+#line 6108 "ui.c"
 				}
 #line 1300 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp21_ = page_box;
 #line 1300 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (_tmp21_ == NULL) {
-#line 6112 "ui.c"
+#line 6114 "ui.c"
 					GtkBox* _tmp22_ = NULL;
 					GtkBox* _tmp23_ = NULL;
 					GtkBox* _tmp24_ = NULL;
@@ -6131,7 +6133,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 					_tmp25_ = page_box;
 #line 1304 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					gtk_box_pack_start (_tmp24_, (GtkWidget*) _tmp25_, FALSE, FALSE, (guint) 0);
-#line 6135 "ui.c"
+#line 6137 "ui.c"
 				}
 #line 1308 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				r = 1.0;
@@ -6145,7 +6147,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 				switch (_tmp26_) {
 #line 1311 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					case 'F':
-#line 6149 "ui.c"
+#line 6151 "ui.c"
 					{
 #line 1315 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						r = 0x75 / 255.0;
@@ -6155,11 +6157,11 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 						b = 0x7B / 255.0;
 #line 1318 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						break;
-#line 6159 "ui.c"
+#line 6161 "ui.c"
 					}
 #line 1311 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					case 'B':
-#line 6163 "ui.c"
+#line 6165 "ui.c"
 					{
 #line 1321 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						r = 0xF5 / 255.0;
@@ -6169,11 +6171,11 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 						b = 0.0;
 #line 1324 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						break;
-#line 6173 "ui.c"
+#line 6175 "ui.c"
 					}
 #line 1311 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					case 'C':
-#line 6177 "ui.c"
+#line 6179 "ui.c"
 					{
 						gdouble p = 0.0;
 						const gchar* _tmp27_ = NULL;
@@ -6204,12 +6206,12 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 						b = (gdouble) 0;
 #line 1331 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						break;
-#line 6208 "ui.c"
+#line 6210 "ui.c"
 					}
 					default:
 #line 1311 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					break;
-#line 6213 "ui.c"
+#line 6215 "ui.c"
 				}
 #line 1335 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_tmp33_ = r;
@@ -6267,7 +6269,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 				gtk_box_pack_start (_tmp50_, (GtkWidget*) _tmp51_, FALSE, FALSE, (guint) 0);
 #line 1283 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_g_object_unref0 (icon);
-#line 6271 "ui.c"
+#line 6273 "ui.c"
 			}
 		}
 	}
@@ -6277,7 +6279,7 @@ static GtkBox* user_interface_make_reorder_box (UserInterface* self, const gchar
 	_g_object_unref0 (page_box);
 #line 1344 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 6281 "ui.c"
+#line 6283 "ui.c"
 }
 
 
@@ -6288,14 +6290,14 @@ static void user_interface_save_file_button_clicked_cb (UserInterface* self, Gtk
 	g_return_if_fail (widget != NULL);
 #line 1350 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_document (self, FALSE);
-#line 6292 "ui.c"
+#line 6294 "ui.c"
 }
 
 
 static void _user_interface_save_file_button_clicked_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_file_button_clicked_cb ((UserInterface*) self, _sender);
-#line 6299 "ui.c"
+#line 6301 "ui.c"
 }
 
 
@@ -6304,7 +6306,7 @@ void user_interface_save_document_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1355 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_document (self, FALSE);
-#line 6308 "ui.c"
+#line 6310 "ui.c"
 }
 
 
@@ -6333,24 +6335,24 @@ static void user_interface_copy_to_clipboard_button_clicked_cb (UserInterface* s
 	_tmp4_ = page;
 #line 1362 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp4_ != NULL) {
-#line 6337 "ui.c"
+#line 6339 "ui.c"
 		Page* _tmp5_ = NULL;
 #line 1363 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp5_ = page;
 #line 1363 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		page_copy_to_clipboard (_tmp5_, (GtkWindow*) self);
-#line 6343 "ui.c"
+#line 6345 "ui.c"
 	}
 #line 1359 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_page_unref0 (page);
-#line 6347 "ui.c"
+#line 6349 "ui.c"
 }
 
 
 static void _user_interface_copy_to_clipboard_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_copy_to_clipboard_button_clicked_cb ((UserInterface*) self, _sender);
-#line 6354 "ui.c"
+#line 6356 "ui.c"
 }
 
 
@@ -6361,14 +6363,14 @@ static void user_interface_save_as_file_button_clicked_cb (UserInterface* self,
 	g_return_if_fail (widget != NULL);
 #line 1369 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_document (self, TRUE);
-#line 6365 "ui.c"
+#line 6367 "ui.c"
 }
 
 
 static void _user_interface_save_as_file_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_as_file_button_clicked_cb ((UserInterface*) self, _sender);
-#line 6372 "ui.c"
+#line 6374 "ui.c"
 }
 
 
@@ -6377,14 +6379,14 @@ void user_interface_save_as_document_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1374 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_document (self, TRUE);
-#line 6381 "ui.c"
+#line 6383 "ui.c"
 }
 
 
 static gpointer _cairo_reference0 (gpointer self) {
 #line 1381 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return self ? cairo_reference (self) : NULL;
-#line 6388 "ui.c"
+#line 6390 "ui.c"
 }
 
 
@@ -6458,7 +6460,7 @@ static void user_interface_draw_page (UserInterface* self, GtkPrintOperation* op
 	if (_tmp7_ > _tmp9_) {
 #line 1387 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		is_landscape = TRUE;
-#line 6462 "ui.c"
+#line 6464 "ui.c"
 	}
 #line 1388 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp10_ = page;
@@ -6470,7 +6472,7 @@ static void user_interface_draw_page (UserInterface* self, GtkPrintOperation* op
 	_tmp13_ = is_landscape;
 #line 1388 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp12_ != _tmp13_) {
-#line 6474 "ui.c"
+#line 6476 "ui.c"
 		cairo_t* _tmp14_ = NULL;
 		GtkPrintContext* _tmp15_ = NULL;
 		gdouble _tmp16_ = 0.0;
@@ -6487,7 +6489,7 @@ static void user_interface_draw_page (UserInterface* self, GtkPrintOperation* op
 		_tmp17_ = context;
 #line 1391 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		cairo_rotate (_tmp17_, G_PI_2);
-#line 6491 "ui.c"
+#line 6493 "ui.c"
 	}
 #line 1394 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp18_ = context;
@@ -6533,7 +6535,7 @@ static void user_interface_draw_page (UserInterface* self, GtkPrintOperation* op
 	_page_unref0 (page);
 #line 1377 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_cairo_destroy0 (context);
-#line 6537 "ui.c"
+#line 6539 "ui.c"
 }
 
 
@@ -6553,14 +6555,14 @@ static void user_interface_email_button_clicked_cb (UserInterface* self, GtkWidg
 	_tmp2_ = _tmp1_;
 #line 1405 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_signal_emit_by_name (self, "email", _tmp0_, _tmp2_);
-#line 6557 "ui.c"
+#line 6559 "ui.c"
 }
 
 
 static void _user_interface_email_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_email_button_clicked_cb ((UserInterface*) self, _sender);
-#line 6564 "ui.c"
+#line 6566 "ui.c"
 }
 
 
@@ -6578,14 +6580,14 @@ void user_interface_email_document_activate_cb (UserInterface* self) {
 	_tmp2_ = _tmp1_;
 #line 1410 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_signal_emit_by_name (self, "email", _tmp0_, _tmp2_);
-#line 6582 "ui.c"
+#line 6584 "ui.c"
 }
 
 
 static void _user_interface_draw_page_gtk_print_operation_draw_page (GtkPrintOperation* _sender, GtkPrintContext* context, gint page_nr, gpointer self) {
 #line 1417 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_draw_page ((UserInterface*) self, _sender, context, page_nr);
-#line 6589 "ui.c"
+#line 6591 "ui.c"
 }
 
 
@@ -6613,13 +6615,13 @@ static void user_interface_print_document (UserInterface* self) {
 	g_object_set (print, "n-pages", (gint) _tmp3_, NULL);
 #line 1417 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_signal_connect_object (print, "draw-page", (GCallback) _user_interface_draw_page_gtk_print_operation_draw_page, self, 0);
-#line 6617 "ui.c"
+#line 6619 "ui.c"
 	{
 #line 1421 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, (GtkWindow*) self, &_inner_error_);
 #line 1421 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 6623 "ui.c"
+#line 6625 "ui.c"
 			goto __catch20_g_error;
 		}
 	}
@@ -6641,7 +6643,7 @@ static void user_interface_print_document (UserInterface* self) {
 		g_warning ("ui.vala:1425: Error printing: %s", _tmp5_);
 #line 1419 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_error_free0 (e);
-#line 6645 "ui.c"
+#line 6647 "ui.c"
 	}
 	__finally20:
 #line 1419 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -6654,7 +6656,7 @@ static void user_interface_print_document (UserInterface* self) {
 		g_clear_error (&_inner_error_);
 #line 1419 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 6658 "ui.c"
+#line 6660 "ui.c"
 	}
 #line 1428 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_signal_parse_name ("draw-page", gtk_print_operation_get_type (), &_tmp6_, NULL, FALSE);
@@ -6662,7 +6664,7 @@ static void user_interface_print_document (UserInterface* self) {
 	g_signal_handlers_disconnect_matched (print, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _user_interface_draw_page_gtk_print_operation_draw_page, self);
 #line 1413 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_object_unref0 (print);
-#line 6666 "ui.c"
+#line 6668 "ui.c"
 }
 
 
@@ -6673,14 +6675,14 @@ static void user_interface_print_button_clicked_cb (UserInterface* self, GtkWidg
 	g_return_if_fail (widget != NULL);
 #line 1434 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_print_document (self);
-#line 6677 "ui.c"
+#line 6679 "ui.c"
 }
 
 
 static void _user_interface_print_button_clicked_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_print_button_clicked_cb ((UserInterface*) self, _sender);
-#line 6684 "ui.c"
+#line 6686 "ui.c"
 }
 
 
@@ -6689,7 +6691,7 @@ void user_interface_print_document_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1439 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_print_document (self);
-#line 6693 "ui.c"
+#line 6695 "ui.c"
 }
 
 
@@ -6697,7 +6699,7 @@ static void user_interface_launch_help (UserInterface* self) {
 	GError * _inner_error_ = NULL;
 #line 1442 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_if_fail (self != NULL);
-#line 6701 "ui.c"
+#line 6703 "ui.c"
 	{
 		GdkScreen* _tmp0_ = NULL;
 		GdkScreen* _tmp1_ = NULL;
@@ -6712,7 +6714,7 @@ static void user_interface_launch_help (UserInterface* self) {
 		gtk_show_uri (_tmp1_, "help:simple-scan", _tmp2_, &_inner_error_);
 #line 1446 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 6716 "ui.c"
+#line 6718 "ui.c"
 			goto __catch21_g_error;
 		}
 	}
@@ -6737,7 +6739,7 @@ static void user_interface_launch_help (UserInterface* self) {
 		user_interface_show_error_dialog (self, _tmp3_, _tmp5_);
 #line 1444 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_error_free0 (e);
-#line 6741 "ui.c"
+#line 6743 "ui.c"
 	}
 	__finally21:
 #line 1444 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -6748,7 +6750,7 @@ static void user_interface_launch_help (UserInterface* self) {
 		g_clear_error (&_inner_error_);
 #line 1444 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 6752 "ui.c"
+#line 6754 "ui.c"
 	}
 }
 
@@ -6760,14 +6762,14 @@ static void user_interface_help_contents_menuitem_activate_cb (UserInterface* se
 	g_return_if_fail (widget != NULL);
 #line 1459 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_launch_help (self);
-#line 6764 "ui.c"
+#line 6766 "ui.c"
 }
 
 
 static void _user_interface_help_contents_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_help_contents_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 6771 "ui.c"
+#line 6773 "ui.c"
 }
 
 
@@ -6776,7 +6778,7 @@ void user_interface_help_contents_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1464 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_launch_help (self);
-#line 6780 "ui.c"
+#line 6782 "ui.c"
 }
 
 
@@ -6851,7 +6853,7 @@ static void user_interface_show_about (UserInterface* self) {
 	_g_free0 (license);
 #line 1467 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL);
-#line 6844 "ui.c"
+#line 6846 "ui.c"
 }
 
 
@@ -6862,14 +6864,14 @@ static void user_interface_about_menuitem_activate_cb (UserInterface* self, GtkW
 	g_return_if_fail (widget != NULL);
 #line 1498 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_show_about (self);
-#line 6855 "ui.c"
+#line 6857 "ui.c"
 }
 
 
 static void _user_interface_about_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_about_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 6862 "ui.c"
+#line 6864 "ui.c"
 }
 
 
@@ -6878,7 +6880,7 @@ void user_interface_about_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1503 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_show_about (self);
-#line 6871 "ui.c"
+#line 6873 "ui.c"
 }
 
 
@@ -6903,7 +6905,7 @@ static gboolean user_interface_on_quit (UserInterface* self) {
 		result = FALSE;
 #line 1512 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 6896 "ui.c"
+#line 6898 "ui.c"
 	}
 #line 1514 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_destroy ((GtkWidget*) self);
@@ -6913,7 +6915,7 @@ static gboolean user_interface_on_quit (UserInterface* self) {
 	if (_tmp3_ != ((guint) 0)) {
 #line 1517 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_save_state (self, TRUE);
-#line 6906 "ui.c"
+#line 6908 "ui.c"
 	}
 #line 1519 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp4_ = self->priv->autosave_manager;
@@ -6923,7 +6925,7 @@ static gboolean user_interface_on_quit (UserInterface* self) {
 	result = TRUE;
 #line 1521 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 6916 "ui.c"
+#line 6918 "ui.c"
 }
 
 
@@ -6934,14 +6936,14 @@ static void user_interface_quit_menuitem_activate_cb (UserInterface* self, GtkWi
 	g_return_if_fail (widget != NULL);
 #line 1527 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_on_quit (self);
-#line 6927 "ui.c"
+#line 6929 "ui.c"
 }
 
 
 static void _user_interface_quit_menuitem_activate_cb_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_quit_menuitem_activate_cb ((UserInterface*) self, _sender);
-#line 6934 "ui.c"
+#line 6936 "ui.c"
 }
 
 
@@ -6950,7 +6952,7 @@ void user_interface_quit_activate_cb (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 1532 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_on_quit (self);
-#line 6943 "ui.c"
+#line 6945 "ui.c"
 }
 
 
@@ -6971,21 +6973,21 @@ static void user_interface_real_size_allocate (GtkWidget* base, GtkAllocation* a
 	_tmp2_ = self->priv->window_is_maximized;
 #line 1539 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (!_tmp2_) {
-#line 6964 "ui.c"
+#line 6966 "ui.c"
 		gboolean _tmp3_ = FALSE;
 #line 1539 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp3_ = self->priv->window_is_fullscreen;
 #line 1539 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp1_ = !_tmp3_;
-#line 6970 "ui.c"
+#line 6972 "ui.c"
 	} else {
 #line 1539 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp1_ = FALSE;
-#line 6974 "ui.c"
+#line 6976 "ui.c"
 	}
 #line 1539 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp1_) {
-#line 6978 "ui.c"
+#line 6980 "ui.c"
 		gint _tmp4_ = 0;
 		gint _tmp5_ = 0;
 #line 1541 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -6996,7 +6998,7 @@ static void user_interface_real_size_allocate (GtkWidget* base, GtkAllocation* a
 		self->priv->window_height = _tmp5_;
 #line 1542 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_save_state (self, FALSE);
-#line 6989 "ui.c"
+#line 6991 "ui.c"
 	}
 }
 
@@ -7013,7 +7015,7 @@ static void user_interface_info_bar_response_cb (UserInterface* self, GtkInfoBar
 	switch (_tmp0_) {
 #line 1548 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case 1:
-#line 7006 "ui.c"
+#line 7008 "ui.c"
 		{
 			GtkComboBox* _tmp1_ = NULL;
 			GtkDialog* _tmp2_ = NULL;
@@ -7027,17 +7029,17 @@ static void user_interface_info_bar_response_cb (UserInterface* self, GtkInfoBar
 			gtk_window_present ((GtkWindow*) _tmp2_);
 #line 1554 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 7020 "ui.c"
+#line 7022 "ui.c"
 		}
 #line 1548 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case 2:
-#line 7024 "ui.c"
+#line 7026 "ui.c"
 		{
 #line 1557 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			user_interface_install_drivers (self);
 #line 1558 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 7030 "ui.c"
+#line 7032 "ui.c"
 		}
 		default:
 		{
@@ -7055,7 +7057,7 @@ static void user_interface_info_bar_response_cb (UserInterface* self, GtkInfoBar
 			user_interface_update_info_bar (self);
 #line 1564 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 7048 "ui.c"
+#line 7050 "ui.c"
 		}
 	}
 }
@@ -7066,7 +7068,7 @@ static Block3Data* block3_data_ref (Block3Data* _data3_) {
 	g_atomic_int_inc (&_data3_->_ref_count_);
 #line 1568 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return _data3_;
-#line 7059 "ui.c"
+#line 7061 "ui.c"
 }
 
 
@@ -7075,7 +7077,7 @@ static void block3_data_unref (void * _userdata_) {
 	_data3_ = (Block3Data*) _userdata_;
 #line 1568 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
-#line 7068 "ui.c"
+#line 7070 "ui.c"
 		UserInterface* self;
 #line 1568 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		self = _data3_->self;
@@ -7091,7 +7093,7 @@ static void block3_data_unref (void * _userdata_) {
 		_g_object_unref0 (self);
 #line 1568 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_slice_free (Block3Data, _data3_);
-#line 7084 "ui.c"
+#line 7086 "ui.c"
 	}
 }
 
@@ -7103,7 +7105,7 @@ static void ___lambda12_ (UserInterface* self) {
 static void ____lambda12__pk_progress_callback (PkProgress* progress, PkProgressType type, gpointer self) {
 #line 1646 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	___lambda12_ ((UserInterface*) self);
-#line 7096 "ui.c"
+#line 7098 "ui.c"
 }
 
 
@@ -7148,7 +7150,7 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 	_tmp6_ = g_strdup (_tmp5_);
 #line 1653 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result_text = _tmp6_;
-#line 7141 "ui.c"
+#line 7143 "ui.c"
 	{
 		PkResults* results = NULL;
 		GAsyncResult* _tmp7_ = NULL;
@@ -7164,7 +7166,7 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 		results = _tmp8_;
 #line 1656 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 7157 "ui.c"
+#line 7159 "ui.c"
 			goto __catch22_g_error;
 		}
 #line 1657 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -7177,13 +7179,13 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 		_g_object_unref0 (_tmp10_);
 #line 1657 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (_tmp11_) {
-#line 7170 "ui.c"
+#line 7172 "ui.c"
 			GtkLabel* _tmp12_ = NULL;
 #line 1658 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp12_ = _data3_->status_label;
 #line 1658 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			gtk_label_set_text (_tmp12_, "☑");
-#line 7176 "ui.c"
+#line 7178 "ui.c"
 		} else {
 			PkError* e = NULL;
 			PkError* _tmp13_ = NULL;
@@ -7212,11 +7214,11 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 			result_text = _tmp18_;
 #line 1657 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_g_object_unref0 (e);
-#line 7205 "ui.c"
+#line 7207 "ui.c"
 		}
 #line 1654 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_object_unref0 (results);
-#line 7209 "ui.c"
+#line 7211 "ui.c"
 	}
 	goto __finally22;
 	__catch22_g_error:
@@ -7246,7 +7248,7 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 		g_warning ("ui.vala:1670: Failed to install drivers: %s", _tmp22_);
 #line 1654 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_error_free0 (e);
-#line 7239 "ui.c"
+#line 7241 "ui.c"
 	}
 	__finally22:
 #line 1654 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -7259,7 +7261,7 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 		g_clear_error (&_inner_error_);
 #line 1654 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 7252 "ui.c"
+#line 7254 "ui.c"
 	}
 #line 1672 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp23_ = _data3_->instructions_label;
@@ -7269,7 +7271,7 @@ static void ___lambda13_ (Block3Data* _data3_, GObject* object, GAsyncResult* _r
 	gtk_label_set_text (_tmp23_, _tmp24_);
 #line 1646 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_free0 (result_text);
-#line 7262 "ui.c"
+#line 7264 "ui.c"
 }
 
 
@@ -7278,7 +7280,7 @@ static void ____lambda13__gasync_ready_callback (GObject* source_object, GAsyncR
 	___lambda13_ (self, source_object, res);
 #line 1646 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	block3_data_unref (self);
-#line 7271 "ui.c"
+#line 7273 "ui.c"
 }
 
 
@@ -7309,7 +7311,7 @@ static void user_interface_install_drivers (UserInterface* self) {
 	static GQuark _tmp5_label5 = 0;
 #line 1572 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	static GQuark _tmp5_label6 = 0;
-#line 7302 "ui.c"
+#line 7304 "ui.c"
 	GtkDialog* dialog = NULL;
 	const gchar* _tmp23_ = NULL;
 	const gchar* _tmp24_ = NULL;
@@ -7397,7 +7399,7 @@ static void user_interface_install_drivers (UserInterface* self) {
 	if ((((_tmp6_ == ((0 != _tmp5_label0) ? _tmp5_label0 : (_tmp5_label0 = g_quark_from_static_string ("brscan")))) || (_tmp6_ == ((0 != _tmp5_label1) ? _tmp5_label1 : (_tmp5_label1 = g_quark_from_static_string ("brscan2"))))) || (_tmp6_ == ((0 != _tmp5_label2) ? _tmp5_label2 : (_tmp5_label2 = g_quark_from_static_string ("brscan3"))))) || (_tmp6_ == ((0 != _tmp5_label3) ? _tmp5_label3 : (_tmp5_label3 = g_quark_from_static_string ("brscan4"))))) {
 #line 1572 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 7390 "ui.c"
+#line 7392 "ui.c"
 			default:
 			{
 				const gchar* _tmp7_ = NULL;
@@ -7423,13 +7425,13 @@ static void user_interface_install_drivers (UserInterface* self) {
 				instructions = _tmp10_;
 #line 1582 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 7415 "ui.c"
+#line 7417 "ui.c"
 			}
 		}
 	} else if (_tmp6_ == ((0 != _tmp5_label4) ? _tmp5_label4 : (_tmp5_label4 = g_quark_from_static_string ("samsung")))) {
 #line 1572 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 7421 "ui.c"
+#line 7423 "ui.c"
 			default:
 			{
 				const gchar* _tmp11_ = NULL;
@@ -7455,13 +7457,13 @@ static void user_interface_install_drivers (UserInterface* self) {
 				instructions = _tmp14_;
 #line 1588 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 7446 "ui.c"
+#line 7448 "ui.c"
 			}
 		}
 	} else if (_tmp6_ == ((0 != _tmp5_label5) ? _tmp5_label5 : (_tmp5_label5 = g_quark_from_static_string ("hpaio")))) {
 #line 1572 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 7452 "ui.c"
+#line 7454 "ui.c"
 			default:
 			{
 				const gchar* _tmp15_ = NULL;
@@ -7492,13 +7494,13 @@ static void user_interface_install_drivers (UserInterface* self) {
 				_packages_to_install_size_ = packages_to_install_length1;
 #line 1593 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 7483 "ui.c"
+#line 7485 "ui.c"
 			}
 		}
 	} else if (_tmp6_ == ((0 != _tmp5_label6) ? _tmp5_label6 : (_tmp5_label6 = g_quark_from_static_string ("epkowa")))) {
 #line 1572 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 7489 "ui.c"
+#line 7491 "ui.c"
 			default:
 			{
 				const gchar* _tmp19_ = NULL;
@@ -7524,7 +7526,7 @@ static void user_interface_install_drivers (UserInterface* self) {
 				instructions = _tmp22_;
 #line 1599 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 7514 "ui.c"
+#line 7516 "ui.c"
 			}
 		}
 	}
@@ -7700,7 +7702,7 @@ static void user_interface_install_drivers (UserInterface* self) {
 	_tmp69__length1 = packages_to_install_length1;
 #line 1639 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp69__length1 > 0) {
-#line 7690 "ui.c"
+#line 7692 "ui.c"
 		GtkStack* _tmp70_ = NULL;
 		GtkSpinner* _tmp71_ = NULL;
 		GtkLabel* _tmp72_ = NULL;
@@ -7727,7 +7729,7 @@ static void user_interface_install_drivers (UserInterface* self) {
 		_tmp74__length1 = packages_to_install_length1;
 #line 1646 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_install_packages (self, _tmp74_, _tmp74__length1, ____lambda12__pk_progress_callback, self, ____lambda13__gasync_ready_callback, block3_data_ref (_data3_));
-#line 7717 "ui.c"
+#line 7719 "ui.c"
 	}
 #line 1680 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp75_ = dialog;
@@ -7753,7 +7755,7 @@ static void user_interface_install_drivers (UserInterface* self) {
 	block3_data_unref (_data3_);
 #line 1568 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data3_ = NULL;
-#line 7743 "ui.c"
+#line 7745 "ui.c"
 }
 
 
@@ -7766,7 +7768,7 @@ static void user_interface_install_packages_data_free (gpointer _data) {
 	_g_object_unref0 (_data_->self);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_slice_free (UserInterfaceInstallPackagesData, _data_);
-#line 7756 "ui.c"
+#line 7758 "ui.c"
 }
 
 
@@ -7805,7 +7807,7 @@ static void user_interface_install_packages (UserInterface* self, gchar** packag
 	_data_->progress_callback_target = _tmp2__target;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_install_packages_co (_data_);
-#line 7795 "ui.c"
+#line 7797 "ui.c"
 }
 
 
@@ -7816,7 +7818,7 @@ static PkResults* user_interface_install_packages_finish (UserInterface* self, G
 	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return NULL;
-#line 7806 "ui.c"
+#line 7808 "ui.c"
 	}
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
@@ -7826,7 +7828,7 @@ static PkResults* user_interface_install_packages_finish (UserInterface* self, G
 	_data_->result = NULL;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 7816 "ui.c"
+#line 7818 "ui.c"
 }
 
 
@@ -7840,7 +7842,7 @@ static void user_interface_install_packages_ready (GObject* source_object, GAsyn
 	_data_->_res_ = _res_;
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_install_packages_co (_data_);
-#line 7830 "ui.c"
+#line 7832 "ui.c"
 }
 
 
@@ -7855,7 +7857,7 @@ static gint g_ptr_array_get_length (GPtrArray* self) {
 	result = (gint) _tmp0_;
 #line 4858 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
 	return result;
-#line 7845 "ui.c"
+#line 7847 "ui.c"
 }
 
 
@@ -7867,7 +7869,7 @@ static void g_ptr_array_set_length (GPtrArray* self, gint value) {
 	_tmp0_ = value;
 #line 4859 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
 	g_ptr_array_set_size (self, _tmp0_);
-#line 7857 "ui.c"
+#line 7859 "ui.c"
 }
 
 
@@ -7876,20 +7878,20 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	switch (_data_->_state_) {
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case 0:
-#line 7866 "ui.c"
+#line 7868 "ui.c"
 		goto _state_0;
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case 1:
-#line 7870 "ui.c"
+#line 7872 "ui.c"
 		goto _state_1;
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case 2:
-#line 7874 "ui.c"
+#line 7876 "ui.c"
 		goto _state_2;
 		default:
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_assert_not_reached ();
-#line 7879 "ui.c"
+#line 7881 "ui.c"
 	}
 	_state_0:
 #line 1687 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -7924,7 +7926,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	pk_task_resolve_async (_data_->_tmp2_, (PkBitfield) PK_FILTER_ENUM_NOT_INSTALLED, _data_->_tmp3_, NULL, _data_->_tmp4_, _data_->_tmp4__target, user_interface_install_packages_ready, _data_);
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return FALSE;
-#line 7914 "ui.c"
+#line 7916 "ui.c"
 	_state_1:
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_->_tmp5_ = NULL;
@@ -7946,17 +7948,17 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 		if (_data_->_state_ == 0) {
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_simple_async_result_complete_in_idle (_data_->_async_result);
-#line 7936 "ui.c"
+#line 7938 "ui.c"
 		} else {
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_simple_async_result_complete (_data_->_async_result);
-#line 7940 "ui.c"
+#line 7942 "ui.c"
 		}
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_object_unref (_data_->_async_result);
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return FALSE;
-#line 7946 "ui.c"
+#line 7948 "ui.c"
 	}
 #line 1689 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_->_tmp6_ = NULL;
@@ -7976,7 +7978,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	if (_data_->_tmp8_ == NULL) {
 #line 1690 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_data_->_tmp7_ = TRUE;
-#line 7966 "ui.c"
+#line 7968 "ui.c"
 	} else {
 #line 1690 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_data_->_tmp9_ = NULL;
@@ -7994,7 +7996,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 		_data_->_tmp7_ = _data_->_tmp11_ != NULL;
 #line 1690 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_object_unref0 (_data_->_tmp11_);
-#line 7984 "ui.c"
+#line 7986 "ui.c"
 	}
 #line 1690 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_data_->_tmp7_) {
@@ -8008,17 +8010,17 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 		if (_data_->_state_ == 0) {
 #line 1691 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_simple_async_result_complete_in_idle (_data_->_async_result);
-#line 7998 "ui.c"
+#line 8000 "ui.c"
 		} else {
 #line 1691 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_simple_async_result_complete (_data_->_async_result);
-#line 8002 "ui.c"
+#line 8004 "ui.c"
 		}
 #line 1691 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_object_unref (_data_->_async_result);
 #line 1691 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return FALSE;
-#line 8008 "ui.c"
+#line 8010 "ui.c"
 	}
 #line 1693 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_->_tmp12_ = NULL;
@@ -8084,11 +8086,11 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	_data_->_tmp22_ = NULL;
 #line 1695 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_->_tmp22_ = _data_->_tmp18_[_data_->_tmp21_];
-#line 8074 "ui.c"
+#line 8076 "ui.c"
 	{
 #line 1696 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_data_->i = 0;
-#line 8078 "ui.c"
+#line 8080 "ui.c"
 		{
 #line 1696 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_data_->_tmp23_ = TRUE;
@@ -8102,7 +8104,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 					_data_->_tmp24_ = _data_->i;
 #line 1696 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					_data_->i = _data_->_tmp24_ + 1;
-#line 8092 "ui.c"
+#line 8094 "ui.c"
 				}
 #line 1696 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_data_->_tmp23_ = FALSE;
@@ -8126,7 +8128,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 				if (!(_data_->_tmp25_ < _data_->_tmp28_)) {
 #line 1696 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					break;
-#line 8116 "ui.c"
+#line 8118 "ui.c"
 				}
 #line 1697 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_data_->_tmp29_ = NULL;
@@ -8176,7 +8178,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 				_data_->_tmp37_ = NULL;
 #line 1697 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_data_->_tmp37_ = _data_->_tmp29_[_data_->_tmp30_];
-#line 8166 "ui.c"
+#line 8168 "ui.c"
 			}
 		}
 	}
@@ -8206,7 +8208,7 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	pk_task_install_packages_async (_data_->_tmp39_, _data_->_tmp40_, NULL, _data_->_tmp41_, _data_->_tmp41__target, user_interface_install_packages_ready, _data_);
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return FALSE;
-#line 8196 "ui.c"
+#line 8198 "ui.c"
 	_state_2:
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_->_tmp42_ = NULL;
@@ -8234,17 +8236,17 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 		if (_data_->_state_ == 0) {
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_simple_async_result_complete_in_idle (_data_->_async_result);
-#line 8224 "ui.c"
+#line 8226 "ui.c"
 		} else {
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_simple_async_result_complete (_data_->_async_result);
-#line 8228 "ui.c"
+#line 8230 "ui.c"
 		}
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_object_unref (_data_->_async_result);
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return FALSE;
-#line 8234 "ui.c"
+#line 8236 "ui.c"
 	}
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_data_->_tmp43_ = NULL;
@@ -8270,11 +8272,11 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	if (_data_->_state_ == 0) {
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_simple_async_result_complete_in_idle (_data_->_async_result);
-#line 8260 "ui.c"
+#line 8262 "ui.c"
 	} else {
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_simple_async_result_complete (_data_->_async_result);
-#line 8264 "ui.c"
+#line 8266 "ui.c"
 	}
 #line 1699 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_unref (_data_->_async_result);
@@ -8296,17 +8298,17 @@ static gboolean user_interface_install_packages_co (UserInterfaceInstallPackages
 	if (_data_->_state_ == 0) {
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_simple_async_result_complete_in_idle (_data_->_async_result);
-#line 8286 "ui.c"
+#line 8288 "ui.c"
 	} else {
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_simple_async_result_complete (_data_->_async_result);
-#line 8290 "ui.c"
+#line 8292 "ui.c"
 	}
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_unref (_data_->_async_result);
 #line 1685 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return FALSE;
-#line 8296 "ui.c"
+#line 8298 "ui.c"
 }
 
 
@@ -8326,7 +8328,7 @@ static gboolean user_interface_real_window_state_event (GtkWidget* base, GdkEven
 	_result_ = GDK_EVENT_PROPAGATE;
 #line 1707 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (GTK_WIDGET_CLASS (user_interface_parent_class)->window_state_event != NULL) {
-#line 8316 "ui.c"
+#line 8318 "ui.c"
 		GdkEventWindowState* _tmp0_ = NULL;
 		gboolean _tmp1_ = FALSE;
 #line 1708 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -8335,7 +8337,7 @@ static gboolean user_interface_real_window_state_event (GtkWidget* base, GdkEven
 		_tmp1_ = GTK_WIDGET_CLASS (user_interface_parent_class)->window_state_event ((GtkWidget*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_window_get_type (), GtkApplicationWindow), _tmp0_);
 #line 1708 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_result_ = _tmp1_;
-#line 8325 "ui.c"
+#line 8327 "ui.c"
 	}
 #line 1710 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp2_ = event;
@@ -8343,7 +8345,7 @@ static gboolean user_interface_real_window_state_event (GtkWidget* base, GdkEven
 	_tmp3_ = _tmp2_->changed_mask;
 #line 1710 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if ((_tmp3_ & GDK_WINDOW_STATE_MAXIMIZED) != 0) {
-#line 8333 "ui.c"
+#line 8335 "ui.c"
 		GdkEventWindowState* _tmp4_ = NULL;
 		GdkWindowState _tmp5_ = 0;
 #line 1712 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -8354,7 +8356,7 @@ static gboolean user_interface_real_window_state_event (GtkWidget* base, GdkEven
 		self->priv->window_is_maximized = (_tmp5_ & GDK_WINDOW_STATE_MAXIMIZED) != 0;
 #line 1713 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_save_state (self, FALSE);
-#line 8344 "ui.c"
+#line 8346 "ui.c"
 	}
 #line 1715 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp6_ = event;
@@ -8362,7 +8364,7 @@ static gboolean user_interface_real_window_state_event (GtkWidget* base, GdkEven
 	_tmp7_ = _tmp6_->changed_mask;
 #line 1715 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if ((_tmp7_ & GDK_WINDOW_STATE_FULLSCREEN) != 0) {
-#line 8352 "ui.c"
+#line 8354 "ui.c"
 		GdkEventWindowState* _tmp8_ = NULL;
 		GdkWindowState _tmp9_ = 0;
 #line 1717 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -8373,13 +8375,13 @@ static gboolean user_interface_real_window_state_event (GtkWidget* base, GdkEven
 		self->priv->window_is_fullscreen = (_tmp9_ & GDK_WINDOW_STATE_FULLSCREEN) != 0;
 #line 1718 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_save_state (self, FALSE);
-#line 8363 "ui.c"
+#line 8365 "ui.c"
 	}
 #line 1721 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = _result_;
 #line 1721 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 8369 "ui.c"
+#line 8371 "ui.c"
 }
 
 
@@ -8398,7 +8400,7 @@ static gboolean user_interface_window_delete_event_cb (UserInterface* self, GtkW
 	result = !_tmp0_;
 #line 1727 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 8388 "ui.c"
+#line 8390 "ui.c"
 }
 
 
@@ -8407,7 +8409,7 @@ static gboolean _user_interface_window_delete_event_cb_gtk_widget_delete_event (
 	result = user_interface_window_delete_event_cb ((UserInterface*) self, _sender, event);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 8397 "ui.c"
+#line 8399 "ui.c"
 }
 
 
@@ -8451,7 +8453,7 @@ static void user_interface_page_size_changed_cb (UserInterface* self, Page* page
 	self->priv->default_page_dpi = _tmp8_;
 #line 1735 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_state (self, FALSE);
-#line 8441 "ui.c"
+#line 8443 "ui.c"
 }
 
 
@@ -8473,21 +8475,21 @@ static void user_interface_page_scan_direction_changed_cb (UserInterface* self,
 	self->priv->default_page_scan_direction = _tmp2_;
 #line 1741 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_save_state (self, FALSE);
-#line 8463 "ui.c"
+#line 8465 "ui.c"
 }
 
 
 static void _user_interface_page_size_changed_cb_page_size_changed (Page* _sender, gpointer self) {
 #line 1748 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_page_size_changed_cb ((UserInterface*) self, _sender);
-#line 8470 "ui.c"
+#line 8472 "ui.c"
 }
 
 
 static void _user_interface_page_scan_direction_changed_cb_page_scan_direction_changed (Page* _sender, gpointer self) {
 #line 1749 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_page_scan_direction_changed_cb ((UserInterface*) self, _sender);
-#line 8477 "ui.c"
+#line 8479 "ui.c"
 }
 
 
@@ -8526,7 +8528,7 @@ static void user_interface_page_added_cb (UserInterface* self, Book* book, Page*
 	g_signal_connect_object (_tmp5_, "scan-direction-changed", (GCallback) _user_interface_page_scan_direction_changed_cb_page_scan_direction_changed, self, 0);
 #line 1751 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_update_page_menu (self);
-#line 8516 "ui.c"
+#line 8518 "ui.c"
 }
 
 
@@ -8537,7 +8539,7 @@ static void user_interface_reordered_cb (UserInterface* self, Book* book) {
 	g_return_if_fail (book != NULL);
 #line 1756 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_update_page_menu (self);
-#line 8527 "ui.c"
+#line 8529 "ui.c"
 }
 
 
@@ -8577,11 +8579,11 @@ static void user_interface_page_removed_cb (UserInterface* self, Book* book, Pag
 	if (_tmp6_ == ((guint) 0)) {
 #line 1766 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_add_default_page (self);
-#line 8567 "ui.c"
+#line 8569 "ui.c"
 	}
 #line 1768 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_update_page_menu (self);
-#line 8571 "ui.c"
+#line 8573 "ui.c"
 }
 
 
@@ -8659,7 +8661,7 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 	_tmp10_ = scan_resolutions;
 #line 1779 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp10__length1 = scan_resolutions_length1;
-#line 8649 "ui.c"
+#line 8651 "ui.c"
 	{
 		gint* dpi_collection = NULL;
 		gint dpi_collection_length1 = 0;
@@ -8671,11 +8673,11 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 		dpi_collection_length1 = _tmp10__length1;
 #line 1779 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		for (dpi_it = 0; dpi_it < _tmp10__length1; dpi_it = dpi_it + 1) {
-#line 8661 "ui.c"
+#line 8663 "ui.c"
 			gint dpi = 0;
 #line 1779 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			dpi = dpi_collection[dpi_it];
-#line 8665 "ui.c"
+#line 8667 "ui.c"
 			{
 				gchar* label = NULL;
 				gint _tmp11_ = 0;
@@ -8695,7 +8697,7 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 				_tmp12_ = default_dpi;
 #line 1782 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (_tmp11_ == _tmp12_) {
-#line 8685 "ui.c"
+#line 8687 "ui.c"
 					const gchar* _tmp13_ = NULL;
 					gint _tmp14_ = 0;
 					gchar* _tmp15_ = NULL;
@@ -8709,14 +8711,14 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 					_g_free0 (label);
 #line 1784 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					label = _tmp15_;
-#line 8699 "ui.c"
+#line 8701 "ui.c"
 				} else {
 					gint _tmp16_ = 0;
 #line 1785 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					_tmp16_ = dpi;
 #line 1785 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					if (_tmp16_ == 75) {
-#line 8706 "ui.c"
+#line 8708 "ui.c"
 						const gchar* _tmp17_ = NULL;
 						gint _tmp18_ = 0;
 						gchar* _tmp19_ = NULL;
@@ -8730,14 +8732,14 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 						_g_free0 (label);
 #line 1787 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						label = _tmp19_;
-#line 8720 "ui.c"
+#line 8722 "ui.c"
 					} else {
 						gint _tmp20_ = 0;
 #line 1788 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						_tmp20_ = dpi;
 #line 1788 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 						if (_tmp20_ == 1200) {
-#line 8727 "ui.c"
+#line 8729 "ui.c"
 							const gchar* _tmp21_ = NULL;
 							gint _tmp22_ = 0;
 							gchar* _tmp23_ = NULL;
@@ -8751,7 +8753,7 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 							_g_free0 (label);
 #line 1790 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 							label = _tmp23_;
-#line 8741 "ui.c"
+#line 8743 "ui.c"
 						} else {
 							const gchar* _tmp24_ = NULL;
 							gint _tmp25_ = 0;
@@ -8766,7 +8768,7 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 							_g_free0 (label);
 #line 1793 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 							label = _tmp26_;
-#line 8756 "ui.c"
+#line 8758 "ui.c"
 						}
 					}
 				}
@@ -8792,7 +8794,7 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 				_tmp34_ = current_dpi;
 #line 1799 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				if (_tmp33_ == _tmp34_) {
-#line 8782 "ui.c"
+#line 8784 "ui.c"
 					GtkComboBox* _tmp35_ = NULL;
 					GtkTreeIter _tmp36_ = {0};
 #line 1800 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -8801,11 +8803,11 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 					_tmp36_ = iter;
 #line 1800 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					gtk_combo_box_set_active_iter (_tmp35_, &_tmp36_);
-#line 8791 "ui.c"
+#line 8793 "ui.c"
 				}
 #line 1779 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_g_free0 (label);
-#line 8795 "ui.c"
+#line 8797 "ui.c"
 			}
 		}
 	}
@@ -8815,7 +8817,7 @@ static void user_interface_set_dpi_combo (UserInterface* self, GtkComboBox* comb
 	_g_object_unref0 (model);
 #line 1771 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_object_unref0 (renderer);
-#line 8805 "ui.c"
+#line 8807 "ui.c"
 }
 
 
@@ -8878,26 +8880,26 @@ static void user_interface_needs_saving_cb (UserInterface* self, Book* book) {
 	_tmp14_ = _tmp13_;
 #line 1809 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp14_) {
-#line 8868 "ui.c"
+#line 8870 "ui.c"
 		GtkMenuItem* _tmp15_ = NULL;
 #line 1810 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp15_ = self->priv->save_as_menuitem;
 #line 1810 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_widget_set_sensitive ((GtkWidget*) _tmp15_, TRUE);
-#line 8874 "ui.c"
+#line 8876 "ui.c"
 	}
 #line 1811 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp16_ = self->priv->copy_to_clipboard_menuitem;
 #line 1811 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_set_sensitive ((GtkWidget*) _tmp16_, TRUE);
-#line 8880 "ui.c"
+#line 8882 "ui.c"
 }
 
 
 static void _user_interface_info_bar_response_cb_gtk_info_bar_response (GtkInfoBar* _sender, gint response_id, gpointer self) {
 #line 1871 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_info_bar_response_cb ((UserInterface*) self, _sender, response_id);
-#line 8887 "ui.c"
+#line 8889 "ui.c"
 }
 
 
@@ -8910,14 +8912,14 @@ static void __lambda14_ (UserInterface* self) {
 	_tmp1_ = user_interface_get_text_dpi (self);
 #line 1915 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_int (_tmp0_, "text-dpi", _tmp1_);
-#line 8900 "ui.c"
+#line 8902 "ui.c"
 }
 
 
 static void ___lambda14__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
 #line 1915 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda14_ ((UserInterface*) self);
-#line 8907 "ui.c"
+#line 8909 "ui.c"
 }
 
 
@@ -8930,14 +8932,14 @@ static void __lambda15_ (UserInterface* self) {
 	_tmp1_ = user_interface_get_photo_dpi (self);
 #line 1920 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_int (_tmp0_, "photo-dpi", _tmp1_);
-#line 8920 "ui.c"
+#line 8922 "ui.c"
 }
 
 
 static void ___lambda15__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
 #line 1920 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda15_ ((UserInterface*) self);
-#line 8927 "ui.c"
+#line 8929 "ui.c"
 }
 
 
@@ -8950,14 +8952,14 @@ static void __lambda16_ (UserInterface* self) {
 	_tmp1_ = user_interface_get_page_side (self);
 #line 1930 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_enum (_tmp0_, "page-side", (gint) _tmp1_);
-#line 8940 "ui.c"
+#line 8942 "ui.c"
 }
 
 
 static void ___lambda16__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
 #line 1930 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda16_ ((UserInterface*) self);
-#line 8947 "ui.c"
+#line 8949 "ui.c"
 }
 
 
@@ -8982,14 +8984,14 @@ static void __lambda17_ (UserInterface* self) {
 	_tmp3_ = self->priv->settings;
 #line 1943 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_int (_tmp3_, "paper-height", h);
-#line 8972 "ui.c"
+#line 8974 "ui.c"
 }
 
 
 static void ___lambda17__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
 #line 1938 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda17_ ((UserInterface*) self);
-#line 8979 "ui.c"
+#line 8981 "ui.c"
 }
 
 
@@ -9005,14 +9007,14 @@ static void __lambda18_ (UserInterface* self) {
 	_tmp2_ = _tmp1_;
 #line 1954 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_int (_tmp0_, "brightness", _tmp2_);
-#line 8995 "ui.c"
+#line 8997 "ui.c"
 }
 
 
 static void ___lambda18__gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self) {
 #line 1954 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda18_ ((UserInterface*) self);
-#line 9002 "ui.c"
+#line 9004 "ui.c"
 }
 
 
@@ -9028,14 +9030,14 @@ static void __lambda19_ (UserInterface* self) {
 	_tmp2_ = _tmp1_;
 #line 1964 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_int (_tmp0_, "contrast", _tmp2_);
-#line 9018 "ui.c"
+#line 9020 "ui.c"
 }
 
 
 static void ___lambda19__gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self) {
 #line 1964 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda19_ ((UserInterface*) self);
-#line 9025 "ui.c"
+#line 9027 "ui.c"
 }
 
 
@@ -9051,42 +9053,42 @@ static void __lambda20_ (UserInterface* self) {
 	_tmp2_ = _tmp1_;
 #line 1974 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_settings_set_int (_tmp0_, "jpeg-quality", _tmp2_);
-#line 9041 "ui.c"
+#line 9043 "ui.c"
 }
 
 
 static void ___lambda20__gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self) {
 #line 1974 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	__lambda20_ ((UserInterface*) self);
-#line 9048 "ui.c"
+#line 9050 "ui.c"
 }
 
 
 static void _user_interface_page_selected_cb_book_view_page_selected (BookView* _sender, Page* page, gpointer self) {
 #line 1983 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_page_selected_cb ((UserInterface*) self, _sender, page);
-#line 9055 "ui.c"
+#line 9057 "ui.c"
 }
 
 
 static void _user_interface_show_page_cb_book_view_show_page (BookView* _sender, Page* page, gpointer self) {
 #line 1984 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_show_page_cb ((UserInterface*) self, _sender, page);
-#line 9062 "ui.c"
+#line 9064 "ui.c"
 }
 
 
 static void _user_interface_show_page_menu_cb_book_view_show_menu (BookView* _sender, gpointer self) {
 #line 1985 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_show_page_menu_cb ((UserInterface*) self, _sender);
-#line 9069 "ui.c"
+#line 9071 "ui.c"
 }
 
 
 static void _user_interface_book_saving_cb_book_saving (Book* _sender, gint i, gpointer self) {
 #line 2009 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_book_saving_cb ((UserInterface*) self, i);
-#line 9076 "ui.c"
+#line 9078 "ui.c"
 }
 
 
@@ -9312,7 +9314,7 @@ static void user_interface_load (UserInterface* self) {
 	_tmp3_ = user_interface_is_traditional_desktop (self);
 #line 1822 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp3_) {
-#line 9302 "ui.c"
+#line 9304 "ui.c"
 		GtkMenuBar* _tmp4_ = NULL;
 		GtkToolbar* _tmp5_ = NULL;
 #line 1824 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -9325,7 +9327,7 @@ static void user_interface_load (UserInterface* self) {
 		_tmp5_ = self->priv->toolbar;
 #line 1826 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_widget_set_visible ((GtkWidget*) _tmp5_, TRUE);
-#line 9315 "ui.c"
+#line 9317 "ui.c"
 	} else {
 		GtkApplication* _tmp6_ = NULL;
 		GMenu* appmenu = NULL;
@@ -9543,7 +9545,7 @@ static void user_interface_load (UserInterface* self) {
 		_g_object_unref0 (section);
 #line 1822 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_object_unref0 (appmenu);
-#line 9533 "ui.c"
+#line 9535 "ui.c"
 	}
 #line 1867 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp53_ = app;
@@ -9765,7 +9767,7 @@ static void user_interface_load (UserInterface* self) {
 	if (_tmp117_ <= 0) {
 #line 1913 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		dpi = USER_INTERFACE_DEFAULT_TEXT_DPI;
-#line 9755 "ui.c"
+#line 9757 "ui.c"
 	}
 #line 1914 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp118_ = self->priv->text_dpi_combo;
@@ -9789,7 +9791,7 @@ static void user_interface_load (UserInterface* self) {
 	if (_tmp123_ <= 0) {
 #line 1918 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		dpi = USER_INTERFACE_DEFAULT_PHOTO_DPI;
-#line 9779 "ui.c"
+#line 9781 "ui.c"
 	}
 #line 1919 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp124_ = self->priv->photo_dpi_combo;
@@ -10075,13 +10077,13 @@ static void user_interface_load (UserInterface* self) {
 	_tmp214_ = document_type;
 #line 1977 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp214_ != NULL) {
-#line 10065 "ui.c"
+#line 10067 "ui.c"
 		const gchar* _tmp215_ = NULL;
 #line 1978 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp215_ = document_type;
 #line 1978 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		user_interface_set_document_hint (self, _tmp215_, FALSE);
-#line 10071 "ui.c"
+#line 10073 "ui.c"
 	}
 #line 1980 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp216_ = self->priv->_book;
@@ -10149,7 +10151,7 @@ static void user_interface_load (UserInterface* self) {
 		g_debug ("ui.vala:1999: Restoring window to maximized");
 #line 2000 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_window_maximize ((GtkWindow*) self);
-#line 10139 "ui.c"
+#line 10141 "ui.c"
 	}
 #line 2002 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp232_ = self->priv->window_is_fullscreen;
@@ -10159,7 +10161,7 @@ static void user_interface_load (UserInterface* self) {
 		g_debug ("ui.vala:2004: Restoring window to fullscreen");
 #line 2005 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_window_fullscreen ((GtkWindow*) self);
-#line 10149 "ui.c"
+#line 10151 "ui.c"
 	}
 #line 2008 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp233_ = _ ("Saving document...");
@@ -10197,7 +10199,7 @@ static void user_interface_load (UserInterface* self) {
 	_g_object_unref0 (hbox);
 #line 1814 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_object_unref0 (app);
-#line 10187 "ui.c"
+#line 10189 "ui.c"
 }
 
 
@@ -10230,13 +10232,13 @@ static gboolean user_interface_is_desktop (UserInterface* self, const gchar* nam
 		_g_free0 (desktop_name_list);
 #line 2016 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10220 "ui.c"
+#line 10222 "ui.c"
 	}
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp3_ = desktop_name_list;
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp5_ = _tmp4_ = g_strsplit (_tmp3_, ":", 0);
-#line 10226 "ui.c"
+#line 10228 "ui.c"
 	{
 		gchar** n_collection = NULL;
 		gint n_collection_length1 = 0;
@@ -10248,14 +10250,14 @@ static gboolean user_interface_is_desktop (UserInterface* self, const gchar* nam
 		n_collection_length1 = _vala_array_length (_tmp4_);
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		for (n_it = 0; n_it < _vala_array_length (_tmp4_); n_it = n_it + 1) {
-#line 10238 "ui.c"
+#line 10240 "ui.c"
 			gchar* _tmp6_ = NULL;
 			gchar* n = NULL;
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp6_ = g_strdup (n_collection[n_it]);
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			n = _tmp6_;
-#line 10245 "ui.c"
+#line 10247 "ui.c"
 			{
 				const gchar* _tmp7_ = NULL;
 				const gchar* _tmp8_ = NULL;
@@ -10275,16 +10277,16 @@ static gboolean user_interface_is_desktop (UserInterface* self, const gchar* nam
 					_g_free0 (desktop_name_list);
 #line 2020 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					return result;
-#line 10265 "ui.c"
+#line 10267 "ui.c"
 				}
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				_g_free0 (n);
-#line 10269 "ui.c"
+#line 10271 "ui.c"
 			}
 		}
 #line 2018 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		n_collection = (_vala_array_free (n_collection, n_collection_length1, (GDestroyNotify) g_free), NULL);
-#line 10274 "ui.c"
+#line 10276 "ui.c"
 	}
 #line 2022 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = FALSE;
@@ -10292,7 +10294,7 @@ static gboolean user_interface_is_desktop (UserInterface* self, const gchar* nam
 	_g_free0 (desktop_name_list);
 #line 2022 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 10282 "ui.c"
+#line 10284 "ui.c"
 }
 
 
@@ -10302,7 +10304,7 @@ static gboolean user_interface_is_traditional_desktop (UserInterface* self) {
 	static const gchar* traditional_desktops[] = {"Unity", "XFCE", "MATE", "LXDE", "Cinnamon", "X-Cinnamon"};
 #line 2025 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (self != NULL, FALSE);
-#line 10292 "ui.c"
+#line 10294 "ui.c"
 	{
 		const gchar** name_collection = NULL;
 		gint name_collection_length1 = 0;
@@ -10314,11 +10316,11 @@ static gboolean user_interface_is_traditional_desktop (UserInterface* self) {
 		name_collection_length1 = G_N_ELEMENTS (traditional_desktops);
 #line 2028 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		for (name_it = 0; name_it < G_N_ELEMENTS (traditional_desktops); name_it = name_it + 1) {
-#line 10304 "ui.c"
+#line 10306 "ui.c"
 			const gchar* name = NULL;
 #line 2028 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			name = name_collection[name_it];
-#line 10308 "ui.c"
+#line 10310 "ui.c"
 			{
 				const gchar* _tmp0_ = NULL;
 				gboolean _tmp1_ = FALSE;
@@ -10332,7 +10334,7 @@ static gboolean user_interface_is_traditional_desktop (UserInterface* self) {
 					result = TRUE;
 #line 2030 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 					return result;
-#line 10322 "ui.c"
+#line 10324 "ui.c"
 				}
 			}
 		}
@@ -10341,7 +10343,7 @@ static gboolean user_interface_is_traditional_desktop (UserInterface* self) {
 	result = FALSE;
 #line 2031 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 10331 "ui.c"
+#line 10333 "ui.c"
 }
 
 
@@ -10377,7 +10379,7 @@ static void user_interface_load_state (UserInterface* self) {
 	static GQuark _tmp30_label1 = 0;
 #line 2064 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	static GQuark _tmp30_label2 = 0;
-#line 10367 "ui.c"
+#line 10369 "ui.c"
 	GError * _inner_error_ = NULL;
 #line 2039 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_if_fail (self != NULL);
@@ -10395,7 +10397,7 @@ static void user_interface_load_state (UserInterface* self) {
 	_tmp3_ = g_key_file_new ();
 #line 2043 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	f = _tmp3_;
-#line 10385 "ui.c"
+#line 10387 "ui.c"
 	{
 		GKeyFile* _tmp4_ = NULL;
 		gchar* _tmp5_ = NULL;
@@ -10415,7 +10417,7 @@ static void user_interface_load_state (UserInterface* self) {
 		_g_free0 (_tmp7_);
 #line 2046 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 10405 "ui.c"
+#line 10407 "ui.c"
 			goto __catch23_g_error;
 		}
 	}
@@ -10432,7 +10434,7 @@ static void user_interface_load_state (UserInterface* self) {
 		_tmp8_ = e;
 #line 2050 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (!g_error_matches (_tmp8_, G_FILE_ERROR, G_FILE_ERROR_NOENT)) {
-#line 10422 "ui.c"
+#line 10424 "ui.c"
 			GError* _tmp9_ = NULL;
 			const gchar* _tmp10_ = NULL;
 #line 2051 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10441,11 +10443,11 @@ static void user_interface_load_state (UserInterface* self) {
 			_tmp10_ = _tmp9_->message;
 #line 2051 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_warning ("ui.vala:2051: Failed to load state: %s", _tmp10_);
-#line 10431 "ui.c"
+#line 10433 "ui.c"
 		}
 #line 2044 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_error_free0 (e);
-#line 10435 "ui.c"
+#line 10437 "ui.c"
 	}
 	__finally23:
 #line 2044 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10458,7 +10460,7 @@ static void user_interface_load_state (UserInterface* self) {
 		g_clear_error (&_inner_error_);
 #line 2044 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 10448 "ui.c"
+#line 10450 "ui.c"
 	}
 #line 2053 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp11_ = f;
@@ -10472,7 +10474,7 @@ static void user_interface_load_state (UserInterface* self) {
 	if (_tmp13_ <= 0) {
 #line 2055 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		self->priv->window_width = 600;
-#line 10462 "ui.c"
+#line 10464 "ui.c"
 	}
 #line 2056 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp14_ = f;
@@ -10486,7 +10488,7 @@ static void user_interface_load_state (UserInterface* self) {
 	if (_tmp16_ <= 0) {
 #line 2058 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		self->priv->window_height = 400;
-#line 10476 "ui.c"
+#line 10478 "ui.c"
 	}
 #line 2059 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp17_ = f;
@@ -10532,64 +10534,65 @@ static void user_interface_load_state (UserInterface* self) {
 	if (_tmp31_ == ((0 != _tmp30_label0) ? _tmp30_label0 : (_tmp30_label0 = g_quark_from_static_string ("bottom-to-top")))) {
 #line 2064 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 10522 "ui.c"
+#line 10524 "ui.c"
 			default:
 			{
 #line 2071 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				self->priv->default_page_scan_direction = SCAN_DIRECTION_BOTTOM_TO_TOP;
 #line 2072 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 10529 "ui.c"
+#line 10531 "ui.c"
 			}
 		}
 	} else if (_tmp31_ == ((0 != _tmp30_label1) ? _tmp30_label1 : (_tmp30_label1 = g_quark_from_static_string ("left-to-right")))) {
 #line 2064 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 10535 "ui.c"
+#line 10537 "ui.c"
 			default:
 			{
 #line 2074 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				self->priv->default_page_scan_direction = SCAN_DIRECTION_LEFT_TO_RIGHT;
 #line 2075 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 10542 "ui.c"
+#line 10544 "ui.c"
 			}
 		}
 	} else if (_tmp31_ == ((0 != _tmp30_label2) ? _tmp30_label2 : (_tmp30_label2 = g_quark_from_static_string ("right-to-left")))) {
 #line 2064 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 10548 "ui.c"
+#line 10550 "ui.c"
 			default:
 			{
 #line 2077 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				self->priv->default_page_scan_direction = SCAN_DIRECTION_RIGHT_TO_LEFT;
 #line 2078 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 10555 "ui.c"
+#line 10557 "ui.c"
 			}
 		}
 	} else {
 #line 2064 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		switch (0) {
-#line 10561 "ui.c"
+#line 10563 "ui.c"
 			default:
 			{
 #line 2068 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				self->priv->default_page_scan_direction = SCAN_DIRECTION_TOP_TO_BOTTOM;
 #line 2069 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 				break;
-#line 10568 "ui.c"
+#line 10570 "ui.c"
 			}
 		}
 	}
 #line 2039 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_key_file_unref0 (f);
-#line 10574 "ui.c"
+#line 10576 "ui.c"
 }
 
 
 static gint user_interface_state_get_integer (UserInterface* self, GKeyFile* f, const gchar* group_name, const gchar* key, gint _default_) {
 	gint result = 0;
+	gint _tmp6_ = 0;
 	GError * _inner_error_ = NULL;
 #line 2082 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (self != NULL, 0);
@@ -10599,7 +10602,7 @@ static gint user_interface_state_get_integer (UserInterface* self, GKeyFile* f,
 	g_return_val_if_fail (group_name != NULL, 0);
 #line 2082 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (key != NULL, 0);
-#line 10589 "ui.c"
+#line 10592 "ui.c"
 	{
 		gint _tmp0_ = 0;
 		GKeyFile* _tmp1_ = NULL;
@@ -10618,14 +10621,14 @@ static gint user_interface_state_get_integer (UserInterface* self, GKeyFile* f,
 		_tmp0_ = _tmp4_;
 #line 2086 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 10608 "ui.c"
+#line 10611 "ui.c"
 			goto __catch24_g_error;
 		}
 #line 2086 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		result = _tmp0_;
 #line 2086 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10615 "ui.c"
+#line 10618 "ui.c"
 	}
 	goto __finally24;
 	__catch24_g_error:
@@ -10641,7 +10644,7 @@ static gint user_interface_state_get_integer (UserInterface* self, GKeyFile* f,
 		result = _tmp5_;
 #line 2090 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10631 "ui.c"
+#line 10634 "ui.c"
 	}
 	__finally24:
 #line 2084 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10649,13 +10652,14 @@ static gint user_interface_state_get_integer (UserInterface* self, GKeyFile* f,
 #line 2084 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_clear_error (&_inner_error_);
 #line 2084 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	return 0;
-#line 10640 "ui.c"
+	return _tmp6_;
+#line 10643 "ui.c"
 }
 
 
 static gboolean user_interface_state_get_boolean (UserInterface* self, GKeyFile* f, const gchar* group_name, const gchar* key, gboolean _default_) {
 	gboolean result = FALSE;
+	gboolean _tmp6_ = FALSE;
 	GError * _inner_error_ = NULL;
 #line 2094 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (self != NULL, FALSE);
@@ -10665,7 +10669,7 @@ static gboolean user_interface_state_get_boolean (UserInterface* self, GKeyFile*
 	g_return_val_if_fail (group_name != NULL, FALSE);
 #line 2094 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (key != NULL, FALSE);
-#line 10655 "ui.c"
+#line 10659 "ui.c"
 	{
 		gboolean _tmp0_ = FALSE;
 		GKeyFile* _tmp1_ = NULL;
@@ -10684,14 +10688,14 @@ static gboolean user_interface_state_get_boolean (UserInterface* self, GKeyFile*
 		_tmp0_ = _tmp4_;
 #line 2098 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 10674 "ui.c"
+#line 10678 "ui.c"
 			goto __catch25_g_error;
 		}
 #line 2098 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		result = _tmp0_;
 #line 2098 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10681 "ui.c"
+#line 10685 "ui.c"
 	}
 	goto __finally25;
 	__catch25_g_error:
@@ -10707,7 +10711,7 @@ static gboolean user_interface_state_get_boolean (UserInterface* self, GKeyFile*
 		result = _tmp5_;
 #line 2102 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10697 "ui.c"
+#line 10701 "ui.c"
 	}
 	__finally25:
 #line 2096 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10715,8 +10719,8 @@ static gboolean user_interface_state_get_boolean (UserInterface* self, GKeyFile*
 #line 2096 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_clear_error (&_inner_error_);
 #line 2096 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	return FALSE;
-#line 10706 "ui.c"
+	return _tmp6_;
+#line 10710 "ui.c"
 }
 
 
@@ -10733,7 +10737,7 @@ static gchar* user_interface_state_get_string (UserInterface* self, GKeyFile* f,
 	g_return_val_if_fail (key != NULL, NULL);
 #line 2106 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_return_val_if_fail (_default_ != NULL, NULL);
-#line 10723 "ui.c"
+#line 10727 "ui.c"
 	{
 		gchar* _tmp0_ = NULL;
 		GKeyFile* _tmp1_ = NULL;
@@ -10753,7 +10757,7 @@ static gchar* user_interface_state_get_string (UserInterface* self, GKeyFile* f,
 		_tmp0_ = _tmp4_;
 #line 2110 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 10743 "ui.c"
+#line 10747 "ui.c"
 			goto __catch26_g_error;
 		}
 #line 2110 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10766,7 +10770,7 @@ static gchar* user_interface_state_get_string (UserInterface* self, GKeyFile* f,
 		_g_free0 (_tmp0_);
 #line 2110 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10756 "ui.c"
+#line 10760 "ui.c"
 	}
 	goto __finally26;
 	__catch26_g_error:
@@ -10785,7 +10789,7 @@ static gchar* user_interface_state_get_string (UserInterface* self, GKeyFile* f,
 		result = _tmp7_;
 #line 2114 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 10775 "ui.c"
+#line 10779 "ui.c"
 	}
 	__finally26:
 #line 2108 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10794,7 +10798,7 @@ static gchar* user_interface_state_get_string (UserInterface* self, GKeyFile* f,
 	g_clear_error (&_inner_error_);
 #line 2108 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return NULL;
-#line 10784 "ui.c"
+#line 10788 "ui.c"
 }
 
 
@@ -10808,7 +10812,7 @@ static gboolean ___lambda11_ (UserInterface* self) {
 	result = FALSE;
 #line 2128 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 10798 "ui.c"
+#line 10802 "ui.c"
 }
 
 
@@ -10817,7 +10821,7 @@ static gboolean ____lambda11__gsource_func (gpointer self) {
 	result = ___lambda11_ ((UserInterface*) self);
 #line 2124 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 10807 "ui.c"
+#line 10811 "ui.c"
 }
 
 
@@ -10850,20 +10854,20 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 	_tmp0_ = force;
 #line 2120 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (!_tmp0_) {
-#line 10840 "ui.c"
+#line 10844 "ui.c"
 		guint _tmp1_ = 0U;
 		guint _tmp3_ = 0U;
 #line 2122 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp1_ = self->priv->save_state_timeout;
 #line 2122 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (_tmp1_ != ((guint) 0)) {
-#line 10847 "ui.c"
+#line 10851 "ui.c"
 			guint _tmp2_ = 0U;
 #line 2123 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			_tmp2_ = self->priv->save_state_timeout;
 #line 2123 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			g_source_remove (_tmp2_);
-#line 10853 "ui.c"
+#line 10857 "ui.c"
 		}
 #line 2124 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp3_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 100, ____lambda11__gsource_func, g_object_ref (self), g_object_unref);
@@ -10871,7 +10875,7 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 		self->priv->save_state_timeout = _tmp3_;
 #line 2130 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 10861 "ui.c"
+#line 10865 "ui.c"
 	}
 #line 2133 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp4_ = user_interface_get_state_filename (self);
@@ -10935,7 +10939,7 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 	switch (_tmp22_) {
 #line 2143 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case SCAN_DIRECTION_TOP_TO_BOTTOM:
-#line 10925 "ui.c"
+#line 10929 "ui.c"
 		{
 			GKeyFile* _tmp23_ = NULL;
 #line 2146 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10944,11 +10948,11 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 			g_key_file_set_value (_tmp23_, "last-page", "scan-direction", "top-to-bottom");
 #line 2147 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 10934 "ui.c"
+#line 10938 "ui.c"
 		}
 #line 2143 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case SCAN_DIRECTION_BOTTOM_TO_TOP:
-#line 10938 "ui.c"
+#line 10942 "ui.c"
 		{
 			GKeyFile* _tmp24_ = NULL;
 #line 2149 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10957,11 +10961,11 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 			g_key_file_set_value (_tmp24_, "last-page", "scan-direction", "bottom-to-top");
 #line 2150 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 10947 "ui.c"
+#line 10951 "ui.c"
 		}
 #line 2143 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case SCAN_DIRECTION_LEFT_TO_RIGHT:
-#line 10951 "ui.c"
+#line 10955 "ui.c"
 		{
 			GKeyFile* _tmp25_ = NULL;
 #line 2152 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10970,11 +10974,11 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 			g_key_file_set_value (_tmp25_, "last-page", "scan-direction", "left-to-right");
 #line 2153 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 10960 "ui.c"
+#line 10964 "ui.c"
 		}
 #line 2143 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		case SCAN_DIRECTION_RIGHT_TO_LEFT:
-#line 10964 "ui.c"
+#line 10968 "ui.c"
 		{
 			GKeyFile* _tmp26_ = NULL;
 #line 2155 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -10983,12 +10987,12 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 			g_key_file_set_value (_tmp26_, "last-page", "scan-direction", "right-to-left");
 #line 2156 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 10973 "ui.c"
+#line 10977 "ui.c"
 		}
 		default:
 #line 2143 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 10978 "ui.c"
+#line 10982 "ui.c"
 	}
 	{
 		gchar* _tmp27_ = NULL;
@@ -11017,7 +11021,7 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 		_g_free0 (_tmp29_);
 #line 2160 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 11007 "ui.c"
+#line 11011 "ui.c"
 			goto __catch27_g_error;
 		}
 	}
@@ -11039,7 +11043,7 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 		g_warning ("ui.vala:2164: Failed to write state: %s", _tmp34_);
 #line 2158 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_g_error_free0 (e);
-#line 11029 "ui.c"
+#line 11033 "ui.c"
 	}
 	__finally27:
 #line 2158 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -11052,11 +11056,11 @@ static void user_interface_save_state (UserInterface* self, gboolean force) {
 		g_clear_error (&_inner_error_);
 #line 2158 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 11042 "ui.c"
+#line 11046 "ui.c"
 	}
 #line 2118 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_key_file_unref0 (f);
-#line 11046 "ui.c"
+#line 11050 "ui.c"
 }
 
 
@@ -11071,7 +11075,7 @@ static gboolean ___lambda21_ (UserInterface* self) {
 	result = FALSE;
 #line 2180 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11061 "ui.c"
+#line 11065 "ui.c"
 }
 
 
@@ -11080,7 +11084,7 @@ static gboolean ____lambda21__gsource_func (gpointer self) {
 	result = ___lambda21_ ((UserInterface*) self);
 #line 2178 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11070 "ui.c"
+#line 11074 "ui.c"
 }
 
 
@@ -11107,7 +11111,7 @@ static void user_interface_book_saving_cb (UserInterface* self, gint page_number
 	g_return_if_fail (self != NULL);
 #line 2171 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	while (TRUE) {
-#line 11097 "ui.c"
+#line 11101 "ui.c"
 		gboolean _tmp0_ = FALSE;
 #line 2171 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp0_ = gtk_events_pending ();
@@ -11115,11 +11119,11 @@ static void user_interface_book_saving_cb (UserInterface* self, gint page_number
 		if (!_tmp0_) {
 #line 2171 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 			break;
-#line 11105 "ui.c"
+#line 11109 "ui.c"
 		}
 #line 2172 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		gtk_main_iteration ();
-#line 11109 "ui.c"
+#line 11113 "ui.c"
 	}
 #line 2174 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp1_ = self->priv->_book;
@@ -11145,7 +11149,7 @@ static void user_interface_book_saving_cb (UserInterface* self, gint page_number
 	if (_tmp7_) {
 #line 2178 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 500, ____lambda21__gsource_func, g_object_ref (self), g_object_unref);
-#line 11135 "ui.c"
+#line 11139 "ui.c"
 	}
 #line 2182 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp8_ = _ ("Saving page %d out of %d");
@@ -11169,7 +11173,7 @@ static void user_interface_book_saving_cb (UserInterface* self, gint page_number
 	progress_bar_dialog_set_message (_tmp14_, message);
 #line 2168 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_g_free0 (message);
-#line 11159 "ui.c"
+#line 11163 "ui.c"
 }
 
 
@@ -11181,7 +11185,7 @@ void user_interface_show_progress_dialog (UserInterface* self) {
 	_tmp0_ = self->priv->progress_dialog;
 #line 2190 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_set_visible ((GtkWidget*) _tmp0_, TRUE);
-#line 11171 "ui.c"
+#line 11175 "ui.c"
 }
 
 
@@ -11193,7 +11197,7 @@ void user_interface_hide_progress_dialog (UserInterface* self) {
 	_tmp0_ = self->priv->progress_dialog;
 #line 2195 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_set_visible ((GtkWidget*) _tmp0_, FALSE);
-#line 11183 "ui.c"
+#line 11187 "ui.c"
 }
 
 
@@ -11233,7 +11237,7 @@ void user_interface_show_error (UserInterface* self, const gchar* error_title, c
 	self->priv->error_change_scanner_hint = _tmp4_;
 #line 2204 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	user_interface_update_info_bar (self);
-#line 11223 "ui.c"
+#line 11227 "ui.c"
 }
 
 
@@ -11242,7 +11246,7 @@ void user_interface_start (UserInterface* self) {
 	g_return_if_fail (self != NULL);
 #line 2209 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_set_visible ((GtkWidget*) self, TRUE);
-#line 11232 "ui.c"
+#line 11236 "ui.c"
 }
 
 
@@ -11257,14 +11261,14 @@ Book* user_interface_get_book (UserInterface* self) {
 	result = _tmp0_;
 #line 164 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11247 "ui.c"
+#line 11251 "ui.c"
 }
 
 
 static gpointer _book_ref0 (gpointer self) {
 #line 164 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return self ? book_ref (self) : NULL;
-#line 11254 "ui.c"
+#line 11258 "ui.c"
 }
 
 
@@ -11283,7 +11287,7 @@ static void user_interface_set_book (UserInterface* self, Book* value) {
 	self->priv->_book = _tmp1_;
 #line 164 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "book");
-#line 11273 "ui.c"
+#line 11277 "ui.c"
 }
 
 
@@ -11304,7 +11308,7 @@ Page* user_interface_get_selected_page (UserInterface* self) {
 	result = _tmp2_;
 #line 171 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11294 "ui.c"
+#line 11298 "ui.c"
 }
 
 
@@ -11321,7 +11325,7 @@ void user_interface_set_selected_page (UserInterface* self, Page* value) {
 	book_view_set_selected_page (_tmp0_, _tmp1_);
 #line 173 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "selected-page");
-#line 11311 "ui.c"
+#line 11315 "ui.c"
 }
 
 
@@ -11336,7 +11340,7 @@ gboolean user_interface_get_scanning (UserInterface* self) {
 	result = _tmp0_;
 #line 193 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11326 "ui.c"
+#line 11330 "ui.c"
 }
 
 
@@ -11390,7 +11394,7 @@ void user_interface_set_scanning (UserInterface* self, gboolean value) {
 	gtk_widget_set_visible ((GtkWidget*) _tmp9_, _tmp10_);
 #line 194 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "scanning");
-#line 11380 "ui.c"
+#line 11384 "ui.c"
 }
 
 
@@ -11411,7 +11415,7 @@ gint user_interface_get_brightness (UserInterface* self) {
 	result = (gint) _tmp2_;
 #line 214 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11401 "ui.c"
+#line 11405 "ui.c"
 }
 
 
@@ -11428,7 +11432,7 @@ void user_interface_set_brightness (UserInterface* self, gint value) {
 	gtk_adjustment_set_value (_tmp0_, (gdouble) _tmp1_);
 #line 215 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "brightness");
-#line 11418 "ui.c"
+#line 11422 "ui.c"
 }
 
 
@@ -11449,7 +11453,7 @@ gint user_interface_get_contrast (UserInterface* self) {
 	result = (gint) _tmp2_;
 #line 220 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11439 "ui.c"
+#line 11443 "ui.c"
 }
 
 
@@ -11466,7 +11470,7 @@ void user_interface_set_contrast (UserInterface* self, gint value) {
 	gtk_adjustment_set_value (_tmp0_, (gdouble) _tmp1_);
 #line 221 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "contrast");
-#line 11456 "ui.c"
+#line 11460 "ui.c"
 }
 
 
@@ -11487,7 +11491,7 @@ gint user_interface_get_quality (UserInterface* self) {
 	result = (gint) _tmp2_;
 #line 226 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11477 "ui.c"
+#line 11481 "ui.c"
 }
 
 
@@ -11504,7 +11508,7 @@ void user_interface_set_quality (UserInterface* self, gint value) {
 	gtk_adjustment_set_value (_tmp0_, (gdouble) _tmp1_);
 #line 227 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "quality");
-#line 11494 "ui.c"
+#line 11498 "ui.c"
 }
 
 
@@ -11524,7 +11528,7 @@ gchar* user_interface_get_selected_device (UserInterface* self) {
 	iter = _tmp1_;
 #line 236 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (_tmp2_) {
-#line 11514 "ui.c"
+#line 11518 "ui.c"
 		gchar* device = NULL;
 		GtkListStore* _tmp3_ = NULL;
 		GtkTreeIter _tmp4_ = {0};
@@ -11538,13 +11542,13 @@ gchar* user_interface_get_selected_device (UserInterface* self) {
 		result = device;
 #line 240 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 11528 "ui.c"
+#line 11532 "ui.c"
 	}
 #line 243 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = NULL;
 #line 243 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11534 "ui.c"
+#line 11538 "ui.c"
 }
 
 
@@ -11567,7 +11571,7 @@ void user_interface_set_selected_device (UserInterface* self, const gchar* value
 	if (!_tmp2_) {
 #line 250 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return;
-#line 11557 "ui.c"
+#line 11561 "ui.c"
 	}
 #line 252 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp3_ = self->priv->device_combo;
@@ -11579,7 +11583,7 @@ void user_interface_set_selected_device (UserInterface* self, const gchar* value
 	self->priv->user_selected_device = TRUE;
 #line 246 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "selected-device");
-#line 11569 "ui.c"
+#line 11573 "ui.c"
 }
 
 
@@ -11597,7 +11601,7 @@ static gchar* user_interface_get_state_filename (UserInterface* self) {
 	result = _tmp1_;
 #line 2036 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 11587 "ui.c"
+#line 11591 "ui.c"
 }
 
 
@@ -11616,19 +11620,19 @@ static void g_cclosure_user_marshal_VOID__STRING_SCAN_OPTIONS (GClosure * closur
 		data1 = closure->data;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		data2 = param_values->data[0].v_pointer;
-#line 11606 "ui.c"
+#line 11610 "ui.c"
 	} else {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		data1 = param_values->data[0].v_pointer;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		data2 = closure->data;
-#line 11612 "ui.c"
+#line 11616 "ui.c"
 	}
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	callback = (GMarshalFunc_VOID__STRING_SCAN_OPTIONS) (marshal_data ? marshal_data : cc->callback);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	callback (data1, g_value_get_string (param_values + 1), value_get_scan_options (param_values + 2), data2);
-#line 11618 "ui.c"
+#line 11622 "ui.c"
 }
 
 
@@ -11647,19 +11651,19 @@ static void g_cclosure_user_marshal_VOID__STRING_INT (GClosure * closure, GValue
 		data1 = closure->data;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		data2 = param_values->data[0].v_pointer;
-#line 11637 "ui.c"
+#line 11641 "ui.c"
 	} else {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		data1 = param_values->data[0].v_pointer;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		data2 = closure->data;
-#line 11643 "ui.c"
+#line 11647 "ui.c"
 	}
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	callback = (GMarshalFunc_VOID__STRING_INT) (marshal_data ? marshal_data : cc->callback);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	callback (data1, g_value_get_string (param_values + 1), g_value_get_int (param_values + 2), data2);
-#line 11649 "ui.c"
+#line 11653 "ui.c"
 }
 
 
@@ -11670,9 +11674,9 @@ static void user_interface_class_init (UserInterfaceClass * klass) {
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_type_class_add_private (klass, sizeof (UserInterfacePrivate));
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->size_allocate = user_interface_real_size_allocate;
+	((GtkWidgetClass *) klass)->size_allocate = (void (*)(GtkWidget*, GtkAllocation*)) user_interface_real_size_allocate;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->window_state_event = user_interface_real_window_state_event;
+	((GtkWidgetClass *) klass)->window_state_event = (gboolean (*)(GtkWidget*, GdkEventWindowState*)) user_interface_real_window_state_event;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	G_OBJECT_CLASS (klass)->get_property = _vala_user_interface_get_property;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -11883,7 +11887,7 @@ static void user_interface_class_init (UserInterfaceClass * klass) {
 	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "quit_menuitem_activate_cb", G_CALLBACK(_user_interface_quit_menuitem_activate_cb_gtk_menu_item_activate));
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "window_delete_event_cb", G_CALLBACK(_user_interface_window_delete_event_cb_gtk_widget_delete_event));
-#line 11873 "ui.c"
+#line 11877 "ui.c"
 }
 
 
@@ -11903,7 +11907,7 @@ static void user_interface_instance_init (UserInterface * self) {
 	self->priv->scanning_ = FALSE;
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	gtk_widget_init_template (GTK_WIDGET (self));
-#line 11893 "ui.c"
+#line 11897 "ui.c"
 }
 
 
@@ -12079,7 +12083,7 @@ static void user_interface_finalize (GObject* obj) {
 	_g_free0 (self->priv->document_hint);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	G_OBJECT_CLASS (user_interface_parent_class)->finalize (obj);
-#line 12069 "ui.c"
+#line 12073 "ui.c"
 }
 
 
@@ -12142,13 +12146,13 @@ static void _vala_user_interface_get_property (GObject * object, guint property_
 		g_value_take_string (value, user_interface_get_selected_device (self));
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12132 "ui.c"
+#line 12136 "ui.c"
 		default:
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12138 "ui.c"
+#line 12142 "ui.c"
 	}
 }
 
@@ -12200,13 +12204,13 @@ static void _vala_user_interface_set_property (GObject * object, guint property_
 		user_interface_set_selected_device (self, g_value_get_string (value));
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12190 "ui.c"
+#line 12194 "ui.c"
 		default:
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 #line 14 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12196 "ui.c"
+#line 12200 "ui.c"
 	}
 }
 
@@ -12303,14 +12307,14 @@ ProgressBarDialog* progress_bar_dialog_construct (GType object_type, GtkApplicat
 	_g_object_unref0 (hbox);
 #line 2229 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return self;
-#line 12293 "ui.c"
+#line 12297 "ui.c"
 }
 
 
 ProgressBarDialog* progress_bar_dialog_new (GtkApplicationWindow* parent, const gchar* title) {
 #line 2229 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return progress_bar_dialog_construct (TYPE_PROGRESS_BAR_DIALOG, parent, title);
-#line 12300 "ui.c"
+#line 12304 "ui.c"
 }
 
 
@@ -12331,7 +12335,7 @@ gdouble progress_bar_dialog_get_fraction (ProgressBarDialog* self) {
 	result = _tmp2_;
 #line 2219 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 12321 "ui.c"
+#line 12325 "ui.c"
 }
 
 
@@ -12348,7 +12352,7 @@ void progress_bar_dialog_set_fraction (ProgressBarDialog* self, gdouble value) {
 	gtk_progress_bar_set_fraction (_tmp0_, _tmp1_);
 #line 2220 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "fraction");
-#line 12338 "ui.c"
+#line 12342 "ui.c"
 }
 
 
@@ -12369,7 +12373,7 @@ const gchar* progress_bar_dialog_get_message (ProgressBarDialog* self) {
 	result = _tmp2_;
 #line 2225 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 12359 "ui.c"
+#line 12363 "ui.c"
 }
 
 
@@ -12386,7 +12390,7 @@ void progress_bar_dialog_set_message (ProgressBarDialog* self, const gchar* valu
 	gtk_progress_bar_set_text (_tmp0_, _tmp1_);
 #line 2226 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_notify ((GObject *) self, "message");
-#line 12376 "ui.c"
+#line 12380 "ui.c"
 }
 
 
@@ -12405,14 +12409,14 @@ static void progress_bar_dialog_class_init (ProgressBarDialogClass * klass) {
 	g_object_class_install_property (G_OBJECT_CLASS (klass), PROGRESS_BAR_DIALOG_FRACTION, g_param_spec_double ("fraction", "fraction", "fraction", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_object_class_install_property (G_OBJECT_CLASS (klass), PROGRESS_BAR_DIALOG_MESSAGE, g_param_spec_string ("message", "message", "message", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
-#line 12395 "ui.c"
+#line 12399 "ui.c"
 }
 
 
 static void progress_bar_dialog_instance_init (ProgressBarDialog * self) {
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	self->priv = PROGRESS_BAR_DIALOG_GET_PRIVATE (self);
-#line 12402 "ui.c"
+#line 12406 "ui.c"
 }
 
 
@@ -12424,7 +12428,7 @@ static void progress_bar_dialog_finalize (GObject* obj) {
 	_g_object_unref0 (self->priv->bar);
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	G_OBJECT_CLASS (progress_bar_dialog_parent_class)->finalize (obj);
-#line 12414 "ui.c"
+#line 12418 "ui.c"
 }
 
 
@@ -12457,13 +12461,13 @@ static void _vala_progress_bar_dialog_get_property (GObject * object, guint prop
 		g_value_set_string (value, progress_bar_dialog_get_message (self));
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12447 "ui.c"
+#line 12451 "ui.c"
 		default:
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12453 "ui.c"
+#line 12457 "ui.c"
 	}
 }
 
@@ -12485,13 +12489,13 @@ static void _vala_progress_bar_dialog_set_property (GObject * object, guint prop
 		progress_bar_dialog_set_message (self, g_value_get_string (value));
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12475 "ui.c"
+#line 12479 "ui.c"
 		default:
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 #line 2213 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		break;
-#line 12481 "ui.c"
+#line 12485 "ui.c"
 	}
 }
 
@@ -12516,7 +12520,7 @@ gchar* get_temporary_filename (const gchar* prefix, const gchar* extension) {
 	_tmp2_ = g_strdup_printf ("%sXXXXXX.%s", _tmp0_, _tmp1_);
 #line 2263 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	filename = _tmp2_;
-#line 12506 "ui.c"
+#line 12510 "ui.c"
 	{
 		gint fd = 0;
 		const gchar* _tmp3_ = NULL;
@@ -12535,14 +12539,14 @@ gchar* get_temporary_filename (const gchar* prefix, const gchar* extension) {
 		fd = _tmp5_;
 #line 2267 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 12525 "ui.c"
+#line 12529 "ui.c"
 			goto __catch28_g_error;
 		}
 #line 2268 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		_tmp6_ = fd;
 #line 2268 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		close (_tmp6_);
-#line 12532 "ui.c"
+#line 12536 "ui.c"
 	}
 	goto __finally28;
 	__catch28_g_error:
@@ -12570,7 +12574,7 @@ gchar* get_temporary_filename (const gchar* prefix, const gchar* extension) {
 		_g_free0 (filename);
 #line 2273 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return result;
-#line 12560 "ui.c"
+#line 12564 "ui.c"
 	}
 	__finally28:
 #line 2265 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -12585,7 +12589,7 @@ gchar* get_temporary_filename (const gchar* prefix, const gchar* extension) {
 		g_clear_error (&_inner_error_);
 #line 2265 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		return NULL;
-#line 12575 "ui.c"
+#line 12579 "ui.c"
 	}
 #line 2276 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	result = path;
@@ -12593,7 +12597,7 @@ gchar* get_temporary_filename (const gchar* prefix, const gchar* extension) {
 	_g_free0 (filename);
 #line 2276 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 12583 "ui.c"
+#line 12587 "ui.c"
 }
 
 
@@ -12630,14 +12634,14 @@ PageIcon* page_icon_construct (GType object_type, const gchar* text, gdouble r,
 	self->priv->b = _tmp4_;
 #line 2287 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return self;
-#line 12620 "ui.c"
+#line 12624 "ui.c"
 }
 
 
 PageIcon* page_icon_new (const gchar* text, gdouble r, gdouble g, gdouble b) {
 #line 2287 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return page_icon_construct (TYPE_PAGE_ICON, text, r, g, b);
-#line 12627 "ui.c"
+#line 12631 "ui.c"
 }
 
 
@@ -12655,13 +12659,13 @@ static void page_icon_real_get_preferred_width (GtkWidget* base, gint* minimum_w
 	if (minimum_width) {
 #line 2295 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*minimum_width = _vala_minimum_width;
-#line 12645 "ui.c"
+#line 12649 "ui.c"
 	}
 #line 2295 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (natural_width) {
 #line 2295 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*natural_width = _vala_natural_width;
-#line 12651 "ui.c"
+#line 12655 "ui.c"
 	}
 }
 
@@ -12683,13 +12687,13 @@ static void page_icon_real_get_preferred_height (GtkWidget* base, gint* minimum_
 	if (minimum_height) {
 #line 2300 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*minimum_height = _vala_minimum_height;
-#line 12673 "ui.c"
+#line 12677 "ui.c"
 	}
 #line 2300 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (natural_height) {
 #line 2300 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*natural_height = _vala_natural_height;
-#line 12679 "ui.c"
+#line 12683 "ui.c"
 	}
 }
 
@@ -12711,13 +12715,13 @@ static void page_icon_real_get_preferred_height_for_width (GtkWidget* base, gint
 	if (minimum_height) {
 #line 2305 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*minimum_height = _vala_minimum_height;
-#line 12701 "ui.c"
+#line 12705 "ui.c"
 	}
 #line 2305 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (natural_height) {
 #line 2305 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*natural_height = _vala_natural_height;
-#line 12707 "ui.c"
+#line 12711 "ui.c"
 	}
 }
 
@@ -12739,13 +12743,13 @@ static void page_icon_real_get_preferred_width_for_height (GtkWidget* base, gint
 	if (minimum_width) {
 #line 2310 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*minimum_width = _vala_minimum_width;
-#line 12729 "ui.c"
+#line 12733 "ui.c"
 	}
 #line 2310 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if (natural_width) {
 #line 2310 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		*natural_width = _vala_natural_width;
-#line 12735 "ui.c"
+#line 12739 "ui.c"
 	}
 }
 
@@ -12806,7 +12810,7 @@ static gboolean page_icon_real_draw (GtkWidget* base, cairo_t* c) {
 	_tmp3_ = h;
 #line 2319 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	if ((_tmp2_ * G_SQRT2) > ((gdouble) _tmp3_)) {
-#line 12796 "ui.c"
+#line 12800 "ui.c"
 		gint _tmp4_ = 0;
 		gdouble _tmp5_ = 0.0;
 #line 2320 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
@@ -12815,7 +12819,7 @@ static gboolean page_icon_real_draw (GtkWidget* base, cairo_t* c) {
 		_tmp5_ = round (_tmp4_ / G_SQRT2);
 #line 2320 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		w = (gint) _tmp5_;
-#line 12805 "ui.c"
+#line 12809 "ui.c"
 	} else {
 		gint _tmp6_ = 0;
 		gdouble _tmp7_ = 0.0;
@@ -12825,7 +12829,7 @@ static gboolean page_icon_real_draw (GtkWidget* base, cairo_t* c) {
 		_tmp7_ = round (_tmp6_ * G_SQRT2);
 #line 2322 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 		h = (gint) _tmp7_;
-#line 12815 "ui.c"
+#line 12819 "ui.c"
 	}
 #line 2324 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	_tmp8_ = c;
@@ -12907,7 +12911,7 @@ static gboolean page_icon_real_draw (GtkWidget* base, cairo_t* c) {
 	result = TRUE;
 #line 2340 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	return result;
-#line 12897 "ui.c"
+#line 12901 "ui.c"
 }
 
 
@@ -12917,25 +12921,25 @@ static void page_icon_class_init (PageIconClass * klass) {
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	g_type_class_add_private (klass, sizeof (PageIconPrivate));
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->get_preferred_width = page_icon_real_get_preferred_width;
+	((GtkWidgetClass *) klass)->get_preferred_width = (void (*)(GtkWidget*, gint*, gint*)) page_icon_real_get_preferred_width;
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->get_preferred_height = page_icon_real_get_preferred_height;
+	((GtkWidgetClass *) klass)->get_preferred_height = (void (*)(GtkWidget*, gint*, gint*)) page_icon_real_get_preferred_height;
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->get_preferred_height_for_width = page_icon_real_get_preferred_height_for_width;
+	((GtkWidgetClass *) klass)->get_preferred_height_for_width = (void (*)(GtkWidget*, gint, gint*, gint*)) page_icon_real_get_preferred_height_for_width;
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->get_preferred_width_for_height = page_icon_real_get_preferred_width_for_height;
+	((GtkWidgetClass *) klass)->get_preferred_width_for_height = (void (*)(GtkWidget*, gint, gint*, gint*)) page_icon_real_get_preferred_width_for_height;
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
-	((GtkWidgetClass *) klass)->draw = page_icon_real_draw;
+	((GtkWidgetClass *) klass)->draw = (gboolean (*)(GtkWidget*, cairo_t*)) page_icon_real_draw;
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	G_OBJECT_CLASS (klass)->finalize = page_icon_finalize;
-#line 12918 "ui.c"
+#line 12922 "ui.c"
 }
 
 
 static void page_icon_instance_init (PageIcon * self) {
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	self->priv = PAGE_ICON_GET_PRIVATE (self);
-#line 12925 "ui.c"
+#line 12929 "ui.c"
 }
 
 
@@ -12947,7 +12951,7 @@ static void page_icon_finalize (GObject* obj) {
 	_g_free0 (self->priv->text);
 #line 2279 "/home/bob/bzr/simple-scan/trunk/src/ui.vala"
 	G_OBJECT_CLASS (page_icon_parent_class)->finalize (obj);
-#line 12937 "ui.c"
+#line 12941 "ui.c"
 }
 
 
-- 
cgit v1.2.3