diff options
Diffstat (limited to 'src/setup.c')
| -rw-r--r-- | src/setup.c | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/src/setup.c b/src/setup.c index f394838..521b184 100644 --- a/src/setup.c +++ b/src/setup.c @@ -101,9 +101,7 @@ parse_setup_xml (const gchar *filename, TGallerySetup *setup) setup->template_files = g_strsplit (s, "\n", -1); g_free (s); } - s = xml_file_get_node_attribute (xml, "/gallery_setup/templates/support_files_use_common_root", "value"); - setup->support_files_use_common_root = s ? strcasecmp (s, "yes") == 0 : FALSE; /* default to FALSE */ - g_free (s); + setup->support_files_use_common_root = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/templates/support_files_use_common_root", "value", FALSE); setup->index_file_name = xml_file_get_node_value (xml, "/gallery_setup/templates/index_file/text()"); if (setup->index_file_name == NULL || strlen (setup->index_file_name) == 0) setup->index_file_name = g_strdup (DEFAULT_INDEX_FILENAME); @@ -121,7 +119,6 @@ parse_setup_xml (const gchar *filename, TGallerySetup *setup) if (setup->thumbnail_name_format == NULL || strlen (setup->thumbnail_name_format) == 0 || strstr (setup->thumbnail_name_format, "%s") == NULL) setup->thumbnail_name_format = g_strdup (DEFAULT_THUMBNAIL_NAME_FORMAT); - setup->thumbnail_landscape_width = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "landscape_w", 0); setup->thumbnail_landscape_height = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "landscape_h", 0); setup->thumbnail_portrait_width = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "portrait_w", 0); @@ -135,39 +132,31 @@ parse_setup_xml (const gchar *filename, TGallerySetup *setup) setup->footer = xml_file_get_node_value (xml, "/gallery_setup/footer/text()"); setup->border_style = xml_file_get_node_attribute (xml, "/gallery_setup/images/border", "style"); setup->meta_author = xml_file_get_node_value (xml, "/gallery_setup/meta/author/text()"); + setup->meta_author_email = xml_file_get_node_value (xml, "/gallery_setup/meta/author_email/text()"); setup->meta_description = xml_file_get_node_value (xml, "/gallery_setup/meta/description/text()"); setup->meta_keywords = xml_file_get_node_value (xml, "/gallery_setup/meta/keywords/text()"); - s = xml_file_get_node_attribute (xml, "/gallery_setup/images/preload", "value"); - setup->preload = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */ - g_free (s); - s = xml_file_get_node_attribute (xml, "/gallery_setup/images/use_iptc_exif", "value"); - setup->use_iptc_exif = s ? strcasecmp (s, "yes") == 0 : FALSE; /* default to FALSE */ - g_free (s); - s = xml_file_get_node_attribute (xml, "/gallery_setup/images/erase_embed_thumbnail", "value"); - setup->erase_exif_thumbnail = s ? strcasecmp (s, "yes") == 0 : FALSE; /* default to FALSE */ - g_free (s); - s = xml_file_get_node_attribute (xml, "/gallery_setup/meta/use_title_as_meta", "value"); - setup->use_title_as_meta = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */ - g_free (s); + setup->preload = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/images/preload", "value", TRUE); + setup->use_iptc_exif = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/images/use_iptc_exif", "value", FALSE); + setup->erase_exif_thumbnail = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/images/erase_embed_thumbnail", "value", FALSE); + setup->use_title_as_meta = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/meta/use_title_as_meta", "value", TRUE); setup->site_title = xml_file_get_node_attribute (xml, "/gallery_setup/meta/site", "title"); setup->add_copyright = xml_file_get_node_value (xml, "/gallery_setup/meta/add_copyright/text()"); - s = xml_file_get_node_attribute (xml, "/gallery_setup/navigation/use_inpage_links", "value"); - setup->use_inpage_links = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */ - g_free (s); - s = xml_file_get_node_attribute (xml, "/gallery_setup/navigation/show_go_up", "value"); - setup->show_go_up = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */ - g_free (s); - s = xml_file_get_node_attribute (xml, "/gallery_setup/navigation/show_exif_table", "value"); - setup->show_exif_table = s ? strcasecmp (s, "yes") == 0 : TRUE; /* default to TRUE */ - g_free (s); + setup->use_inpage_links = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/navigation/use_inpage_links", "value", TRUE); + setup->show_go_up = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/navigation/show_go_up", "value", TRUE); + setup->show_exif_table = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/navigation/show_exif_table", "value", TRUE); setup->nofullsize = xml_file_get_node_present (xml, "/gallery_setup/images/nofullsize"); setup->favicon_file = xml_file_get_node_value (xml, "/gallery_setup/meta/favicon/text()"); setup->favicon_type = xml_file_get_node_attribute (xml, "/gallery_setup/meta/favicon", "type"); + setup->feed_enabled = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/feed", "enable", FALSE); + setup->feed_filename = xml_file_get_node_value (xml, "/gallery_setup/feed/filename/text()"); + setup->feed_title = xml_file_get_node_value (xml, "/gallery_setup/feed/title/text()"); + setup->feed_base_url = xml_file_get_node_value (xml, "/gallery_setup/feed/base_url/text()"); + xml_parser_close (xml); return TRUE; } @@ -238,6 +227,7 @@ free_setup_data (TGallerySetup *setup) g_free (setup->index_file_name); g_free (setup->footer); g_free (setup->meta_author); + g_free (setup->meta_author_email); g_free (setup->border_style); g_free (setup->site_title); g_free (setup->add_copyright); @@ -247,6 +237,9 @@ free_setup_data (TGallerySetup *setup) g_free (setup->img_big_dir); g_free (setup->img_orig_dir); g_free (setup->thumbnail_name_format); + g_free (setup->feed_filename); + g_free (setup->feed_title); + g_free (setup->feed_base_url); g_free (setup); setup = NULL; } |
