diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2015-01-11 20:20:18 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2015-01-11 20:20:18 +0100 |
| commit | 7779510229bb478f591cc67c0cb0e2fbb84fdb98 (patch) | |
| tree | cceb9e8dfa95a962ca7605fb34e3a3c64503b7ab /src/generators.c | |
| parent | 28b31f6d427056c5629c7b2af97503f67079ec09 (diff) | |
| download | cataract-7779510229bb478f591cc67c0cb0e2fbb84fdb98.tar.xz | |
generators: Remove unnecessary picture page global block
Turned out there was no need for having most of the picture page
closed in a block.
Diffstat (limited to 'src/generators.c')
| -rw-r--r-- | src/generators.c | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/src/generators.c b/src/generators.c index cc1cc0a..a7f94cb 100644 --- a/src/generators.c +++ b/src/generators.c @@ -938,9 +938,10 @@ write_html_page (TGallerySetup *setup, GHashTable *defines; GHashTable *local_defines; TImageSize *image_size, *thumb_image_size; - ExifData *exif; + ExifData *exif, *local_exif; res = TRUE; + exif = NULL; fin = fopen (template_src, "r"); if (fin == NULL) { @@ -970,7 +971,7 @@ write_html_page (TGallerySetup *setup, replace_table_add_key (global_replace_table, "PAGE_TITLE", s1); g_free (s1); } else { - /* Single image title is filled in by process_img_item() */ + /* Filled below for picture page */ } /* Simple placeholders */ @@ -1011,16 +1012,19 @@ write_html_page (TGallerySetup *setup, thumb_image_size = lookup_image_size_for_name (setup, items->type == GALLERY_TYPE_ALBUM ? theme->album_thumb_size : theme->index_thumb_size); } - /* Previous and next links, next image preload */ - if (item != NULL) + /* Picture page tags */ + if (item != NULL) { add_next_prev_links (setup, path_info, theme, items, item, global_replace_table, image_size); + if (image_size != NULL) + exif = get_img_exif_data (setup, path_info, items, item, image_size); + process_img_item (setup, path_info, theme, items, item, block_parser, global_replace_table, defines, image_size, thumb_image_size, exif, FALSE); + } /* Setup block parser */ block_parser_register_key (block_parser, "IMG_LIST", "IMG_LIST"); block_parser_register_key (block_parser, "LIST_PICTURE", NULL); block_parser_register_key (block_parser, "LIST_SEPARATOR", NULL); block_parser_register_key (block_parser, "LIST_INTERSPACE", NULL); - block_parser_register_key (block_parser, "SINGLE_PICTURE", "SINGLE_PICTURE"); block_parser_register_key (block_parser, "NAV_BAR", "NAV_BAR"); block_parser_register_key (block_parser, "NAV_BAR_FIRST", NULL); block_parser_register_key (block_parser, "NAV_BAR_ELEM", NULL); @@ -1048,15 +1052,15 @@ write_html_page (TGallerySetup *setup, local_replace_table = replace_table_new (); local_defines = clone_string_hash_table (defines); s1 = NULL; - exif = NULL; + local_exif = NULL; switch (iter_item->type) { case INDEX_ITEM_TYPE_PICTURE: if (! iter_item->hidden) { s1 = block_parser_get_data (block_parser, "LIST_PICTURE"); if (image_size != NULL) - exif = get_img_exif_data (setup, path_info, items, iter_item, image_size); - process_img_item (setup, path_info, theme, items, iter_item, local_block_parser, local_replace_table, local_defines, image_size, thumb_image_size, exif, TRUE); + local_exif = get_img_exif_data (setup, path_info, items, iter_item, image_size); + process_img_item (setup, path_info, theme, items, iter_item, local_block_parser, local_replace_table, local_defines, image_size, thumb_image_size, local_exif, TRUE); } break; @@ -1077,7 +1081,7 @@ write_html_page (TGallerySetup *setup, g_free (s2); g_free (s1); } - exif_data_free (exif); + exif_data_free (local_exif); block_parser_free (local_block_parser); replace_table_free (local_replace_table); g_hash_table_destroy (local_defines); @@ -1091,22 +1095,6 @@ write_html_page (TGallerySetup *setup, block_parser_set_as_used (block_parser, "IMG_LIST"); } - if (block_parser_has_unused_data (block_parser, "SINGLE_PICTURE")) { - local_block_parser = block_parser_new (); - exif = NULL; - if (image_size != NULL) - exif = get_img_exif_data (setup, path_info, items, item, image_size); - process_img_item (setup, path_info, theme, items, item, local_block_parser, global_replace_table, defines, image_size, thumb_image_size, exif, FALSE); - s1 = block_parser_get_data (block_parser, "SINGLE_PICTURE"); - s2 = process_block (setup, local_block_parser, global_replace_table, defines, s1); - replace_table_process (&s2, global_replace_table); - replace_table_add_key (global_replace_table, "SINGLE_PICTURE", s2); - exif_data_free (exif); - block_parser_free (local_block_parser); - g_free (s1); - g_free (s2); - } - if (block_parser_has_unused_data (block_parser, "NAV_BAR")) { s2 = item != NULL ? GET_ITEM_TARGET_FILENAME (item) : NULL; s1 = make_navbar_string (setup, theme, block_parser, defines, items, item ? get_item_index (items, item) : -1, s2 ? s2 : items->ID); @@ -1133,6 +1121,7 @@ write_html_page (TGallerySetup *setup, fclose (fout); fclose (fin); g_free (buffer); + exif_data_free (exif); g_hash_table_destroy (defines); replace_table_free (global_replace_table); block_parser_free (block_parser); |
