]> git.sur5r.net Git - glabels/commitdiff
2007-11-18 Jim Evins <evins@snaught.com>
authorJim Evins <evins@snaught.com>
Sun, 18 Nov 2007 05:06:41 +0000 (05:06 +0000)
committerJim Evins <evins@snaught.com>
Sun, 18 Nov 2007 05:06:41 +0000 (05:06 +0000)
* libglabels/db.c: (lgl_db_register_template), (read_templates):
When registering a new template, don't add to "User defined" category before
writing to file.  Add to "User defined" category when reading from "~/.glabels"
directory instead.  This will allow legacy templates (and manually created
templates) to be automatically added to the "user defined" category.
* libglabels/xml-template.c:
(lgl_xml_template_create_template_node):
Fixed typo/bug causing brand to be wrong.

git-svn-id: https://glabels.svn.sourceforge.net/svnroot/glabels/trunk@690 f5e0f49d-192f-0410-a22d-a8d8700d0965

glabels2/ChangeLog
glabels2/libglabels/db.c
glabels2/libglabels/xml-template.c

index b0f0df188413477afa70b9c05cd27b193c50a11d..cd93db2829a02657fc1685fa5109628e5ff86c87 100644 (file)
@@ -1,3 +1,14 @@
+2007-11-18  Jim Evins  <evins@snaught.com>
+
+       * libglabels/db.c: (lgl_db_register_template), (read_templates):
+               When registering a new template, don't add to "User defined" category before
+               writing to file.  Add to "User defined" category when reading from "~/.glabels"
+               directory instead.  This will allow legacy templates (and manually created
+               templates) to be automatically added to the "user defined" category.
+       * libglabels/xml-template.c:
+       (lgl_xml_template_create_template_node):
+               Fixed typo/bug causing brand to be wrong.
+       
 2007-11-16  Jim Evins  <evins@snaught.com>
 
        * libglabels/db.c:
index c38294ea89eefac06952b7a02881f2c2a52153f9..8e4f1924a6ca5730a8985c658293b1c631912673 100644 (file)
@@ -1069,20 +1069,19 @@ lgl_db_register_template (const lglTemplate *template)
 
        if (lgl_db_is_paper_id_known (template->paper_id))
         {
-                template_copy = lgl_template_dup (template);
-                lgl_template_add_category (template_copy, "user-defined");
-
                dir = LGL_USER_DATA_DIR;
                mkdir (dir, 0775); /* Try to make sure directory exists. */
                filename = g_strdup_printf ("%s_%s.template", template->brand, template->part);
                abs_filename = g_build_filename (dir, filename, NULL);
-               bytes_written = lgl_xml_template_write_template_to_file (template_copy, abs_filename);
+               bytes_written = lgl_xml_template_write_template_to_file (template, abs_filename);
                g_free (dir);
                g_free (filename);
                g_free (abs_filename);
 
                 if (bytes_written > 0)
                 {
+                        template_copy = lgl_template_dup (template);
+                        lgl_template_add_category (template_copy, "user-defined");
                         templates = g_list_append (templates, template_copy);
                         return LGL_DB_REG_OK;
                 }
@@ -1328,14 +1327,27 @@ lgl_db_lookup_template_from_name (const gchar *name)
 static GList *
 read_templates (void)
 {
-       gchar *data_dir;
-       GList *templates = NULL;
+       gchar       *data_dir;
+       GList       *templates = NULL;
+        GList       *p;
+        lglTemplate *template;
 
-       data_dir = LGL_SYSTEM_DATA_DIR;
+        /*
+         * User defined templates.  Add to user-defined category.
+         */
+       data_dir = LGL_USER_DATA_DIR;
        templates = read_template_files_from_dir (templates, data_dir);
        g_free (data_dir);
+        for ( p=templates; p != NULL; p=p->next )
+        {
+                template = (lglTemplate *)p->data;
+                lgl_template_add_category (template, "user-defined");
+        }
 
-       data_dir = LGL_USER_DATA_DIR;
+        /*
+         * System templates.
+         */
+       data_dir = LGL_SYSTEM_DATA_DIR;
        templates = read_template_files_from_dir (templates, data_dir);
        g_free (data_dir);
 
index 8d83a577a70701d952dfb5afc74b154f89f39618..e4442bec532fbb56139f5e965d92a677be79625d 100644 (file)
@@ -728,7 +728,7 @@ lgl_xml_template_create_template_node (const lglTemplate *template,
 
        node = xmlNewChild (root, ns, (xmlChar *)"Template", NULL);
 
-       lgl_xml_set_prop_string (node, "brand", template->part);
+       lgl_xml_set_prop_string (node, "brand", template->brand);
        lgl_xml_set_prop_string (node, "part", template->part);
 
        lgl_xml_set_prop_string (node, "size", template->paper_id);