[gnumeric] more handle-conf-options adjustments #688060



commit cf6d5bba15e3da012e70cff10ecaae395445d1cd
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date:   Sat Nov 10 18:42:52 2012 -0700

    more handle-conf-options adjustments #688060
    
    2012-11-10  Andreas J. Guelzow <aguelzow pyrshep ca>
    
    	* src/gnumeric-conf.h: updated
    	* src/gnumeric-conf.c: updated
    	* schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in: use enums for
    	"format" and "quoting"
    
    2012-11-10  Andreas J Guelzow <aguelzow pyrshep ca>
    
    	* handle-conf-options: use enums for stf export setings and add
    	custom tests

 ChangeLog                                          |    7 ++++
 .../org.gnome.gnumeric.dialogs.gschema.xml.in.in   |    8 ++--
 src/gnumeric-conf.c                                |   30 ++++++++++----------
 src/gnumeric-conf.h                                |   10 ++++--
 tools/ChangeLog                                    |    5 +++
 tools/handle-conf-options                          |   19 +++++++++---
 6 files changed, 51 insertions(+), 28 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index e891172..ac24034 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,13 @@
 
 	* src/gnumeric-conf.h: updated
 	* src/gnumeric-conf.c: updated
+	* schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in: use enums for
+	"format" and "quoting"
+
+2012-11-10  Andreas J. Guelzow <aguelzow pyrshep ca>
+
+	* src/gnumeric-conf.h: updated
+	* src/gnumeric-conf.c: updated
 	* schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in: change path
 	to avoid introspection bug
 	* component/gnumeric.c (go_plugin_init): adjust for changed
diff --git a/schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in b/schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in
index 2f06215..298d438 100644
--- a/schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in
+++ b/schemas/org.gnome.gnumeric.dialogs.gschema.xml.in.in
@@ -292,13 +292,13 @@
       <_summary>Text Export Encoding</_summary>
       <_description>Please use the Text Export dialog to edit this value.</_description>
     </key>
-    <key name="quoting" type="i">
-      <default>1</default>
+    <key name="quoting" type="s">
+      <default>'auto'</default>
       <_summary>Text Export String Quoting Rule</_summary>
       <_description>Please use the Text Export dialog to edit this value.</_description>
     </key>
-    <key name="format" type="i">
-      <default>0</default>
+    <key name="format" type="s">
+      <default>'auto'</default>
       <_summary>Text Export Formating Rule</_summary>
       <_description>Please use the Text Export dialog to edit this value.</_description>
     </key>
diff --git a/src/gnumeric-conf.c b/src/gnumeric-conf.c
index bd024c0..c74e92b 100644
--- a/src/gnumeric-conf.c
+++ b/src/gnumeric-conf.c
@@ -1267,7 +1267,7 @@ static struct cb_watch_bool watch_core_gui_editing_autocomplete = {
 gboolean
 gnm_conf_get_core_gui_editing_autocomplete (void)
 {
-	if (!watch_core_gui_editing_autocomplete.handler)
+	if (node_pool && !watch_core_gui_editing_autocomplete.handler)
 		watch_bool (&watch_core_gui_editing_autocomplete);
 	return watch_core_gui_editing_autocomplete.var;
 }
@@ -3973,27 +3973,27 @@ gnm_conf_get_stf_export_encoding_node (void)
 	return get_watch_node (&watch_stf_export_encoding);
 }
 
-static struct cb_watch_int watch_stf_export_format = {
+static struct cb_watch_enum watch_stf_export_format = {
 	0, "stf/export/format",
 	"Text Export Formating Rule",
 	"Please use the Text Export dialog to edit this value.",
-	0, 2, 0,
+	GNM_STF_FORMAT_AUTO,
 };
 
-int
+GnmStfFormatMode
 gnm_conf_get_stf_export_format (void)
 {
 	if (!watch_stf_export_format.handler)
-		watch_int (&watch_stf_export_format);
+		watch_enum (&watch_stf_export_format, GNM_STF_FORMAT_MODE_TYPE);
 	return watch_stf_export_format.var;
 }
 
 void
-gnm_conf_set_stf_export_format (int x)
+gnm_conf_set_stf_export_format (GnmStfFormatMode x)
 {
 	if (!watch_stf_export_format.handler)
-		watch_int (&watch_stf_export_format);
-	set_int (&watch_stf_export_format, x);
+		watch_enum (&watch_stf_export_format, GNM_STF_FORMAT_MODE_TYPE);
+	set_enum (&watch_stf_export_format, x);
 }
 
 GOConfNode *
@@ -4032,27 +4032,27 @@ gnm_conf_get_stf_export_locale_node (void)
 	return get_watch_node (&watch_stf_export_locale);
 }
 
-static struct cb_watch_int watch_stf_export_quoting = {
+static struct cb_watch_enum watch_stf_export_quoting = {
 	0, "stf/export/quoting",
 	"Text Export String Quoting Rule",
 	"Please use the Text Export dialog to edit this value.",
-	0, 2, 1,
+	GSF_OUTPUT_CSV_QUOTING_MODE_AUTO,
 };
 
-int
+GsfOutputCsvQuotingMode
 gnm_conf_get_stf_export_quoting (void)
 {
 	if (!watch_stf_export_quoting.handler)
-		watch_int (&watch_stf_export_quoting);
+		watch_enum (&watch_stf_export_quoting, GSF_OUTPUT_CSV_QUOTING_MODE_TYPE);
 	return watch_stf_export_quoting.var;
 }
 
 void
-gnm_conf_set_stf_export_quoting (int x)
+gnm_conf_set_stf_export_quoting (GsfOutputCsvQuotingMode x)
 {
 	if (!watch_stf_export_quoting.handler)
-		watch_int (&watch_stf_export_quoting);
-	set_int (&watch_stf_export_quoting, x);
+		watch_enum (&watch_stf_export_quoting, GSF_OUTPUT_CSV_QUOTING_MODE_TYPE);
+	set_enum (&watch_stf_export_quoting, x);
 }
 
 GOConfNode *
diff --git a/src/gnumeric-conf.h b/src/gnumeric-conf.h
index 798c9f7..9d96efc 100644
--- a/src/gnumeric-conf.h
+++ b/src/gnumeric-conf.h
@@ -3,6 +3,8 @@
 # define _GNM_GCONF_H_
 
 #include "gnumeric.h"
+#include <gsf/gsf-output-csv.h>
+#include "stf-export.h"
 
 G_BEGIN_DECLS
 
@@ -466,16 +468,16 @@ const char *gnm_conf_get_stf_export_encoding (void);
 void gnm_conf_set_stf_export_encoding (const char *x);
 
 GOConfNode *gnm_conf_get_stf_export_format_node (void);
-int gnm_conf_get_stf_export_format (void);
-void gnm_conf_set_stf_export_format (int x);
+GnmStfFormatMode gnm_conf_get_stf_export_format (void);
+void gnm_conf_set_stf_export_format (GnmStfFormatMode x);
 
 GOConfNode *gnm_conf_get_stf_export_locale_node (void);
 const char *gnm_conf_get_stf_export_locale (void);
 void gnm_conf_set_stf_export_locale (const char *x);
 
 GOConfNode *gnm_conf_get_stf_export_quoting_node (void);
-int gnm_conf_get_stf_export_quoting (void);
-void gnm_conf_set_stf_export_quoting (int x);
+GsfOutputCsvQuotingMode gnm_conf_get_stf_export_quoting (void);
+void gnm_conf_set_stf_export_quoting (GsfOutputCsvQuotingMode x);
 
 GOConfNode *gnm_conf_get_stf_export_separator_node (void);
 const char *gnm_conf_get_stf_export_separator (void);
diff --git a/tools/ChangeLog b/tools/ChangeLog
index c8cd287..013dab0 100644
--- a/tools/ChangeLog
+++ b/tools/ChangeLog
@@ -1,5 +1,10 @@
 2012-11-10  Andreas J Guelzow <aguelzow pyrshep ca>
 
+	* handle-conf-options: use enums for stf export setings and add 
+	custom tests
+
+2012-11-10  Andreas J Guelzow <aguelzow pyrshep ca>
+
 	* handle-conf-options: add introspection markup
 
 2012-11-10  Andreas J Guelzow <aguelzow pyrshep ca>
diff --git a/tools/handle-conf-options b/tools/handle-conf-options
index e36c563..31164b1 100644
--- a/tools/handle-conf-options
+++ b/tools/handle-conf-options
@@ -361,16 +361,21 @@ my %extra_attributes =
      },
 
      '/org/gnome/gnumeric/stf/export/format' => {
-	 'min' => 0,
-	 'max' => 2,
+	'gtype' => 'GNM_STF_FORMAT_MODE_TYPE',
+	'default' => 'GNM_STF_FORMAT_AUTO',  # Should match schema
      },
 
      '/org/gnome/gnumeric/stf/export/quoting' => {
-	 'min' => 0,
-	 'max' => 2,
+	'gtype' => 'GSF_OUTPUT_CSV_QUOTING_MODE_TYPE',
+	'default' => 'GSF_OUTPUT_CSV_QUOTING_MODE_AUTO',  # Should match schema
+     },
+
+     '/org/gnome/gnumeric/core/gui/editing/autocomplete' => {
+	 'extrabooltest' => 'node_pool && ',
      },
 
     );
+
 foreach my $key (keys %extra_attributes) {
     my $newkey = $key;
     if ($newkey eq '/apps/gnome-settings/gnumeric/toolbar_style') {
@@ -433,6 +438,8 @@ sub create_hcfile {
 	 'GTK_TYPE_UNIT' => 'GtkUnit',
 	 'GTK_TYPE_TOOLBAR_STYLE' => 'GtkToolbarStyle',
 	 'GTK_TYPE_POSITION' => 'GtkPositionType',
+	 'GNM_STF_FORMAT_MODE_TYPE' => 'GnmStfFormatMode',
+	 'GSF_OUTPUT_CSV_QUOTING_MODE_TYPE' => 'GsfOutputCsvQuotingMode',
 	);
 
     my $cfile = "";
@@ -448,6 +455,8 @@ sub create_hcfile {
 	my $default = $schema->{'default'};
 	my $min = $schema->{'min'};
 	my $max = $schema->{'max'};
+	my $extrabooltest = $schema->{'extrabooltest'};
+	$extrabooltest = '' unless defined $extrabooltest;
 	my $gtype = ($schema->{'gtype'} || '0');
 
 	my $ctype = $type_to_ctype{$gtype || $type};
@@ -501,7 +510,7 @@ sub create_hcfile {
 
 	    $cfile .= "$get_head\n";
 	    $cfile .= "{\n";
-	    $cfile .= "\tif (!$watch_name.handler)\n";
+	    $cfile .= "\tif ($extrabooltest!$watch_name.handler)\n";
 	    $cfile .= "\t\twatch_bool (&$watch_name);\n";
 	    $cfile .= "\treturn $watch_name.var;\n";
 	    $cfile .= "}\n\n";



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