gnome-scan r742 - in trunk: . modules/gsane



Author: bersace
Date: Tue Dec 23 22:35:15 2008
New Revision: 742
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=742&view=rev

Log:
Overwrite groups for some well known options.

Modified:
   trunk/ChangeLog
   trunk/modules/gsane/gsane-option-handler-generic.c

Modified: trunk/modules/gsane/gsane-option-handler-generic.c
==============================================================================
--- trunk/modules/gsane/gsane-option-handler-generic.c	(original)
+++ trunk/modules/gsane/gsane-option-handler-generic.c	Tue Dec 23 22:35:15 2008
@@ -23,6 +23,14 @@
 #include "gsane-common.h"
 #include "gsane-option-handler-generic.h"
 
+/* list all options to group in GROUP_SCANNER  */
+static const gchar* group_scanner_options[] = {
+	"resolution",
+	"mode",
+	"source",
+	NULL
+};
+
 #define	GSANE_OPTION_HANDLER_GENERIC_GET_PRIVATE(o)	(G_TYPE_INSTANCE_GET_PRIVATE((o), GSANE_TYPE_OPTION_HANDLER_GENERIC, GSaneOptionHandlerGenericPrivate))
 
 struct _GSaneOptionHandlerGenericPrivate
@@ -123,13 +131,21 @@
 
 
 
+static inline const gchar*
+gsane_option_handler_generic_get_group(GSaneOptionHandlerGeneric* self, const SANE_Option_Descriptor* desc, SANE_Int n, const gchar*group)
+{
+	return gsane_string_in_array(desc->name, group_scanner_options) ? GNOME_SCAN_OPTION_GROUP_SCANNER : group;
+}
+
 
 static void
 gsane_option_handler_generic_handle_bool_option(GSaneOptionHandler *handler, const SANE_Option_Descriptor*desc, SANE_Int n, const gchar* group)
 {
 	GSaneOptionHandlerGeneric* self = GSANE_OPTION_HANDLER_GENERIC(handler);
 	gboolean value = gsane_option_handler_get_bool(handler, desc, n, NULL);
-	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_bool_new(desc->name, S_(desc->title), S_(desc->desc), group, SANE_GETTEXT_PACKAGE, value,
+	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_bool_new(desc->name, S_(desc->title), S_(desc->desc),
+									  gsane_option_handler_generic_get_group(self, desc, n, group),
+									  SANE_GETTEXT_PACKAGE, value,
 									  GSANE_OPTION_HANDLER_GENERIC_GET_CLASS(handler)->option_hint));
 	self->priv->get_value = gsane_option_handler_generic_bool_get_value;
 	g_signal_connect_swapped(self->priv->option, "notify::value", G_CALLBACK(gsane_option_handler_generic_bool_option_value_changed), self);
@@ -153,7 +169,9 @@
 		step = 1;
 		max = G_MAXINT;
 	}
-	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_int_new(desc->name, S_(desc->title), S_(desc->desc), group, SANE_GETTEXT_PACKAGE,
+	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_int_new(desc->name, S_(desc->title), S_(desc->desc),
+									 gsane_option_handler_generic_get_group(self, desc, n, group),
+									 SANE_GETTEXT_PACKAGE,
 									 value, min, step, max,
 									 gsane_option_unit(desc),
 									 GSANE_OPTION_HANDLER_GENERIC_GET_CLASS(handler)->option_hint));
@@ -179,7 +197,9 @@
 		step = 1.;
 		max = G_MAXDOUBLE;
 	}
-	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_double_new(desc->name, S_(desc->title), S_(desc->desc), group, SANE_GETTEXT_PACKAGE,
+	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_double_new(desc->name, S_(desc->title), S_(desc->desc),
+									    gsane_option_handler_generic_get_group(self, desc, n, group),
+									    SANE_GETTEXT_PACKAGE,
 									    value, min, step, max,
 									    gsane_option_unit(desc),
 									    GSANE_OPTION_HANDLER_GENERIC_GET_CLASS(handler)->option_hint));
@@ -193,7 +213,9 @@
 {
 	GSaneOptionHandlerGeneric* self = GSANE_OPTION_HANDLER_GENERIC(handler);
 	gchar* value = gsane_option_handler_get_string(handler, desc, n, NULL);
-	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_string_new(desc->name, S_(desc->title), S_(desc->desc), group, SANE_GETTEXT_PACKAGE,
+	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_string_new(desc->name, S_(desc->title), S_(desc->desc),
+									    gsane_option_handler_generic_get_group(self, desc, n, group),
+									    SANE_GETTEXT_PACKAGE,
 									    value,
 									    GSANE_OPTION_HANDLER_GENERIC_GET_CLASS(handler)->option_hint));
 	self->priv->get_value = gsane_option_handler_generic_string_get_value;
@@ -271,7 +293,9 @@
 		return;
 
 	default_value = gsane_option_handler_get_enum(handler, desc, n, values, NULL);
-	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_enum_new(desc->name, S_(desc->title), S_(desc->desc), group, SANE_GETTEXT_PACKAGE,
+	self->priv->option = GNOME_SCAN_OPTION(gnome_scan_option_enum_new(desc->name, S_(desc->title), S_(desc->desc),
+									  gsane_option_handler_generic_get_group(self, desc, n, group),
+									  SANE_GETTEXT_PACKAGE,
 									  default_value, values,
 									  GSANE_OPTION_HANDLER_GENERIC_GET_CLASS(self)->option_hint));
 	g_debug("%s is %s",



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