]> git.sur5r.net Git - glabels/blobdiff - glabels2/src/merge.c
2009-09-17 Jim Evins <evins@snaught.com>
[glabels] / glabels2 / src / merge.c
index cc10779ec17f3dcb0f8c761cc7842b7fa80cb279..56e14813fba9f70be6f557dbe4c90fb33d5ede0a 100644 (file)
@@ -1,31 +1,32 @@
 /*
- *  (GLABELS) Label and Business Card Creation program for GNOME
+ *  merge.c
+ *  Copyright (C) 2001-2009  Jim Evins <evins@snaught.com>.
  *
- *  merge.c:  document merge module
+ *  This file is part of gLabels.
  *
- *  Copyright (C) 2001-2002  Jim Evins <evins@snaught.com>.
- *
- *  This program is free software; you can redistribute it and/or modify
+ *  gLabels is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
+ *  the Free Software Foundation, either version 3 of the License, or
  *  (at your option) any later version.
  *
- *  This program is distributed in the hope that it will be useful,
+ *  gLabels is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *  along with gLabels.  If not, see <http://www.gnu.org/licenses/>.
  */
+
 #include <config.h>
 
-#include <gnome.h>
+#include "merge.h"
+
+#include <glib/gi18n.h>
 #include <gobject/gvaluecollector.h>
 #include <string.h>
 
-#include "merge.h"
+#include <libglabels/libglabels.h>
 
 #include "debug.h"
 
@@ -62,16 +63,12 @@ typedef struct {
 /* Private globals.                                       */
 /*========================================================*/
 
-static GObjectClass *parent_class = NULL;
-
 static GList *backends = NULL;
 
 /*========================================================*/
 /* Private function prototypes.                           */
 /*========================================================*/
 
-static void           gl_merge_class_init    (glMergeClass   *klass);
-static void           gl_merge_instance_init (glMerge        *object);
 static void           gl_merge_finalize      (GObject        *object);
 
 static void           merge_open             (glMerge        *merge);
@@ -124,13 +121,13 @@ gl_merge_register_backend (GType              type,
 
                class = g_type_class_ref (type);
                if (class == NULL) {
-                       g_warning ("%s: unknown object type %d",
-                                  G_STRLOC, type);
+                       g_message ("%s: unknown object type %d",
+                                  G_STRLOC, (int)type);
                        break;
                }
                pspec = g_object_class_find_property (class, pname);
                if (pspec == NULL) {
-                       g_warning ("%s: object class `%s' has no property named `%s'",
+                       g_message ("%s: object class `%s' has no property named `%s'",
                                   G_STRLOC, g_type_name (type), pname);
                        break;
                }
@@ -143,7 +140,7 @@ gl_merge_register_backend (GType              type,
                g_value_init (&params[n_params].value, pspec->value_type);
                G_VALUE_COLLECT (&params[n_params].value, args, 0, &error);
                if (error) {
-                       g_warning ("%s: %s", G_STRLOC, error);
+                       g_message ("%s: %s", G_STRLOC, error);
                        g_free (error);
                        break;
                }
@@ -210,13 +207,13 @@ gl_merge_description_to_name (gchar *description)
        GList   *p;
        Backend *backend;
 
-       if (g_strcasecmp(description, _("None")) == 0) {
+       if (lgl_str_utf8_casecmp(description, _("None")) == 0) {
                return g_strdup("None");
        }
 
        for ( p=backends; p!=NULL; p=p->next) {
                backend = (Backend *)p->data;
-               if (g_strcasecmp(description, backend->description) == 0) {
+               if (lgl_str_utf8_casecmp(description, backend->description) == 0) {
                        return g_strdup(backend->name);
                }
        }
@@ -227,39 +224,16 @@ gl_merge_description_to_name (gchar *description)
 /*****************************************************************************/
 /* Boilerplate object stuff.                                                 */
 /*****************************************************************************/
-GType
-gl_merge_get_type (void)
-{
-       static GType type = 0;
-
-       if (!type) {
-               GTypeInfo info = {
-                       sizeof (glMergeClass),
-                       NULL,
-                       NULL,
-                       (GClassInitFunc) gl_merge_class_init,
-                       NULL,
-                       NULL,
-                       sizeof (glMerge),
-                       0,
-                       (GInstanceInitFunc) gl_merge_instance_init,
-               };
-
-               type = g_type_register_static (G_TYPE_OBJECT,
-                                              "glMerge", &info, 0);
-       }
-
-       return type;
-}
+G_DEFINE_TYPE (glMerge, gl_merge, G_TYPE_OBJECT);
 
 static void
-gl_merge_class_init (glMergeClass *klass)
+gl_merge_class_init (glMergeClass *class)
 {
-       GObjectClass *object_class = (GObjectClass *) klass;
+       GObjectClass *object_class = G_OBJECT_CLASS (class);
 
        gl_debug (DEBUG_MERGE, "START");
 
-       parent_class = g_type_class_peek_parent (klass);
+       gl_merge_parent_class = g_type_class_peek_parent (class);
 
        object_class->finalize = gl_merge_finalize;
 
@@ -267,11 +241,11 @@ gl_merge_class_init (glMergeClass *klass)
 }
 
 static void
-gl_merge_instance_init (glMerge *merge)
+gl_merge_init (glMerge *merge)
 {
        gl_debug (DEBUG_MERGE, "START");
 
-       merge->private = g_new0 (glMergePrivate, 1);
+       merge->priv = g_new0 (glMergePrivate, 1);
 
        gl_debug (DEBUG_MERGE, "END");
 }
@@ -279,17 +253,19 @@ gl_merge_instance_init (glMerge *merge)
 static void
 gl_merge_finalize (GObject *object)
 {
+       glMerge *merge = GL_MERGE (object);
+
        gl_debug (DEBUG_MERGE, "START");
 
        g_return_if_fail (object && GL_IS_MERGE (object));
 
-       merge_free_record_list (&GL_MERGE(object)->private->record_list);
-       g_free (GL_MERGE(object)->private->name);
-       g_free (GL_MERGE(object)->private->description);
-       g_free (GL_MERGE(object)->private->src);
-       g_free (GL_MERGE(object)->private);
+       merge_free_record_list (&merge->priv->record_list);
+       g_free (merge->priv->name);
+       g_free (merge->priv->description);
+       g_free (merge->priv->src);
+       g_free (merge->priv);
 
-       G_OBJECT_CLASS (parent_class)->finalize (object);
+       G_OBJECT_CLASS (gl_merge_parent_class)->finalize (object);
 
        gl_debug (DEBUG_MERGE, "END");
 }
@@ -315,16 +291,16 @@ gl_merge_new (gchar *name)
                                                         backend->n_params,
                                                         backend->params));
 
-                       merge->private->name        = g_strdup (name);
-                       merge->private->description = g_strdup (backend->description);
-                       merge->private->src_type    = backend->src_type;
+                       merge->priv->name        = g_strdup (name);
+                       merge->priv->description = g_strdup (backend->description);
+                       merge->priv->src_type    = backend->src_type;
 
                        break;
                }
        }
 
        if ( (merge == NULL) && (g_strcasecmp (name, "None") != 0)) {
-               g_warning ("Unknown merge backend \"%s\"", name);
+               g_message ("Unknown merge backend \"%s\"", name);
        }
 
        gl_debug (DEBUG_MERGE, "END");
@@ -350,12 +326,12 @@ gl_merge_dup (glMerge *src_merge)
        g_return_val_if_fail (GL_IS_MERGE (src_merge), NULL);
 
        dst_merge = g_object_new (G_OBJECT_TYPE(src_merge), NULL);
-       dst_merge->private->name        = g_strdup (src_merge->private->name);
-       dst_merge->private->description = g_strdup (src_merge->private->description);
-       dst_merge->private->src         = g_strdup (src_merge->private->src);
-       dst_merge->private->src_type    = src_merge->private->src_type;
-       dst_merge->private->record_list 
-               = merge_dup_record_list (src_merge->private->record_list);
+       dst_merge->priv->name        = g_strdup (src_merge->priv->name);
+       dst_merge->priv->description = g_strdup (src_merge->priv->description);
+       dst_merge->priv->src         = g_strdup (src_merge->priv->src);
+       dst_merge->priv->src_type    = src_merge->priv->src_type;
+       dst_merge->priv->record_list 
+               = merge_dup_record_list (src_merge->priv->record_list);
 
        if ( GL_MERGE_GET_CLASS(src_merge)->copy != NULL ) {
 
@@ -383,7 +359,7 @@ gl_merge_get_name (glMerge *merge)
 
        g_return_val_if_fail (GL_IS_MERGE (merge), g_strdup("None"));
 
-       return g_strdup(merge->private->name);
+       return g_strdup(merge->priv->name);
 }
 
 /*****************************************************************************/
@@ -400,7 +376,7 @@ gl_merge_get_description (glMerge *merge)
 
        g_return_val_if_fail (GL_IS_MERGE (merge), g_strdup(_("None")));
 
-       return g_strdup(merge->private->description);
+       return g_strdup(merge->priv->description);
 }
 
 /*****************************************************************************/
@@ -417,7 +393,7 @@ gl_merge_get_src_type (glMerge *merge)
 
        g_return_val_if_fail (GL_IS_MERGE (merge), GL_MERGE_SRC_IS_FIXED);
 
-       return merge->private->src_type;
+       return merge->priv->src_type;
 }
 
 /*****************************************************************************/
@@ -432,31 +408,43 @@ gl_merge_set_src (glMerge *merge,
 
        gl_debug (DEBUG_MERGE, "START");
 
-       g_return_if_fail (merge && GL_IS_MERGE (merge));
+       if (merge == NULL)
+       {
+               gl_debug (DEBUG_MERGE, "END (NULL)");
+               return;
+       }
+
+       g_return_if_fail (GL_IS_MERGE (merge));
 
-       if ( src == NULL) {
+       if ( src == NULL)
+       {
 
-               if ( merge->private->src != NULL ) {
-                       g_free (merge->private->src);
+               if ( merge->priv->src != NULL )
+               {
+                       g_free (merge->priv->src);
                }
-               merge->private->src = NULL;
-               merge_free_record_list (&merge->private->record_list);
+               merge->priv->src = NULL;
+               merge_free_record_list (&merge->priv->record_list);
 
-       } else {
+       }
+       else
+       {
 
-               if ( merge->private->src != NULL ) {
-                       g_free(merge->private->src);
+               if ( merge->priv->src != NULL )
+               {
+                       g_free(merge->priv->src);
                }
-               merge->private->src = g_strdup (src);
+               merge->priv->src = g_strdup (src);
 
-               merge_free_record_list (&merge->private->record_list);
+               merge_free_record_list (&merge->priv->record_list);
                        
                merge_open (merge);
-               while ( (record = merge_get_record (merge)) != NULL ) {
+               while ( (record = merge_get_record (merge)) != NULL )
+               {
                        record_list = g_list_append( record_list, record );
                }
                merge_close (merge);
-               merge->private->record_list = record_list;
+               merge->priv->record_list = record_list;
 
        }
                     
@@ -478,7 +466,7 @@ gl_merge_get_src (glMerge *merge)
 
        g_return_val_if_fail (GL_IS_MERGE (merge), NULL);
 
-       return g_strdup(merge->private->src);
+       return g_strdup(merge->priv->src);
 }
 
 /*****************************************************************************/
@@ -696,7 +684,7 @@ gl_merge_eval_key (glMergeRecord *record,
 
        gl_debug (DEBUG_MERGE, "START");
 
-       if ( (record != NULL) && record->select_flag  ) {
+       if ( (record != NULL) ) {
                for (p = record->field_list; p != NULL; p = p->next) {
                        field = (glMergeField *) p->data;
 
@@ -721,7 +709,7 @@ gl_merge_get_record_list (glMerge *merge)
        gl_debug (DEBUG_MERGE, "");
              
        if ( merge != NULL ) {
-               return merge->private->record_list;
+               return merge->priv->record_list;
        } else {
                return NULL;
        }
@@ -788,7 +776,7 @@ gl_merge_get_record_count (glMerge *merge)
        gl_debug (DEBUG_MERGE, "START");
 
        count = 0;
-       for ( p=merge->private->record_list; p!=NULL; p=p->next ) {
+       for ( p=merge->priv->record_list; p!=NULL; p=p->next ) {
                record = (glMergeRecord *)p->data;
 
                if ( record->select_flag ) count ++;
@@ -800,3 +788,12 @@ gl_merge_get_record_count (glMerge *merge)
 }
 
 
+
+/*
+ * Local Variables:       -- emacs
+ * mode: C                -- emacs
+ * c-basic-offset: 8      -- emacs
+ * tab-width: 8           -- emacs
+ * indent-tabs-mode: nil  -- emacs
+ * End:                   -- emacs
+ */