]> git.sur5r.net Git - glabels/commitdiff
Added test for duplicate templates
authorJim Evins <evins@snaught.com>
Thu, 22 Apr 2010 02:37:57 +0000 (22:37 -0400)
committerJim Evins <evins@snaught.com>
Thu, 22 Apr 2010 02:37:57 +0000 (22:37 -0400)
Added test for duplicate pre-defined templates.  Removed duplicate
template in pearl-iso-templates.xml.  Also added lgl_template_print() for
debugging purposes.

libglabels/db.c
libglabels/template.c
libglabels/template.h
templates/pearl-iso-templates.xml

index 3370b03ce191a356d72ee9f97301432170227a79..ba01850d56ace241ff032caf587ace6355b6298d 100644 (file)
@@ -1437,9 +1437,16 @@ _lgl_db_register_template_internal (const lglTemplate   *template)
 {
         lglTemplate *template_copy;
 
-        template_copy = lgl_template_dup (template);
-        model->templates = g_list_append (model->templates, template_copy);
-        add_to_template_cache (template_copy);
+        if (!lgl_db_does_template_exist (template->brand, template->part))
+        {
+                template_copy = lgl_template_dup (template);
+                model->templates = g_list_append (model->templates, template_copy);
+                add_to_template_cache (template_copy);
+        }
+        else
+        {
+               g_message ("Duplicate template: %s %s.", template->brand, template->part);
+        }
 }
 
 
index 50271fbb890e442be80157eba52c4fa98a943595..50ba454bca19adac9de38069943d8c801f59b429 100644 (file)
@@ -1474,6 +1474,39 @@ compare_origins (gconstpointer a,
 }
 
 
+/**
+ * lgl_template_print:
+ *   @template: template
+ *
+ * Print template details (for debugging purposes).
+ *
+ */
+void
+lgl_template_print (const lglTemplate *template)
+{
+        GList            *p;
+        lglTemplateAlias *alias;
+
+        g_print ("---- %s( TEMPLATE=%p ) ----\n", __FUNCTION__, template);
+
+        g_print("brand=\"%s\", part=\"%s\", description=\"%s\"\n",
+                template->brand, template->part, template->description);
+
+        g_print("paper_id=\"%s\", page_width=%g, page_height=%g\n",
+                template->paper_id, template->page_width, template->page_height);
+
+        for (p=template->aliases; p!=NULL; p=p->next)
+        {
+                alias = (lglTemplateAlias *)p->data;
+                g_print("Alias: brand=\"%s\", part=\"%s\"\n", alias->brand, alias->part);
+
+        }
+
+        g_print ("\n");
+
+}
+
+
 
 /*
  * Local Variables:       -- emacs
index a3c01115cec276de1bdb58c828f44bdf7fbf2ac5..a7f43fc05270760c9d35400b953d26273d8705a7 100644 (file)
@@ -426,6 +426,12 @@ lglTemplateMarkup   *lgl_template_markup_dup           (const lglTemplateMarkup
 void                 lgl_template_markup_free          (lglTemplateMarkup          *markup);
 
 
+/*
+ * Debugging functions.
+ */
+void                 lgl_template_print                (const lglTemplate          *template);
+
+
 G_END_DECLS
 
 #endif /* __LGL_TEMPLATE_H__ */
index d7724253d4a029b5dba3589cc403e43d9e5ff2a7..c499ce32afcac655f690f82d7166b8509056a23d 100644 (file)
@@ -34,7 +34,7 @@
   <!-- =================================================================== -->
   <!-- PEARL: Adress Labels, 48.8mm x 25.4mm, 40 per sheet                 -->
   <!-- =================================================================== -->
-  <Template brand="PEARL" part="PE 8008, PE 8018" size="A4" description="Adressetiketten">
+  <Template brand="PEARL" part="PE-8008, PE-8018" size="A4" description="Adressetiketten">
     <Meta category="label"/>
     <Meta category="rectangle-label"/>
     <Meta product_url="http://www.pearl.de/a-PE8008-2204.shtml"/>
     </Label-rectangle>
   </Template>
 
-  <!-- =================================================================== -->
-  <!-- PEARL: Adress Labels, 70mm x 36mm, 24 per sheet                     -->
-  <!-- =================================================================== -->
-  <Template brand="PEARL" part="PE-8004, PE-8014" size="A4" description="Adress-Etiketten">
-    <Meta category="label"/>
-    <Meta category="rectangle-label"/>
-    <Meta product_url="http://www.pearl.de/a-PE8004-2204.shtml"/>
-    <Label-rectangle id="0" width="70mm" height="36mm" round="0mm" x_waste="0mm" y_waste="0mm">
-      <Markup-margin size="3.2mm"/>
-      <Layout nx="3" ny="8" x0="0mm" y0="4.8mm" dx="70mm" dy="36mm"/>
-    </Label-rectangle>
-  </Template>
-
   <!-- =================================================================== -->
   <!-- PEARL: Labels, 210mm x 297mm, 1 per sheet                           -->
   <!-- =================================================================== -->