[gnumeric] ssindex: simplify.



commit 7c66aa34c84c14c1486a75b584d7e1a50a38839a
Author: Morten Welinder <terra gnome org>
Date:   Wed May 14 21:41:09 2014 -0400

    ssindex: simplify.

 ChangeLog     |    2 ++
 src/ssindex.c |   21 ++++++++++-----------
 2 files changed, 12 insertions(+), 11 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index bcf9015..738b4b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2014-05-14  Morten Welinder  <terra gnome org>
 
+       * src/ssindex.c (ssindex): Use gnm_object_has_readable_prop.
+
        * src/gutils.c (gnm_object_has_readable_prop): New function.
 
        * configure.ac (scrollkeeper): Test if we have it.
diff --git a/src/ssindex.c b/src/ssindex.c
index b23c778..f30a484 100644
--- a/src/ssindex.c
+++ b/src/ssindex.c
@@ -169,7 +169,6 @@ static int
 ssindex (char const *file, GOIOContext *ioc)
 {
        int i, res = 0;
-       GParamSpec *pspec;
        GSList     *objs, *ptr;
        char       *str = go_shell_arg_to_uri (file);
        IndexerState state;
@@ -204,17 +203,17 @@ ssindex (char const *file, GOIOContext *ioc)
                /* now the objects */
                objs = sheet_objects_get (state.sheet, NULL, G_TYPE_NONE);
                for (ptr = objs ; ptr != NULL ; ptr = ptr->next) {
-                       pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (ptr->data), "text");
-                       if (pspec != NULL) {
-                               g_object_get (G_OBJECT (ptr->data), "text", &str, NULL);
-                               if (str != NULL) {
-                                       gsf_xml_out_simple_element (state.output,
-                                               "data", str);
-                                       g_free (str);
-                               }
-                       } else if (IS_SHEET_OBJECT_GRAPH (ptr->data))
+                       GObject *obj = ptr->data;
+                       char *str = NULL;
+                       if (gnm_object_has_readable_prop (obj, "text",
+                                                         G_TYPE_STRING, &str) &&
+                           str) {
+                               gsf_xml_out_simple_element (state.output,
+                                                           "data", str);
+                               g_free (str);
+                       } else if (IS_SHEET_OBJECT_GRAPH (obj))
                                ssindex_chart (&state,
-                                       (GogObject *)sheet_object_graph_get_gog (ptr->data));
+                                              (GogObject *)sheet_object_graph_get_gog (SHEET_OBJECT (obj)));
                }
                g_slist_free (objs);
 


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