diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2011-05-29 19:00:44 +0200 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2011-05-29 19:00:44 +0200 |
| commit | 75bb13e531654a561dc7baa2f2bc594aa4a8fc52 (patch) | |
| tree | 0b80f48e53d969292b2ffd401cb06470a1156bff /src/items.h | |
| parent | eb3092f8bd30d065c4e6f4bf0159309e1a960156 (diff) | |
| download | cataract-75bb13e531654a561dc7baa2f2bc594aa4a8fc52.tar.xz | |
Introduce new theming system
This extends current templating system to another dimension,
bringing the possibility to have multiple themes generated
at once. The purpose is to be able to switch between multiple
designs, from PC to mobile, classic vs. flat view, slideshow, etc.
For the moment, only the classic theme is available.
Rules:
* for switching between themes, place a link inside your template
manually - it's not a cgg concern, only your theming infrastructure
* don't forget to define different file names for index and album
pages across different themes
* it's recommended to keep default theme named as "index.*" to avoid
showing directory listing on webserver
Notes:
* some TODOs will be fixed when we have new theme using these advanced
features (e.g. pictures in album pages)
* TODO: introduce tag/block conditional system, allow custom user
defines for each theme/page
* TODO: deprecate <show_go_up>, <show_exif_table> and <border style>
in favor of conditionals (these tags belong to theming)
Diffstat (limited to 'src/items.h')
| -rw-r--r-- | src/items.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/items.h b/src/items.h index e83961a..cef184c 100644 --- a/src/items.h +++ b/src/items.h @@ -74,15 +74,21 @@ typedef struct { } TIndexItem; typedef struct { - gchar *source_root; /* relative or absolute path of the source root */ - gchar *dest_root; /* relative or absolute path of the output directory */ - gchar *src_dir; /* album source directory */ - gchar *dest_dir; /* album output directory */ - gchar *album_path; /* current path in the gallery hierarchy, starting with '/' */ + gchar *templates_root; /* relative or absolute path of design templates directory */ + gchar *source_root; /* relative or absolute path of the source root */ + gchar *dest_root; /* relative or absolute path of the output directory */ + gchar *src_dir; /* album source directory */ + gchar *dest_dir; /* album output directory */ + gchar *album_path; /* current path in the gallery hierarchy, starting with '/' */ } TPathInfo; /* + * GET_ITEM_TARGET_FILENAME: get target item filename + */ +#define GET_ITEM_TARGET_FILENAME(i) g_path_get_basename ((i->path == NULL && i->preview) ? i->preview : i->path); + +/* * parse_album_xml: XML parser for gallery index.xml files */ TAlbum * parse_album_xml (const gchar *filename, TPathInfo *path_info); @@ -103,6 +109,11 @@ int get_album_objects_count (const gchar *filename); void get_album_titles (const gchar *filename, gchar **title, gchar **description, gchar **thumbnail); /* + * get_child_gallery_type: retrieve gallery type from the source XML file + */ +TGalleryType get_child_gallery_type (const gchar *filename); + +/* * free_path_info: free allocated pathinfo data */ void free_path_info (TPathInfo *path_info); |
