[gthumb: 6/57] added the album themes
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb: 6/57] added the album themes
- Date: Sun, 20 Jun 2010 16:22:15 +0000 (UTC)
commit 33105b6f870585c5b6acbf4202b12290fdafcace
Author: Paolo Bacchilega <paobac src gnome org>
Date: Fri Jun 4 10:35:54 2010 +0200
added the album themes
configure.ac | 7 +
extensions/webalbums/data/Makefile.am | 2 +-
extensions/webalbums/data/albumthemes/.cvsignore | 2 +
.../webalbums/data/albumthemes/BestFit/.cvsignore | 1 +
.../webalbums/data/albumthemes/BestFit/BestFit.css | 369 ++++++++++++++++++++
.../webalbums/data/albumthemes/BestFit/BestFit.js | 260 ++++++++++++++
.../webalbums/data/albumthemes/BestFit/Makefile.am | 21 ++
.../webalbums/data/albumthemes/BestFit/back.png | Bin 0 -> 714 bytes
.../data/albumthemes/BestFit/image.gthtml | 282 +++++++++++++++
.../data/albumthemes/BestFit/index.gthtml | 92 +++++
.../webalbums/data/albumthemes/BestFit/index.js | 147 ++++++++
.../webalbums/data/albumthemes/BestFit/lib.js | 246 +++++++++++++
.../webalbums/data/albumthemes/BestFit/next.png | Bin 0 -> 1110 bytes
.../webalbums/data/albumthemes/BestFit/prev.png | Bin 0 -> 1152 bytes
.../webalbums/data/albumthemes/BestFit/preview.png | Bin 0 -> 19598 bytes
.../data/albumthemes/BestFit/thumbnail.gthtml | 163 +++++++++
.../webalbums/data/albumthemes/Classic/.cvsignore | 2 +
.../webalbums/data/albumthemes/Classic/1.gif | Bin 0 -> 43 bytes
.../webalbums/data/albumthemes/Classic/Makefile.am | 25 ++
.../webalbums/data/albumthemes/Classic/back.png | Bin 0 -> 448 bytes
.../data/albumthemes/Classic/background.gif | Bin 0 -> 43 bytes
.../webalbums/data/albumthemes/Classic/bot.png | Bin 0 -> 331 bytes
.../data/albumthemes/Classic/image.gthtml | 194 ++++++++++
.../data/albumthemes/Classic/index.gthtml | 103 ++++++
.../webalbums/data/albumthemes/Classic/layout.css | 142 ++++++++
.../webalbums/data/albumthemes/Classic/left.png | Bin 0 -> 119 bytes
.../webalbums/data/albumthemes/Classic/next.png | Bin 0 -> 1040 bytes
.../webalbums/data/albumthemes/Classic/prev.png | Bin 0 -> 1063 bytes
.../webalbums/data/albumthemes/Classic/preview.png | Bin 0 -> 37132 bytes
.../webalbums/data/albumthemes/Classic/right.png | Bin 0 -> 182 bytes
.../webalbums/data/albumthemes/Classic/style.css | 93 +++++
.../data/albumthemes/Classic/thumbnail.gthtml | 71 ++++
.../webalbums/data/albumthemes/Classic/top.png | Bin 0 -> 202 bytes
.../data/albumthemes/ClassicClips/.cvsignore | 2 +
.../webalbums/data/albumthemes/ClassicClips/1.gif | Bin 0 -> 68 bytes
.../data/albumthemes/ClassicClips/Makefile.am | 26 ++
.../data/albumthemes/ClassicClips/back.png | Bin 0 -> 774 bytes
.../data/albumthemes/ClassicClips/background.gif | Bin 0 -> 43 bytes
.../data/albumthemes/ClassicClips/bot.png | Bin 0 -> 738 bytes
.../data/albumthemes/ClassicClips/image.gthtml | 194 ++++++++++
.../data/albumthemes/ClassicClips/index.gthtml | 103 ++++++
.../data/albumthemes/ClassicClips/layout.css | 142 ++++++++
.../data/albumthemes/ClassicClips/left.png | Bin 0 -> 452 bytes
.../data/albumthemes/ClassicClips/next.png | Bin 0 -> 1174 bytes
.../data/albumthemes/ClassicClips/prev.png | Bin 0 -> 1200 bytes
.../data/albumthemes/ClassicClips/preview.png | Bin 0 -> 39785 bytes
.../data/albumthemes/ClassicClips/right.png | Bin 0 -> 493 bytes
.../data/albumthemes/ClassicClips/style.css | 93 +++++
.../data/albumthemes/ClassicClips/thumbnail.gthtml | 71 ++++
.../data/albumthemes/ClassicClips/top.png | Bin 0 -> 653 bytes
.../webalbums/data/albumthemes/Flicker/.cvsignore | 2 +
.../webalbums/data/albumthemes/Flicker/Makefile.am | 16 +
.../data/albumthemes/Flicker/image.gthtml | 213 +++++++++++
.../data/albumthemes/Flicker/index.gthtml | 85 +++++
.../webalbums/data/albumthemes/Flicker/layout.css | 118 +++++++
.../webalbums/data/albumthemes/Flicker/preview.png | Bin 0 -> 23944 bytes
.../webalbums/data/albumthemes/Flicker/style.css | 103 ++++++
.../data/albumthemes/Flicker/thumbnail.gthtml | 54 +++
extensions/webalbums/data/albumthemes/Makefile.am | 4 +
.../data/albumthemes/NeatRound/.cvsignore | 2 +
.../webalbums/data/albumthemes/NeatRound/1.gif | Bin 0 -> 68 bytes
.../data/albumthemes/NeatRound/Makefile.am | 25 ++
.../webalbums/data/albumthemes/NeatRound/back.png | Bin 0 -> 860 bytes
.../data/albumthemes/NeatRound/background.gif | Bin 0 -> 43 bytes
.../webalbums/data/albumthemes/NeatRound/bot.png | Bin 0 -> 721 bytes
.../data/albumthemes/NeatRound/image.gthtml | 194 ++++++++++
.../data/albumthemes/NeatRound/index.gthtml | 103 ++++++
.../data/albumthemes/NeatRound/layout.css | 141 ++++++++
.../webalbums/data/albumthemes/NeatRound/left.png | Bin 0 -> 144 bytes
.../webalbums/data/albumthemes/NeatRound/next.png | Bin 0 -> 1417 bytes
.../webalbums/data/albumthemes/NeatRound/prev.png | Bin 0 -> 1443 bytes
.../data/albumthemes/NeatRound/preview.png | Bin 0 -> 26197 bytes
.../webalbums/data/albumthemes/NeatRound/right.png | Bin 0 -> 210 bytes
.../webalbums/data/albumthemes/NeatRound/style.css | 95 +++++
.../data/albumthemes/NeatRound/thumbnail.gthtml | 71 ++++
.../webalbums/data/albumthemes/NeatRound/top.png | Bin 0 -> 459 bytes
.../webalbums/data/albumthemes/Wiki/.cvsignore | 2 +
.../webalbums/data/albumthemes/Wiki/Makefile.am | 16 +
.../webalbums/data/albumthemes/Wiki/image.gthtml | 156 +++++++++
.../webalbums/data/albumthemes/Wiki/index.gthtml | 70 ++++
.../webalbums/data/albumthemes/Wiki/layout.css | 90 +++++
.../webalbums/data/albumthemes/Wiki/preview.png | Bin 0 -> 37324 bytes
.../webalbums/data/albumthemes/Wiki/style.css | 79 +++++
.../data/albumthemes/Wiki/thumbnail.gthtml | 64 ++++
extensions/webalbums/data/albumthemes/text.h | 42 +++
85 files changed, 4597 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index cfdc7a8..1a3b304 100644
--- a/configure.ac
+++ b/configure.ac
@@ -529,6 +529,13 @@ extensions/slideshow/data/Makefile
extensions/slideshow/data/ui/Makefile
extensions/webalbums/Makefile
extensions/webalbums/data/Makefile
+extensions/webalbums/data/albumthemes/Makefile
+extensions/webalbums/data/albumthemes/BestFit/Makefile
+extensions/webalbums/data/albumthemes/Classic/Makefile
+extensions/webalbums/data/albumthemes/ClassicClips/Makefile
+extensions/webalbums/data/albumthemes/Flicker/Makefile
+extensions/webalbums/data/albumthemes/NeatRound/Makefile
+extensions/webalbums/data/albumthemes/Wiki/Makefile
extensions/webalbums/data/ui/Makefile
gthumb/Makefile
gthumb/cursors/Makefile
diff --git a/extensions/webalbums/data/Makefile.am b/extensions/webalbums/data/Makefile.am
index c1713cf..9eda696 100644
--- a/extensions/webalbums/data/Makefile.am
+++ b/extensions/webalbums/data/Makefile.am
@@ -1,3 +1,3 @@
-SUBDIRS = ui
+SUBDIRS = albumthemes ui
-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/.cvsignore b/extensions/webalbums/data/albumthemes/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/extensions/webalbums/data/albumthemes/BestFit/.cvsignore b/extensions/webalbums/data/albumthemes/BestFit/.cvsignore
new file mode 100644
index 0000000..14140f4
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/.cvsignore
@@ -0,0 +1 @@
+*.in
diff --git a/extensions/webalbums/data/albumthemes/BestFit/BestFit.css b/extensions/webalbums/data/albumthemes/BestFit/BestFit.css
new file mode 100644
index 0000000..3888c15
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/BestFit.css
@@ -0,0 +1,369 @@
+/*************************************************
+* BestFit.css
+* Copyright (C) 2005-2006 Free Software Foundation, Inc.
+* $Id$
+*
+* Stylesheet for DHTML photo album template
+*
+* NOTE: while the HTML component (template.html) should work with a different
+* stylesheet, the JavaScript component (pictureview.js) contains routines to
+* correct rendering bugs with various browsers, and thus depends on this
+* stylesheet. If you modify the layout, you may also need to modify the
+* JavaScript.
+*************************************************/
+
+html, body {
+ color: #FFFFFF;
+ background-color: #4b4b4b;
+ /*border-width: 1px;*/
+ margin: 0;
+ font-family: serif;
+ padding: 0;
+}
+
+h1 {
+ margin: 0;
+ font-size: 24pt;
+ font-family: sans-serif;
+ font-weight: bold;
+}
+
+a:link {
+ font-weight: bold;
+ text-decoration: none;
+ color: white;
+ background-color: inherit;
+}
+
+a:visited {
+ font-weight: bold;
+ text-decoration: none;
+ color: white;
+ background-color: inherit;
+}
+
+a:hover {
+ font-weight: bold;
+ text-decoration: none;
+ color: yellow;
+ background-color: inherit;
+}
+
+table {
+ border-style: none;
+}
+
+td {
+ color: white;
+ background-color: inherit;
+ font-size: 10pt;
+ line-height: 10pt;
+}
+
+img {
+ border-style: none;
+}
+
+img.navigation {
+ border-style: solid;
+ border-width: 3px;
+ border-color: white;
+}
+
+img.preview {
+ border-style: solid;
+ border-width: 3px;
+ border-color: black;
+}
+
+img.thumbnail {
+ vertical-align: middle;
+ margin-top: 7px;
+ margin-bottom: 7px;
+}
+
+div.thumbnail {
+ /*border-style: solid;*/
+ border-color: red;
+ border-width: 1px;
+ margin: 10px;
+ width: 183px;
+ text-align: center;
+ float: none;
+ display: inline-block; /* Not supported by Mozilla */
+ display: -moz-inline-box; /* mozilla-specific, roughly equiv. to inline-block */
+}
+
+div.thumbnailFrame {
+ /*border-style: solid;*/
+ border-color: blue;
+ border-width: 1px;
+ background: #CCCCCC;
+ width: 179px;
+ height: 135px;
+
+ /* center image vertically. Doesn't work in MSIE, too low in Konqueror */
+ text-align: center;
+ line-height: 135px;
+ font-size: 0px;
+
+ /* drop shadow */
+ position: relative;
+ top: -3px;
+ left: -3px;
+
+ /* rounded edges. CSS3; not supported yet */
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+}
+
+div.shadowbox {
+ position: relative;
+ top: 3px;
+ left: 3px;
+ background: #000000;
+ width: 180px;
+
+ /* rounded edges. CSS3; not supported yet */
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+}
+
+/* see http://www.wpdfd.com/editorial/thebox/deadcentre4.html */
+div.center {
+ text-align: center;
+ position: relative;
+ top: 50%;
+ left: 0px;
+ width: 100%;
+ height: 1px;
+ overflow: visible;
+ /*background-color: #0ff; /* line across the center */
+}
+
+/* see http://www.wpdfd.com/editorial/thebox/deadcentre4.html */
+div.centerContent {
+ margin-left: -50%;
+ position: absolute;
+ left: 50%;
+ width: 100%;
+ height: 100%; /* needs to be the height of the minimum bounding box */
+ top: -50%; /* needs to be 50% of the height of the minimum bounding box */
+}
+
+div.caption, table.caption {
+ padding: 1ex;
+ font-size: 12pt;
+ line-height: 12pt;
+ text-align: left;
+}
+
+div.centerh {
+ height: 100%;
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+ text-align: center;
+}
+
+div.comments {
+}
+
+div.location {
+ padding-top: 1em;
+}
+
+div.time {
+ padding-top: 1em;
+}
+
+span.index {
+ font-weight: bold;
+ font-size: 10pt;
+ vertical-align: 9px;
+}
+
+span.property {
+ font-size: 10pt;
+ color: #AAAAAA;
+ background-color: inherit;
+ font-weight: bold;
+}
+
+div.tip {
+ padding: 2px;
+ background-color: #4b4b4b;
+ color: black;
+ font-size: 10pt;
+ line-height: 10pt;
+
+ /* display on top of everything else */
+ position: absolute;
+ display: none;
+ /*top: -60px;
+ left: 100%;*/
+ top: inherit;
+ left: inherit;
+ width: auto;
+ height: auto;
+ z-index: 100;
+
+ /* draw a border */
+ border-style: solid;
+ border-color: black;
+ border-width: 1px;
+
+ /* rounded edges on border. CSS3; not supported yet */
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+}
+
+a + div.tip {
+ display: none;
+}
+
+a:hover + div.tip {
+ display: block;
+}
+
+div.tip table
+{
+ text-align: left;
+}
+
+div.tip > div.comments
+{
+ padding: 0;
+}
+
+#indexPanel, #navigationPanel, #prevThumbPanel, #nextThumbPanel {
+ text-align: center;
+ /*border-style: solid;*/
+ border-width: 1px;
+ border-color: blue;
+ position: absolute;
+ width: 20%;
+}
+
+#indexPanel {
+ top: 22px;
+ height: 30px;
+ left: 0;
+}
+
+#navigationPanel {
+ top: 22px;
+ height: 30px;
+ right: 0;
+}
+
+#prevThumbPanel {
+ top: 80px;
+ height: 106px;
+ left: 0;
+ line-height: 0px;
+}
+
+#nextThumbPanel {
+ top: 80px;
+ height: 106px;
+ right: 0;
+ line-height: 0px;
+}
+
+#captionPanel, #propertyPanel, #imagePanel
+{
+ position: absolute;
+}
+
+#titlePanel {
+ top: 0;
+ margin-left: 20%;
+ margin-right: 20%;
+ height: 80px;
+ border-color: #786345;
+}
+
+#captionPanel {
+ top: 190px;
+ left: 0;
+ width: 20%;
+ bottom: 0;
+ border-color: #98072b;
+}
+
+#propertyPanel {
+ top: 190px;
+ right: 0;
+ width: 20%;
+ bottom: 0;
+ border-color: #386698;
+}
+
+#imagePanel {
+ top: 80px;
+ left: 20%;
+ right: 20%;
+ bottom: 80px;
+ border-color: #178634;
+ text-align: center;
+ line-height: 0px;
+}
+
+#copyrightPanel {
+ position: absolute;
+ height: 80px;
+ bottom: 0;
+ right: 20%;
+ left: 20%;
+ width: 60%; /* hack for MSIE */
+ border-color: #e80972;
+}
+
+#fullsizenote, #jswarning {
+ height: 1.5em;
+ line-height: 1em;
+ /*border-style: solid;*/
+ border-width: 1px;
+ font-size: 10pt;
+ text-align: center;
+ vertical-align: top;
+}
+
+#fullsizenote {
+ color: #AAAAAA;
+ background-color: inherit;
+}
+
+#jswarning {
+ border-style: solid;
+ color: #7FFF00;
+ background-color: inherit;
+}
+
+#thumbnailPanel {
+ margin-left: 80px;
+ margin-right: 80px;
+ /*margin-bottom: 80px;*/ /* this is the best way, but breaks in Opera 8.0 */
+ padding-bottom: 80px; /* hack for Opera 8.0, breaks MSIE 6.0 */
+ border-color: #178634;
+ text-align: center;
+ line-height: 0px;
+}
+
+html, body, #contents {
+ min-height: 100%;
+ width: 100%;
+ height: 100%; /* hack for MSIE - should be auto */
+}
+
+/* hack for MSIE */
+html>body, html>body #contents {
+ height: auto;
+}
+
+#contents {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
diff --git a/extensions/webalbums/data/albumthemes/BestFit/BestFit.js b/extensions/webalbums/data/albumthemes/BestFit/BestFit.js
new file mode 100644
index 0000000..10c08a7
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/BestFit.js
@@ -0,0 +1,260 @@
+/*************************************************
+* BestFit.js
+* Copyright (C) 2005-2006 Free Software Foundation, Inc.
+* $Id$
+*
+* Scripts for DHTML photo album template
+* The script in this file runs every time the page is reloaded or resized, and
+* does the following:
+* - corrects CSS rendering bugs found in Opera, Konqueror, and MSIE
+* - resizes the image preview to the largest size that will fit in its
+* container, up to the actual size of the image, without losing aspect ratio
+* - vertically centers several text blocks within the current dimensions of
+* their containers
+*
+* NOTE: if you change the layout in the stylesheet, you'll likely also have to
+* change the correct() function in this script
+*************************************************/
+
+// globals
+var imageWidth; // the base width of image, in pixels
+var imageHeight; // the base height of image, in pixels
+
+// gets the first child of an element
+function getFirstChild ( obj )
+{
+ if (obj.children)
+ {
+ if (obj.children.length == 0)
+ return null;
+ return obj.children[0];
+ }
+ else
+ {
+ // childNodes contains all sorts of #text and #comment elements...
+ var i=0;
+ while (obj.childNodes[i].nodeName.charAt(0) == '#')
+ {
+ i++;
+ }
+
+ if (i == 0)
+ return null;
+ return obj.childNodes[i];
+ }
+}
+
+// resizes an image to the maximum size that will fit in its container,
+// while preserving aspect ratio
+function resize ()
+{
+ var image; // the image to be modified
+ var imageAspect; // the width/height aspect ratio of image
+ var imagePanel; // the panel to hold the image
+ var notePanel; // the panel to hold the note
+ var noteHeight; // the height of the note panel
+ var imageBorder; // the width of the border on image, in pixels
+ var panelWidth; // the current width of imagePanel, in pixels
+ var panelHeight; // the current height of imagePanel, in pixels
+ var panelAspect; // the current aspect ratio of imagePanel
+
+ image = document.getElementById("image");
+ imageAspect = imageWidth/imageHeight;
+ imagePanel = document.getElementById("imagePanel");
+
+ notePanel = document.getElementById("fullsizenote");
+ noteHeight = 0;
+ if (notePanel != null)
+ noteHeight = getObjHeight(document.getElementById("fullsizenote"));
+
+ imageBorder = getVBorder(image);
+ panelWidth = getObjWidth(imagePanel) - getHBorder(image);
+ panelHeight = getObjHeight(imagePanel) - noteHeight - getVBorder(image);
+ panelAspect = panelWidth/panelHeight;
+
+ // set the width and height of the image
+ if (imageAspect >= panelAspect)
+ {
+ // constrained by width
+ image.width = Math.min(panelWidth, imageWidth);
+ image.height = Math.min((imageHeight*panelWidth/imageWidth), imageHeight);
+ }
+ else
+ {
+ // constrained by height
+ image.height = Math.min(panelHeight, imageHeight);
+ image.width = Math.min((imageWidth*panelHeight/imageHeight), imageWidth);
+ }
+
+ // adjust right column if there's space
+ propertyWidth = getObjWidth(document.getElementById("propertyPanel"));
+ tableWidth = getObjWidth(document.getElementById("propertyTable")) + getHBorder(document.getElementById("propertyTable"));
+ if ((tableWidth > propertyWidth) && (image.width+(tableWidth-propertyWidth) < panelWidth))
+ {
+ setProperty(document.getElementById("propertyPanel"), "width", tableWidth+"px");
+ }
+}
+
+// corrects various browser rendering bugs
+function correct ()
+{
+ // correct center column width in Opera and MSIE
+ var centerWidth = getObjWidth(document.getElementById("imagePanel"));
+ var rightWidth = getObjWidth(document.getElementById("propertyPanel"));
+ var leftWidth = getObjWidth(document.getElementById("captionPanel"));
+ var bodyWidth = getWindowWidth();
+ var diff = bodyWidth - (centerWidth + rightWidth + leftWidth);
+ if (diff > 2 || diff < -2)
+ {
+ setProperty(document.getElementById("imagePanel"), "width", (bodyWidth - (rightWidth + leftWidth))+"px");
+ }
+ var titleWidth = getObjWidth(document.getElementById("titlePanel"));
+ var diff = bodyWidth - (titleWidth + rightWidth + leftWidth);
+ if (diff > 2 || diff < -2)
+ {
+ setProperty(document.getElementById("titlePanel"), "width", (bodyWidth - (rightWidth + leftWidth))+"px");
+ }
+ var copyrightWidth = getObjWidth(document.getElementById("copyrightPanel"));
+ var diff = bodyWidth - (copyrightWidth + rightWidth + leftWidth);
+ if (diff > 2 || diff < -2)
+ {
+ setProperty(document.getElementById("copyrightPanel"), "width", (bodyWidth - (rightWidth + leftWidth))+"px");
+ }
+
+ // correct center column height in Konqueror
+ var centerHeight = getObjHeight(document.getElementById("imagePanel"));
+ var titleHeight = getObjHeight(document.getElementById("titlePanel"));
+ var copyrightHeight = getObjHeight(document.getElementById("copyrightPanel"));
+ var bodyHeight = getWindowHeight();
+ diff = bodyHeight - (centerHeight + titleHeight + copyrightHeight);
+ if (diff > 2 || diff < -2)
+ {
+ setProperty(document.getElementById("imagePanel"), "height", (bodyHeight - (titleHeight + copyrightHeight))+"px");
+ }
+
+ // correct side panel heights in MSIE
+ var captionHeight = getObjHeight(document.getElementById("captionPanel"));
+ var propertyHeight = getObjHeight(document.getElementById("propertyPanel"));
+ var captionOffset = getTopOffset(document.getElementById("captionPanel"));
+ var propertyOffset = getTopOffset(document.getElementById("propertyPanel"));
+ var captionBorderHeight = getVBorder(document.getElementById("captionPanel"));
+ var propertyBorderHeight = getVBorder(document.getElementById("propertyPanel"));
+ diff = bodyHeight - captionHeight - captionBorderHeight - captionOffset;
+ if (diff != 0)
+ {
+ setProperty(document.getElementById("captionPanel"), "height", (bodyHeight-captionBorderHeight-captionOffset-2)+"px");
+ }
+ diff = bodyHeight - propertyHeight - propertyBorderHeight - propertyOffset;
+ if (diff != 0)
+ {
+ setProperty(document.getElementById("propertyPanel"), "height", (bodyHeight-propertyBorderHeight-propertyOffset-2)+"px");
+ }
+}
+
+// centers all DIVs of class "centerContent"
+function center ()
+{
+ // figure out what the variable for "margin-left" is
+ var left=0;
+ var marginLeft = "margin-left";
+ if (document.body.currentStyle && isNaN(document.body.currentStyle.margin-left))
+ marginLeft = "marginLeft";
+
+ // locate all DIVs of class "centerContent"
+ var objs = getElementsByClass("div", "centerContent");
+ var objHeight;
+ var objWidth;
+ for (var i=0; i<objs.length; i++)
+ {
+ // set their widths and heights according to the widths and heights of
+ // their contents
+ // NOTE: this will not work properly if a "centerContent" DIV contains
+ // more than one element
+ objHeight = getObjHeight(getFirstChild(objs[i]));
+ objWidth = getObjWidth(getFirstChild(objs[i]));
+ if (objHeight != 0) // Opera doesn't have dimensions of inline objects
+ {
+ setProperty(objs[i], "height", (objHeight)+"px");
+ setProperty(objs[i], "top", (objHeight/(-2.0))+"px");
+ }
+ if (objWidth != 0)
+ {
+ setProperty(objs[i], "width", (objWidth)+"px");
+ setProperty(objs[i], marginLeft, (objWidth/(-2.0))+"px");
+ }
+ }
+}
+
+function resizeAction ()
+{
+ // set initial image size to 1x1 so that the real size doesn't affect layout
+ document.getElementById("image").width = 1;
+ document.getElementById("image").height = 1;
+
+ // figure out what the variable for "margin-left" is
+ var left=0;
+ var marginLeft = "margin-left";
+ if (document.body.currentStyle && isNaN(document.body.currentStyle.margin-left))
+ marginLeft = "marginLeft";
+
+ // reset all values that we play with, so that the browser can
+ // figure layout on its own as much as possible
+ setProperty(document.getElementById("imagePanel"), "width", "");
+ setProperty(document.getElementById("titlePanel"), "width", "");
+ setProperty(document.getElementById("copyrightPanel"), "width", "");
+ setProperty(document.getElementById("imagePanel"), "height", "");
+ setProperty(document.getElementById("captionPanel"), "height", "");
+ setProperty(document.getElementById("propertyPanel"), "height", "");
+ if (getObjHeight(document.getElementById("titleContent")) != 0)
+ {
+ setProperty(document.getElementById("titleContent").parentNode, "height", "");
+ setProperty(document.getElementById("titleContent").parentNode, "top", "");
+ setProperty(document.getElementById("titleContent").parentNode, "width", "");
+ setProperty(document.getElementById("titleContent").parentNode, marginLeft, "");
+ }
+ if (getObjHeight(document.getElementById("copyrightContent")) != 0)
+ {
+ setProperty(document.getElementById("copyrightContent").parentNode, "height", "");
+ setProperty(document.getElementById("copyrightContent").parentNode, "top", "");
+ setProperty(document.getElementById("copyrightContent").parentNode, "width", "");
+ setProperty(document.getElementById("copyrightContent").parentNode, marginLeft, "");
+ }
+
+ // make corrections to work around browser bugs
+ correct();
+
+ // sleep briefly so that Konqueror gets properties correctly, then
+ // resize the image according to screen size
+ setTimeout("resize(); center()", 1);
+}
+
+// performs all initialization and calls the actual action
+function setup ()
+{
+ // save the original image dimensions in global variables
+ var image = document.getElementById("image");
+ if (image.naturalWidth)
+ imageWidth = image.naturalWidth;
+ else
+ imageWidth = image.width;
+ if (image.naturalHeight)
+ imageHeight = image.naturalHeight;
+ else
+ imageHeight = image.height;
+
+ resizeAction();
+
+ // the W3C event registration model doesn't seem to be completely
+ // supported by Konqueror
+ //window.addEventListener('onresize', resizeAction, false);
+ window.onresize = resizeAction;
+ //window.attachEvent('resize', resizeAction);
+}
+
+// initial (load-time) entry point
+function start ()
+{
+ // sleep briefly. If I don't do this, Konqueror doesn't get
+ // computed style values correctly.
+ setTimeout("setup()", 1);
+}
diff --git a/extensions/webalbums/data/albumthemes/BestFit/Makefile.am b/extensions/webalbums/data/albumthemes/BestFit/Makefile.am
new file mode 100644
index 0000000..8668a6d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/Makefile.am
@@ -0,0 +1,21 @@
+gthtml_files = \
+ image.gthtml \
+ index.gthtml \
+ thumbnail.gthtml
+
+themename = BestFit
+themedir = $(datadir)/gthumb/albumthemes/$(themename)
+theme_DATA = \
+ back.png \
+ BestFit.css \
+ BestFit.js \
+ index.js \
+ lib.js \
+ next.png \
+ preview.png \
+ prev.png \
+ $(gthtml_files)
+
+EXTRA_DIST = $(theme_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/BestFit/back.png b/extensions/webalbums/data/albumthemes/BestFit/back.png
new file mode 100644
index 0000000..681dc91
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/BestFit/back.png differ
diff --git a/extensions/webalbums/data/albumthemes/BestFit/image.gthtml b/extensions/webalbums/data/albumthemes/BestFit/image.gthtml
new file mode 100644
index 0000000..38b4cf7
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/image.gthtml
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!--
+ index.ghtml
+ Copyright (C) 2005-2006 Free Software Foundation, Inc.
+ $Id: image.gthtml,v 1.2 2006/11/09 10:26:59 mjc Exp $
+
+ DHTML photo album template for use with gthumb - photo preview page
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta name="Author" content="Rennie deGraaf" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link rel="stylesheet" href="<gthumb:theme_link src='BestFit.css'/>" />
+ <style type="text/css">
+ <!--
+ -->
+ </style>
+ <!-- hack for MSIE, since it doesn't support inline-block properly -->
+ <!--[if IE]>
+ <style type="text/css">
+ div.thumbnail {
+ float: left;
+ display: inline;
+ }
+ </style>
+ <![endif]-->
+ <script type="text/javascript" src="<gthumb:theme_link src='lib.js'/>"></script>
+ <script type="text/javascript" src="<gthumb:theme_link src='BestFit.js'/>"></script>
+ <gthumb:if "images > 1" />
+ <title><gthumb:header/> (<gthumb:image_idx/>/<gthumb:images/>)</title>
+ <gthumb:else/>
+ <title><gthumb:header/></title>
+ <gthumb:end/>
+ </head>
+ <body onload="start();">
+
+ <div id="titlePanel">
+ <noscript>
+ <div id="jswarning">
+ This page may not work correctly in your browser, because you have JavaScript disabled.
+ </div>
+ </noscript>
+ <div class="center">
+ <div class="centerContent" style="height: 3em; top: -1.5em;">
+ <h1 id="titleContent"><gthumb:header/></h1>
+ </div>
+ </div>
+ </div>
+
+ <div id="copyrightPanel">
+ <div class="center">
+ <div class="centerContent" style="height: 1.5em; top: -0.75em;">
+ <div id="copyrightContent">
+ <gthumb:footer/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div id="indexPanel">
+ <!-- back to menu -->
+ <a href="<gthumb:page_link idx_relative=0 image_idx="1"/>">
+ <img src="<gthumb:theme_link src='back.png'/>" width="30" height="30" alt="Back to menu"/>
+ </a>
+ <div class="tip" style="top: 100%; left: 0%;">
+ Return to thumbnail index
+ </div>
+ </div>
+
+ <div id="navigationPanel">
+ <!-- previous/next image -->
+ <gthumb:if "image_idx > 1" />
+ <a href="<gthumb:image_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" width="40" height="30" alt="Previous picture"/>
+ </a>
+ <div class="tip" style="top: 100%; left: 0%;">
+ Previous picture
+ </div>
+ <gthumb:end/>
+ <gthumb:if "images != 1" />
+ <span class="index"><gthumb:image_idx/> / <gthumb:images/></span>
+ <gthumb:end/>
+ <gthumb:if "image_idx < images" />
+ <a href="<gthumb:image_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" width="40" height="30" alt="Next picture"/>
+ </a>
+ <div class="tip" style="top: 100%; left: 0%;">
+ Next picture
+ </div>
+ <gthumb:end/>
+ </div>
+
+ <div id="prevThumbPanel">
+ <!-- previous image thumbnail -->
+ <gthumb:if "image_idx > 1" />
+ <a href="<gthumb:image_link idx_relative="-1"/>">
+ <!--<img src="thumb-vertical.jpeg" alt="Previous image thumbnail" width="75" height="100" class="navigation" />-->
+ <gthumb:image thumbnail max_size="100" idx_relative="-1" class="navigation" alt="Previous picture thumbnail"/>
+ </a>
+ <div class="tip" style="top: 100%; left: 0%;">
+ Previous picture
+ </div>
+ <gthumb:end/>
+ </div>
+
+ <div id="nextThumbPanel">
+ <!-- next image thumbnail -->
+ <gthumb:if "image_idx < images" />
+ <a href="<gthumb:image_link idx_relative="+1"/>">
+ <!--<img src="thumb-horizontal.jpeg" alt="Next image thumbnail" width="100" height="75" class="navigation" />-->
+ <gthumb:image thumbnail max_size="100" idx_relative="+1" class="navigation" alt="Next picture thumbnail"/>
+ </a>
+ <div class="tip" style="top: 100%; left: 0%;">
+ Next picture
+ </div>
+ <gthumb:end/>
+ </div>
+
+ <div id="captionPanel">
+ <!-- Image comments -->
+ <div class="caption">
+ <gthumb:if "comment_visibility_image"/>
+ <div class="comments">
+ <gthumb:comment/>
+ </div>
+ <gthumb:end/>
+ <gthumb:if "place_visibility_image"/>
+ <div class="location">
+ <gthumb:place/>
+ </div>
+ <gthumb:end/>
+ <gthumb:if "date_time_visibility_image"/>
+ <div class="time">
+ <gthumb:date_time/>
+ </div>
+ <gthumb:end/>
+ </div>
+ </div>
+
+ <div id="propertyPanel">
+ <gthumb:if "file_name_visibility_image || image_dim_visibility_image
+ || file_size_visibility_image || exif_date_time_visibility_image
+ || exif_exposure_time_visibility_image || exif_exposure_mode_visibility_image
+ || exif_flash_visibility_image || exif_shutter_speed_visibility_image
+ || exif_aperture_value_visibility_image || exif_focal_length_visibility_image
+ || exif_camera_model_visibility_image" />
+ <table class="caption" id="propertyTable">
+ <col width="0*" />
+ <col width="100%" />
+ <gthumb:if "file_name_visibility_image"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Image</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:file_name/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "image_dim_visibility_image"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Dimensions</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:image_dim/> <gthumb:text>pixels</gthumb:text>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "file_size_visibility_image"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Bytes</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:file_size/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_date_time_visibility_image"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Date</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:date_time/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_exposure_time_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Exposure time</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:exposure_time/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_exposure_mode_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Exposure mode</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:exposure_mode/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_flash_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Flash</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:flash/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_shutter_speed_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Shutter speed</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:shutter_speed/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_aperture_value_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Aperture value</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:aperture_value/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_focal_length_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Focal length</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:focal_length/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_camera_model_visibility_image"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Camera model</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:camera_model/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ </table>
+ <gthumb:end/>
+ </div>
+
+ <div id="imagePanel">
+ <gthumb:if "copy_originals"/>
+ <a href="<gthumb:file_name with_relative_path/>">
+ <gthumb:end/>
+ <gthumb:image preview id="image" class="preview" alt="Picture preview"/>
+ <!--<img src="<gthumb:file_name idx=page_idx/>" alt="image" id="image" class="preview" />-->
+ <gthumb:if "copy_originals"/>
+ </a>
+ <gthumb:end/>
+ <gthumb:if "copy_originals"/>
+ <div id="fullsizenote">
+ <gthumb:text>(click on the image to see it at the original size)</gthumb:text>
+ </div>
+ <gthumb:end/>
+ </div>
+ </body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/BestFit/index.gthtml b/extensions/webalbums/data/albumthemes/BestFit/index.gthtml
new file mode 100644
index 0000000..4599c73
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/index.gthtml
@@ -0,0 +1,92 @@
+<gthumb:set_var thumbnail_width="159" thumbnail_height="120"/>
+<gthumb:set_var preview_width="800" preview_height="600"/>
+
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!--
+ index.ghtml
+ Copyright (C) 2005-2006 Free Software Foundation, Inc.
+ $Id: index.gthtml,v 1.2 2006/11/09 10:26:59 mjc Exp $
+
+ DHTML photo album template for use with gthumb - thumbnail index page
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1" />
+ <meta name="Author" content="Rennie deGraaf" />
+ <link rel="stylesheet" href="<gthumb:theme_link src='BestFit.css'/>" />
+ <style type="text/css">
+ <!--
+ -->
+ </style>
+ <!--[if IE]>
+ <style type="text/css">
+ div.thumbnail {
+ float: left;
+ display: block;
+ }
+ #thumbnailPanel {
+ /* unto Opera hack */
+ padding-bottom: 0px;
+ margin-bottom: 80px;
+ }
+ </style>
+ <![endif]-->
+ <script type="text/javascript" src="<gthumb:theme_link src='lib.js'/>"></script>
+ <script type="text/javascript" src="<gthumb:theme_link src='index.js'/>"></script>
+ <gthumb:if "pages > 1" />
+ <title><gthumb:header/> (<gthumb:page_idx/>/<gthumb:pages/>)</title>
+ <gthumb:else/>
+ <title><gthumb:header/></title>
+ <gthumb:end/>
+ </head>
+ <body onload="startIndex();">
+ <div id="contents">
+
+ <div id="titlePanel">
+ <noscript>
+ <div id="jswarning">
+ This page may not work correctly in your browser, because you have JavaScript disabled.
+ </div>
+ </noscript>
+ <div class="center">
+ <div class="centerContent" style="height: 3em; top: -1.5em;">
+ <h1 id="titleContent"><gthumb:header/></h1>
+ </div>
+ </div>
+ </div>
+
+ <div id="navigationPanel">
+ <!-- previous/next page -->
+ <gthumb:if "page_idx > 1" />
+ <a href="<gthumb:page_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" width="40" height="30" alt="Previous page"/>
+ <span class="tip">Previous page</span>
+ </a>
+ <gthumb:end/>
+ <gthumb:if "pages != 1"/>
+ <span class="index"><gthumb:page_idx/> / <gthumb:pages/></span>
+ <gthumb:end/>
+ <gthumb:if "page_idx < pages" />
+ <a href="<gthumb:page_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" width="40" height="30" alt="Next page"/>
+ <span class="tip">Next page</span>
+ </a>
+ <gthumb:end/>
+ </div>
+
+ <div id="thumbnailPanel">
+ <gthumb:thumbs/>
+ </div>
+
+ <div id="copyrightPanel">
+ <div class="center">
+ <div class="centerContent" style="height: 3em; top: -1.5em;">
+ <div id="copyrightContent"><gthumb:footer/></div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/BestFit/index.js b/extensions/webalbums/data/albumthemes/BestFit/index.js
new file mode 100644
index 0000000..547ac1d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/index.js
@@ -0,0 +1,147 @@
+/*************************************************
+* index.js
+* Copyright (C) 2005-2006 Free Software Foundation, Inc.
+* $Id$
+*
+* Scripts for DHTML photo album template index page
+* The script in this file runs every time the page is reloaded or resized, and
+* does the following:
+* - aligns and centers thumbnail pictures
+*************************************************/
+
+function getFirstChild ( obj )
+{
+ if (obj.children)
+ {
+ if (obj.children.length == 0)
+ return null;
+ return obj.children[0];
+ }
+ else
+ {
+ // childNodes contains all sorts of #text and #comment elements...
+ var i=0;
+ while (obj.childNodes[i].nodeName.charAt(0) == '#')
+ {
+ i++;
+ }
+
+ if (i == 0)
+ return null;
+ return obj.childNodes[i];
+ }
+}
+
+
+function getMaxContentWidth ( obj )
+{
+ var children = getChildren(obj);
+ var y = 0;
+ var contentWidth = 0;
+ var parentWidth = getObjWidth(obj); //.parentNode);
+
+ if (children.length > 0)
+ {
+ var i=0;
+ while (i < children.length && contentWidth + getTotalWidth(children[i]) <= parentWidth)
+ {
+ contentWidth += getTotalWidth(children[i]);
+ i++;
+ }
+ }
+
+ return contentWidth;
+}
+
+// BUG: doesn't work in Konqueror
+// - margin-left and margin-right don't have values
+// - width doesn't update when page is resized
+function center ()
+{
+ // locate all DIVs of class "centerh"
+ var objs = getElementsByClass("div", "centerh");
+ var wid;
+ for (var i=0; i<objs.length; i++)
+ {
+ wid = getMaxContentWidth(objs[i]);
+ setProperty(objs[i], "width", (wid)+"px");
+ }
+}
+
+function align ()
+{
+ var children = getChildren(document.getElementById("thumbnailPanel"));
+ if (children.length > 0)
+ {
+ var rowTop;
+ var maxHeight;
+ var tmp;
+
+ // iterate over all children
+ for (var i=0; i<children.length; i++)
+ {
+ rowTop = children[i].offsetTop;
+
+ // find the maximum height of all thumbnails in this row
+ maxHeight = -1;
+ for (var j=i; (j<children.length) && (children[j].offsetTop==rowTop); j++)
+ {
+ tmp = getObjHeight(children[j]);
+ if (tmp > maxHeight)
+ maxHeight = tmp;
+ }
+
+ // set the height on all thumbnails in this row to maxHeight
+ while ((i < children.length) && (children[i].offsetTop == rowTop))
+ {
+ setProperty(children[i], "height", (maxHeight)+"px");
+ setProperty(children[i], "marginBotton", (maxHeight - getObjHeight(children[i]))+"px");
+ i++;
+ }
+ }
+ }
+}
+
+
+function resizeAction ()
+{
+ center();
+
+ /* if I'm using the floated block hack for thumbnail divs, then align them
+ into rows */
+ if (getProperty(getFirstChild(document.getElementById("thumbnailPanel")), "display") == "block")
+ align();
+}
+
+function setupIndex ()
+{
+ resizeAction();
+
+ window.onresize = resizeAction;
+}
+
+function startIndex ()
+{
+ // sleep briefly. If I don't do this, Konqueror doesn't get
+ // computed style values correctly.
+ setTimeout("setupIndex()", 1);
+}
+
+function showTip ( objid )
+{
+ var container = document.getElementById('thumb-' + objid);
+ var obj = document.getElementById('tip-' + objid);
+ if ( container != null && obj != null )
+ {
+ setProperty(obj, "top", (getTopOffset(container)-60)+"px");
+ setProperty(obj, "left", (getLeftOffset(container)+getObjWidth(container))+"px");
+ setProperty(obj, "display", "block");
+ }
+}
+
+function hideTip ( objid )
+{
+ var obj = document.getElementById('tip-' + objid);
+ if (obj != null)
+ setProperty(document.getElementById('tip-' + objid), "display", "none");
+}
diff --git a/extensions/webalbums/data/albumthemes/BestFit/lib.js b/extensions/webalbums/data/albumthemes/BestFit/lib.js
new file mode 100644
index 0000000..1ccc21b
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/lib.js
@@ -0,0 +1,246 @@
+/*************************************************
+* lib.js
+* Copyright (C) 2005-2006 Free Software Foundation, Inc.
+* $Id$
+*
+* Scripts for DHTML photo album template
+* Various library routines used by other scripts
+*************************************************/
+
+// deleted an object from within its parent
+function deleteObject ( parentObj, obj )
+{
+ parentObj.removeChild(obj);
+}
+
+// returns all elements of a certain type (tag) and class
+function getElementsByClass ( tag, classname )
+{
+ var objs = new Array();
+ var all = document.getElementsByTagName(tag);
+ for (var i=0; i<all.length; i++)
+ {
+ if (all[i].className == classname)
+ objs[objs.length] = all[i];
+ }
+ return objs;
+}
+
+// set a property to a given value on an object
+function setProperty ( obj, prop, val )
+{
+ if (obj.style.setProperty) // W3C
+ obj.style.setProperty(prop, val, null);
+ else // MSIE
+ eval("obj.style." + prop + " = \"" + val + "\"");
+}
+
+// gets a style property for an object
+function getProperty ( obj, prop )
+{
+ if (document.defaultView && document.defaultView.getComputedStyle)
+ {
+ var val = document.defaultView.getComputedStyle(obj,null).getPropertyValue(prop)
+ if (val)
+ return val;
+ else
+ return eval("document.defaultView.getComputedStyle(obj,null)." + prop);
+ }
+ else if (window.getComputedStyle) // Konqueror
+ return window.getComputedStyle(obj,null).getPropertyValue(prop);
+ else if (obj.currentStyle) // MSIE
+ return eval('obj.currentStyle.' + prop);
+}
+
+function getChildren ( obj )
+{
+ if (obj.children)
+ return obj.children;
+
+ var children = new Array();
+ for (var i=0; i<obj.childNodes.length; i++)
+ {
+ if (obj.childNodes[i].nodeName.charAt(0) != '#')
+ children[children.length] = obj.childNodes[i];
+ }
+
+ return children;
+}
+
+function getPropertyPx ( obj, prop )
+{
+ var w = getProperty(obj, prop);
+
+ // find the begining of the number, after a space
+ var a = w.indexOf(" ");
+ if (a == -1)
+ a = 0;
+ // find the end of the number, before "px"
+ var b = w.indexOf("px");
+
+ if (b != -1)
+ return parseInt(w.substr(a, b-a));
+ else
+ return 0;
+}
+
+// gets the offset from the top of the screen to the top of an object
+function getTopOffset ( obj )
+{
+ var offset = getProperty(obj, "top");
+
+ // find the beginning of the number, after a space
+ var a = offset.indexOf(" ");
+ if (a == -1)
+ a = 0;
+ // find the end of the number, before "px"
+ var b = offset.indexOf("px");
+
+ if (b != -1)
+ return parseInt(offset.substr(a, b-a));
+ else // value not returned in pixels
+ return obj.offsetTop;
+}
+
+// gets the offset from the left of the screen to the left of an object
+function getLeftOffset ( obj )
+{
+ var offset = getProperty(obj, "left");
+
+ // find the beginning of the number, after a space
+ var a = offset.indexOf(" ");
+ if (a == -1)
+ a = 0;
+ // find the end of the number, before "px"
+ var b = offset.indexOf("px");
+
+ if (b != -1)
+ return parseInt(offset.substr(a, b-a));
+ else // value not returned in pixels
+ return obj.offsetLeft;
+}
+
+// gets the height of the current window, in pixels
+function getWindowHeight ()
+{
+ if (document.defaultView && document.defaultView.innerHeight)
+ return document.defaultView.innerHeight;
+ else if (window.innerHeight) // Konqueror
+ return window.innerHeight;
+ else if (document.body.offsetHeight) // MSIE
+ return document.body.offsetHeight;
+}
+
+// gets the width of the current window, in pixels
+function getWindowWidth ()
+{
+ if (document.defaultView && document.defaultView.innerWidth)
+ return document.defaultView.innerWidth;
+ else if (window.innerWidth) // Konqueror
+ return window.innerWidth;
+ else if (document.body.clientWidth) // MSIE
+ return document.body.clientWidth;
+}
+
+// gets the width of ab object, in pixels
+function getObjWidth ( obj )
+{
+ var w = getProperty(obj, "width");
+
+ // find the begining of the number, after a space
+ var a = w.indexOf(" ");
+ if (a == -1)
+ a = 0;
+ // find the end of the number, before "px"
+ var b = w.indexOf("px");
+
+ if (b != -1)
+ return parseInt(w.substr(a, b-a));
+ else // value not returned in pixels
+ return obj.clientWidth;
+}
+
+// gets the height of an object, in pixels
+function getObjHeight ( obj )
+{
+ var w = getProperty(obj, "height");
+
+ // find the begining of the number, after a space
+ var a = w.indexOf(" ");
+ if (a == -1)
+ a = 0;
+ // find the end of the number, before "px"
+ var b = w.indexOf("px");
+
+ if (b != -1)
+ return parseInt(w.substr(a, b-a));
+ else // value not returned in pixels
+ return obj.clientHeight;
+}
+
+// gets the total width of all horizontal borders and padding of an object
+function getHBorder ( obj )
+{
+ // this won't work if the units aren't pixels
+ var leftBorder = parseInt(getProperty(obj, "borderLeftWidth").replace(/[^0-9\.]/gi, ""));
+ var leftPad = parseInt(getProperty(obj, "paddingLeft").replace(/[^0-9\.]/gi, ""));
+ var rightPad = parseInt(getProperty(obj, "paddingRight").replace(/[^0-9\.]/gi, ""));
+ var rightBorder = parseInt(getProperty(obj, "borderRightWidth").replace(/[^0-9\.]/gi, ""));
+
+ // assign a sane value if the unit wasn't in pixels
+ if (isNaN(leftBorder))
+ leftBorder = 0;
+ if (isNaN(leftPad))
+ leftPad = 0;
+ if (isNaN(rightPad))
+ rightPad = 0;
+ if (isNaN(rightBorder))
+ rightBorder = 0;
+
+ return leftBorder + leftPad + rightPad + rightBorder;
+}
+
+// gets the total width of all vertical borders and padding of an object
+function getVBorder ( obj )
+{
+ // this won't work if the units aren't pixels
+ var topBorder = parseInt(getProperty(obj, "borderTopWidth").replace(/[^0-9\.]/gi, ""));
+ var topPad = parseInt(getProperty(obj, "paddingTop").replace(/[^0-9\.]/gi, ""));
+ var bottomPad = parseInt(getProperty(obj, "paddingBottom").replace(/[^0-9\.]/gi, ""));
+ var bottomBorder = parseInt(getProperty(obj, "borderBottomWidth").replace(/[^0-9\.]/gi, ""));
+
+ // assign a sane value if the unit wasn't in pixels
+ if (isNaN(topBorder))
+ topBorder = 0;
+ if (isNaN(topPad))
+ topPad = 0;
+ if (isNaN(bottomPad))
+ bottomPad = 0;
+ if (isNaN(bottomBorder))
+ bottomBorder = 0;
+
+ return topBorder + topPad + bottomPad + bottomBorder;
+}
+
+function getTotalWidth ( obj )
+{
+ var wid = 0;
+ if (obj.offsetWidth)
+ wid = obj.offsetWidth;
+ else
+ {
+ // need to add object, padding, and border widths
+ wid += getPropertyPx(obj, "border-left-width");
+ wid += getPropertyPx(obj, "padding-left");
+ wid += getPropertyPx(obj, "width");
+ wid += getPropertyPx(obj, "padding-right");
+ wid += getPropertyPx(obj, "border-right-width");
+ }
+
+ // add margin widths
+ wid += getPropertyPx(obj, "margin-left");
+ wid += getPropertyPx(obj, "margin-right");
+
+ return wid;
+}
+
diff --git a/extensions/webalbums/data/albumthemes/BestFit/next.png b/extensions/webalbums/data/albumthemes/BestFit/next.png
new file mode 100644
index 0000000..7369709
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/BestFit/next.png differ
diff --git a/extensions/webalbums/data/albumthemes/BestFit/prev.png b/extensions/webalbums/data/albumthemes/BestFit/prev.png
new file mode 100644
index 0000000..d5dfa71
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/BestFit/prev.png differ
diff --git a/extensions/webalbums/data/albumthemes/BestFit/preview.png b/extensions/webalbums/data/albumthemes/BestFit/preview.png
new file mode 100644
index 0000000..6682b45
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/BestFit/preview.png differ
diff --git a/extensions/webalbums/data/albumthemes/BestFit/thumbnail.gthtml b/extensions/webalbums/data/albumthemes/BestFit/thumbnail.gthtml
new file mode 100644
index 0000000..6a1d79f
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/BestFit/thumbnail.gthtml
@@ -0,0 +1,163 @@
+ <div class="thumbnail" id="thumb-<gthumb:image_idx/>">
+ <div style="width: inherit;"> <!-- necessary to make "display: -moz-inline-box" work properly -->
+ <div class="shadowbox">
+ <div class="thumbnailFrame">
+ <a href="<gthumb:image_link/>" onmouseover="showTip('<gthumb:image_idx/>');" onmouseout="hideTip('<gthumb:image_idx/>');">
+
+ <!-- image thumbnail -->
+ <gthumb:image thumbnail class="thumbnail" alt="picture thumbnail"/>
+ </a>
+ </div>
+ </div>
+
+ <!-- image comments -->
+ <gthumb:if "comment_visibility_index || place_visibility_index
+ || date_time_visibility_index" />
+ <div class="caption">
+ <gthumb:if "comment_visibility_index"/>
+ <div class="comments">
+ <gthumb:comment/>
+ </div>
+ <gthumb:end/>
+ <gthumb:if "place_visibility_index"/>
+ <div class="location">
+ <gthumb:place/>
+ </div>
+ <gthumb:end/>
+ <gthumb:if "date_time_visibility_index"/>
+ <div class="time">
+ <gthumb:date_time/>
+ </div>
+ <gthumb:end/>
+ </div>
+ <gthumb:end/>
+ </div>
+
+ <!-- open properties in a pop-up tool-tip -->
+ <!-- this didn't work properly with CSS, so I'm using JavaScript -->
+ <gthumb:if "file_name_visibility_index || image_dim_visibility_index
+ || file_size_visibility_index || exif_date_time_visibility_index
+ || exif_exposure_time_visibility_index || exif_exposure_mode_visibility_index
+ || exif_flash_visibility_index || exif_shutter_speed_visibility_index
+ || exif_aperture_value_visibility_index || exif_focal_length_visibility_index
+ || exif_camera_model_visibility_index" />
+ <div class="tip" id="tip-<gthumb:image_idx/>" style="width: 200px;">
+ <div class="caption">
+ <table>
+ <col width="0*" />
+ <col width="100%" />
+ <gthumb:if "file_name_visibility_index"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Image</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:file_name/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "image_dim_visibility_index"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Dimensions</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:image_dim/> <gthumb:text>pixels</gthumb:text>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "file_size_visibility_index"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Bytes</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:file_size/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_date_time_visibility_index"/>
+ <tr>
+ <td>
+ <span class="property"><gthumb:text>Date</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:date_time/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_exposure_time_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Exposure time</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:exposure_time/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_exposure_mode_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Exposure mode</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:exposure_mode/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_flash_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Flash</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:flash/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_shutter_speed_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Shutter speed</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:shutter_speed/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_aperture_value_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Aperture value</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:aperture_value/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_focal_length_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Focal length</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:focal_length/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ <gthumb:if "exif_camera_model_visibility_index"/>
+ <tr align="left">
+ <td>
+ <span class="property"><gthumb:text>Camera model</gthumb:text></span>
+ </td>
+ <td>
+ <gthumb:exif:camera_model/>
+ </td>
+ </tr>
+ <gthumb:end/>
+ </table>
+ </div>
+ </div>
+ <gthumb:end />
+ </div>
diff --git a/extensions/webalbums/data/albumthemes/Classic/.cvsignore b/extensions/webalbums/data/albumthemes/Classic/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/extensions/webalbums/data/albumthemes/Classic/1.gif b/extensions/webalbums/data/albumthemes/Classic/1.gif
new file mode 100644
index 0000000..5138ff5
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/1.gif differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/Makefile.am b/extensions/webalbums/data/albumthemes/Classic/Makefile.am
new file mode 100644
index 0000000..7266e2a
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/Makefile.am
@@ -0,0 +1,25 @@
+gthtml_files = \
+ image.gthtml \
+ index.gthtml \
+ thumbnail.gthtml
+
+themename = Classic
+themedir = $(datadir)/gthumb/albumthemes/$(themename)
+theme_DATA = \
+ 1.gif \
+ background.gif \
+ back.png \
+ bot.png \
+ left.png \
+ next.png \
+ prev.png \
+ preview.png \
+ right.png \
+ top.png \
+ layout.css \
+ style.css \
+ $(gthtml_files)
+
+EXTRA_DIST = $(theme_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/Classic/back.png b/extensions/webalbums/data/albumthemes/Classic/back.png
new file mode 100644
index 0000000..194edb4
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/back.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/background.gif b/extensions/webalbums/data/albumthemes/Classic/background.gif
new file mode 100644
index 0000000..e565824
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/background.gif differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/bot.png b/extensions/webalbums/data/albumthemes/Classic/bot.png
new file mode 100644
index 0000000..28cfd15
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/bot.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/image.gthtml b/extensions/webalbums/data/albumthemes/Classic/image.gthtml
new file mode 100644
index 0000000..8d6d928
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/image.gthtml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if images > 1 />
+ <title><gthumb:header/> (<gthumb:image_idx/>/<gthumb:images/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<table class="full_size" summary="page body">
+<tr>
+<td class="title">
+
+<!-- Title -->
+<table class="title" summary="title bar">
+<tr>
+ <td>
+ <span class="title"><gthumb:header/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td class="nav_bar">
+
+<!-- Navigation Bar -->
+<table class="full_size" summary="navigation bar">
+<tr>
+ <td class="button">
+ <a href="<gthumb:page_link idx_relative=0 image_idx/>">
+ <img src="<gthumb:theme_link src='back.png'/>" alt="Back" />
+ </a>
+ </td>
+ <td>
+
+ </td>
+ <td class="button">
+<gthumb:if image_idx == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:image_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" alt="Previous" />
+ </a>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if images == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <span class="page_index"><gthumb:image_idx/> / <gthumb:images/></span>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if image_idx == images />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:image_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" alt="Next" />
+ </a>
+<gthumb:end/>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td>
+
+<!-- Thumbnails and preview -->
+<table class="row" summary="preview">
+<tr>
+ <td>
+ <a href="<gthumb:file_name with_relative_path/>"><gthumb:image preview class="preview"/>
+ </a>
+ </td>
+</tr>
+</table>
+
+<!-- Comment and Exif data -->
+<div class="properties">
+<div class="preview_comment">
+ <span class="comment">
+ <gthumb:if comment_visibility_image/>
+ <gthumb:comment/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_image/>
+ <gthumb:place/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_image/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+ </span><br />
+</div>
+<table summary="image properties">
+<gthumb:if file_name_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Image</gthumb:text></span></td>
+ <td><span class="property_value file_name"><gthumb:file_name utf8="1" /></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Dimensions</gthumb:text></span></td>
+ <td><span class="property_value image_dim"><gthumb:image_dim/> pixels</span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if file_size_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Bytes</gthumb:text></span></td>
+ <td><span class="property_value file_size"><gthumb:file_size/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_date_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Date</gthumb:text></span></td>
+ <td><span class="property_value date_time"><gthumb:exif:date_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure time</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure mode</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_mode/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Flash</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:flash/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Shutter speed</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:shutter_speed/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Aperture value</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:aperture_value/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Focal length</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:focal_length/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Camera model</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:camera_model/></span></td>
+</tr>
+<gthumb:end/>
+</table>
+</div>
+
+</td>
+</tr>
+<tr>
+<td class="footer">
+
+<!-- Footer -->
+<table class="full_size" summary="copyright">
+<tr>
+ <td>
+ <span class="copyright"><gthumb:footer/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/Classic/index.gthtml b/extensions/webalbums/data/albumthemes/Classic/index.gthtml
new file mode 100644
index 0000000..4f9254f
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/index.gthtml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if pages > 1 />
+ <title><gthumb:header/> (<gthumb:page_idx/>/<gthumb:pages/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<gthumb:set_var thumbnail_width="159" thumbnail_height="120" />
+<gthumb:set_var preview_width="450" preview_height="400" />
+<body>
+
+<table class="full_size" summary="page body">
+<tr>
+<td class="title">
+
+<!-- Title -->
+<table class="title" summary="title bar">
+<tr>
+ <td>
+ <span class="title"><gthumb:header/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td class="nav_bar">
+
+<!-- Navigation Bar -->
+<table class="full_size" summary="navigation bar">
+<tr>
+ <td>
+
+ </td>
+ <td class="button">
+<gthumb:if page_idx == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:page_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" alt="Previous" />
+ </a>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if pages == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <span class="page_index"><gthumb:page_idx/> / <gthumb:pages/></span>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if page_idx == pages />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:page_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" alt="Next" />
+ </a>
+<gthumb:end/>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td>
+
+<!-- Photos -->
+<div class="thumbnails">
+<table summary="thumbnails">
+<gthumb:table/>
+</table>
+</div>
+
+</td>
+</tr>
+<tr>
+<td class="footer">
+
+<!-- Footer -->
+<table class="full_size" summary="copyright">
+<tr>
+ <td>
+ <span class="copyright"><gthumb:footer/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/Classic/layout.css b/extensions/webalbums/data/albumthemes/Classic/layout.css
new file mode 100644
index 0000000..93083c5
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/layout.css
@@ -0,0 +1,142 @@
+/* Gthumb "Classic" layout, v. 2005-02-25 */
+
+html, body {
+ height: 100%;
+ padding: 0;
+ margin: 0;
+}
+
+table {
+ border-collapse: collapse;
+ border-width: 0;
+}
+
+td {
+ border-width: 0;
+ padding: 0;
+ vertical-align: middle;
+ text-align: center;
+}
+
+/* Title, header, footer */
+
+table.full_size {
+ width: 100%;
+ height: 100%;
+}
+
+table.row {
+ width: 100%;
+}
+
+td.title {
+ height: 4em;
+ vertical-align: middle;
+}
+
+table.title {
+ height: 4em;
+ width: 100%;
+}
+
+td.nav_bar {
+ height: 30px;
+}
+
+td.button {
+ width: 60px;
+ white-space: nowrap;
+}
+
+td.button img,
+td.button a img {
+ border-style: none;
+}
+
+td.footer {
+ height: 3em;
+}
+
+
+/* image.gthtml */
+
+td.left_thumbnail {
+ width: 115px;
+ text-align: left;
+ padding-left: 10px;
+}
+
+td.right_thumbnail {
+ width: 115px;
+ text-align: right;
+ padding-right: 10px;
+}
+
+div.properties {
+ margin-top: 1em;
+ margin-left: 10%;
+ text-align: left;
+}
+
+div.preview_comment {
+ margin-bottom: 1em;
+}
+
+div.properties table td {
+ text-align: left;
+ padding: 0.2em 1em 0.2em 0em;
+}
+
+
+
+/* index.gthtml */
+
+div.thumbnails table {
+ margin:auto;
+}
+
+td.td_index {
+ width: 215px;
+ padding: 8px 5px 8px 5px;
+ vertical-align: top;
+}
+
+
+/* thumbnail.gthtml */
+
+table.photo {
+ cursor: pointer;
+}
+
+td.photo {
+ background-color: white;
+ width: 162px;
+ height: 122px;
+}
+
+img.photo_top {
+ border-style: none;
+ vertical-align: bottom;
+}
+
+img.photo_bottom {
+ border-style: none;
+ vertical-align: top;
+}
+
+img.photo_left {
+ border-style: none;
+ text-align: right;
+ vertical-align: top;
+}
+
+img.photo_right {
+ border-style: none;
+ text-align: left;
+ vertical-align: top;
+}
+
+img.photo_center {
+ border-style: none;
+ vertical-align: top;
+}
diff --git a/extensions/webalbums/data/albumthemes/Classic/left.png b/extensions/webalbums/data/albumthemes/Classic/left.png
new file mode 100644
index 0000000..a136b65
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/left.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/next.png b/extensions/webalbums/data/albumthemes/Classic/next.png
new file mode 100644
index 0000000..ae5a8e8
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/next.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/prev.png b/extensions/webalbums/data/albumthemes/Classic/prev.png
new file mode 100644
index 0000000..b340430
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/prev.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/preview.png b/extensions/webalbums/data/albumthemes/Classic/preview.png
new file mode 100644
index 0000000..9b14beb
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/preview.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/right.png b/extensions/webalbums/data/albumthemes/Classic/right.png
new file mode 100644
index 0000000..fcd11ab
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/right.png differ
diff --git a/extensions/webalbums/data/albumthemes/Classic/style.css b/extensions/webalbums/data/albumthemes/Classic/style.css
new file mode 100644
index 0000000..a5e8eee
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/style.css
@@ -0,0 +1,93 @@
+/* Gthumb "Classic" style, v. 2005-02-25 */
+
+/* Common */
+
+body {
+ background-color: #4B4B4B;
+ color: white;
+}
+
+span.title {
+ font-weight: bold;
+ font-size: 150%;
+}
+
+span.page_index {
+ font-weight: bold;
+ font-size: small;
+}
+
+span.file_name {
+ font-family: monospace;
+}
+
+span.copyright {
+ font-size: small;
+}
+
+
+/* image.gthtml */
+
+
+img.preview {
+ border: solid 2px white;
+}
+
+img.thumbnail {
+ border: solid 2px white;
+}
+
+div.preview_comment {
+ text-align: justify;
+}
+
+span.comment {
+ font-size: small;
+}
+
+div.properties {
+ width: 80%;
+}
+
+span.property {
+ font-size: small;
+ font-weight: bold;
+ color: #969696;
+}
+
+span.property_value {
+ font-size: small;
+ color: white;
+}
+
+/* index.gthtml */
+
+td.td_index {
+ color: #969696;
+}
+
+td.td_index span.image_dim {
+ font-weight: bold;
+}
+
+
+/* links */
+
+a:link {
+ font-weight: bold;
+ text-decoration: none;
+ color: white;
+}
+
+a:visited {
+ font-weight: bold;
+ text-decoration: none;
+ color: white;
+}
+
+a:hover {
+ font-weight: bold;
+ text-decoration: none;
+ color: #FFD700;
+}
+
diff --git a/extensions/webalbums/data/albumthemes/Classic/thumbnail.gthtml b/extensions/webalbums/data/albumthemes/Classic/thumbnail.gthtml
new file mode 100644
index 0000000..6eb7c29
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Classic/thumbnail.gthtml
@@ -0,0 +1,71 @@
+ <table class="photo" summary="photo">
+ <tr>
+ <td colspan="3"><img class="photo_top" src="<gthumb:theme_link src='top.png'/>" alt="Top" /></td>
+ </tr>
+ <tr>
+ <td><img class="photo_left" src="<gthumb:theme_link src='left.png'/>" alt="Left" /></td>
+ <td class="photo">
+ <a href="<gthumb:image_link/>">
+ <gthumb:image thumbnail class="photo_center" /></a>
+ </td>
+ <td><img class="photo_right" src="<gthumb:theme_link src='right.png'/>" alt="Right" /></td>
+ </tr>
+ <tr>
+ <td colspan="3"><img class="photo_bottom" src="<gthumb:theme_link src='bot.png'/>" alt="Bottom" /></td>
+ </tr>
+ </table>
+
+<span class="comment">
+ <gthumb:if comment_visibility_index/>
+ <gthumb:comment/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_index/>
+ <gthumb:place/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_index/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+
+<gthumb:if image_dim_visibility_index/>
+ <span class="property_value image_dim"><gthumb:image_dim/></span>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size">(<gthumb:file_size/>)</span>
+<gthumb:end/>
+<gthumb:else/>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size"><gthumb:file_size/></span>
+<gthumb:end/>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_index || file_size_visibility_index/>
+ <br />
+<gthumb:end/>
+
+<gthumb:if file_name_visibility_index/>
+ <span class="property_value file_name"><gthumb:file_name utf8="1" /></span><br />
+<gthumb:end/>
+
+<gthumb:if exif_date_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:date_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_mode/></span><br />
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:flash/></span><br />
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:shutter_speed/></span><br />
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:aperture_value/></span><br />
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:focal_length/></span><br />
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:camera_model/></span>
+<gthumb:end/>
diff --git a/extensions/webalbums/data/albumthemes/Classic/top.png b/extensions/webalbums/data/albumthemes/Classic/top.png
new file mode 100644
index 0000000..3759e01
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Classic/top.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/.cvsignore b/extensions/webalbums/data/albumthemes/ClassicClips/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/1.gif b/extensions/webalbums/data/albumthemes/ClassicClips/1.gif
new file mode 100644
index 0000000..59415ba
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/1.gif differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/Makefile.am b/extensions/webalbums/data/albumthemes/ClassicClips/Makefile.am
new file mode 100644
index 0000000..ae2de5c
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/Makefile.am
@@ -0,0 +1,26 @@
+gthtml_files = \
+ image.gthtml \
+ index.gthtml \
+ thumbnail.gthtml
+
+themename = ClassicClips
+themedir = $(datadir)/gthumb/albumthemes/$(themename)
+theme_DATA = \
+ 1.gif \
+ background.gif \
+ back.png \
+ bot.png \
+ left.png \
+ next.png \
+ prev.png \
+ preview.png \
+ right.png \
+ top.png \
+ layout.css \
+ style.css \
+ $(gthtml_files)
+
+EXTRA_DIST = $(theme_DATA)
+
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/back.png b/extensions/webalbums/data/albumthemes/ClassicClips/back.png
new file mode 100644
index 0000000..61fdd8b
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/back.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/background.gif b/extensions/webalbums/data/albumthemes/ClassicClips/background.gif
new file mode 100644
index 0000000..e565824
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/background.gif differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/bot.png b/extensions/webalbums/data/albumthemes/ClassicClips/bot.png
new file mode 100644
index 0000000..3a81148
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/bot.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/image.gthtml b/extensions/webalbums/data/albumthemes/ClassicClips/image.gthtml
new file mode 100644
index 0000000..8d6d928
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/image.gthtml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if images > 1 />
+ <title><gthumb:header/> (<gthumb:image_idx/>/<gthumb:images/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<table class="full_size" summary="page body">
+<tr>
+<td class="title">
+
+<!-- Title -->
+<table class="title" summary="title bar">
+<tr>
+ <td>
+ <span class="title"><gthumb:header/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td class="nav_bar">
+
+<!-- Navigation Bar -->
+<table class="full_size" summary="navigation bar">
+<tr>
+ <td class="button">
+ <a href="<gthumb:page_link idx_relative=0 image_idx/>">
+ <img src="<gthumb:theme_link src='back.png'/>" alt="Back" />
+ </a>
+ </td>
+ <td>
+
+ </td>
+ <td class="button">
+<gthumb:if image_idx == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:image_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" alt="Previous" />
+ </a>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if images == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <span class="page_index"><gthumb:image_idx/> / <gthumb:images/></span>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if image_idx == images />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:image_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" alt="Next" />
+ </a>
+<gthumb:end/>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td>
+
+<!-- Thumbnails and preview -->
+<table class="row" summary="preview">
+<tr>
+ <td>
+ <a href="<gthumb:file_name with_relative_path/>"><gthumb:image preview class="preview"/>
+ </a>
+ </td>
+</tr>
+</table>
+
+<!-- Comment and Exif data -->
+<div class="properties">
+<div class="preview_comment">
+ <span class="comment">
+ <gthumb:if comment_visibility_image/>
+ <gthumb:comment/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_image/>
+ <gthumb:place/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_image/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+ </span><br />
+</div>
+<table summary="image properties">
+<gthumb:if file_name_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Image</gthumb:text></span></td>
+ <td><span class="property_value file_name"><gthumb:file_name utf8="1" /></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Dimensions</gthumb:text></span></td>
+ <td><span class="property_value image_dim"><gthumb:image_dim/> pixels</span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if file_size_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Bytes</gthumb:text></span></td>
+ <td><span class="property_value file_size"><gthumb:file_size/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_date_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Date</gthumb:text></span></td>
+ <td><span class="property_value date_time"><gthumb:exif:date_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure time</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure mode</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_mode/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Flash</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:flash/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Shutter speed</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:shutter_speed/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Aperture value</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:aperture_value/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Focal length</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:focal_length/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Camera model</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:camera_model/></span></td>
+</tr>
+<gthumb:end/>
+</table>
+</div>
+
+</td>
+</tr>
+<tr>
+<td class="footer">
+
+<!-- Footer -->
+<table class="full_size" summary="copyright">
+<tr>
+ <td>
+ <span class="copyright"><gthumb:footer/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/index.gthtml b/extensions/webalbums/data/albumthemes/ClassicClips/index.gthtml
new file mode 100644
index 0000000..2196660
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/index.gthtml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if pages > 1 />
+ <title><gthumb:header/> (<gthumb:page_idx/>/<gthumb:pages/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<gthumb:set_var thumbnail_width="159" thumbnail_height="120"/>
+<gthumb:set_var preview_width="450" preview_height="400"/>
+<body>
+
+<table class="full_size" summary="page body">
+<tr>
+<td class="title">
+
+<!-- Title -->
+<table class="title" summary="title bar">
+<tr>
+ <td>
+ <span class="title"><gthumb:header/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td class="nav_bar">
+
+<!-- Navigation Bar -->
+<table class="full_size" summary="navigation bar">
+<tr>
+ <td>
+
+ </td>
+ <td class="button">
+<gthumb:if page_idx == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:page_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" alt="Previous" />
+ </a>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if pages == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <span class="page_index"><gthumb:page_idx/> / <gthumb:pages/></span>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if page_idx == pages />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:page_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" alt="Next" />
+ </a>
+<gthumb:end/>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td>
+
+<!-- Photos -->
+<div class="thumbnails">
+<table summary="thumbnails">
+<gthumb:table/>
+</table>
+</div>
+
+</td>
+</tr>
+<tr>
+<td class="footer">
+
+<!-- Footer -->
+<table class="full_size" summary="copyright">
+<tr>
+ <td>
+ <span class="copyright"><gthumb:footer/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/layout.css b/extensions/webalbums/data/albumthemes/ClassicClips/layout.css
new file mode 100644
index 0000000..93083c5
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/layout.css
@@ -0,0 +1,142 @@
+/* Gthumb "Classic" layout, v. 2005-02-25 */
+
+html, body {
+ height: 100%;
+ padding: 0;
+ margin: 0;
+}
+
+table {
+ border-collapse: collapse;
+ border-width: 0;
+}
+
+td {
+ border-width: 0;
+ padding: 0;
+ vertical-align: middle;
+ text-align: center;
+}
+
+/* Title, header, footer */
+
+table.full_size {
+ width: 100%;
+ height: 100%;
+}
+
+table.row {
+ width: 100%;
+}
+
+td.title {
+ height: 4em;
+ vertical-align: middle;
+}
+
+table.title {
+ height: 4em;
+ width: 100%;
+}
+
+td.nav_bar {
+ height: 30px;
+}
+
+td.button {
+ width: 60px;
+ white-space: nowrap;
+}
+
+td.button img,
+td.button a img {
+ border-style: none;
+}
+
+td.footer {
+ height: 3em;
+}
+
+
+/* image.gthtml */
+
+td.left_thumbnail {
+ width: 115px;
+ text-align: left;
+ padding-left: 10px;
+}
+
+td.right_thumbnail {
+ width: 115px;
+ text-align: right;
+ padding-right: 10px;
+}
+
+div.properties {
+ margin-top: 1em;
+ margin-left: 10%;
+ text-align: left;
+}
+
+div.preview_comment {
+ margin-bottom: 1em;
+}
+
+div.properties table td {
+ text-align: left;
+ padding: 0.2em 1em 0.2em 0em;
+}
+
+
+
+/* index.gthtml */
+
+div.thumbnails table {
+ margin:auto;
+}
+
+td.td_index {
+ width: 215px;
+ padding: 8px 5px 8px 5px;
+ vertical-align: top;
+}
+
+
+/* thumbnail.gthtml */
+
+table.photo {
+ cursor: pointer;
+}
+
+td.photo {
+ background-color: white;
+ width: 162px;
+ height: 122px;
+}
+
+img.photo_top {
+ border-style: none;
+ vertical-align: bottom;
+}
+
+img.photo_bottom {
+ border-style: none;
+ vertical-align: top;
+}
+
+img.photo_left {
+ border-style: none;
+ text-align: right;
+ vertical-align: top;
+}
+
+img.photo_right {
+ border-style: none;
+ text-align: left;
+ vertical-align: top;
+}
+
+img.photo_center {
+ border-style: none;
+ vertical-align: top;
+}
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/left.png b/extensions/webalbums/data/albumthemes/ClassicClips/left.png
new file mode 100644
index 0000000..917a236
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/left.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/next.png b/extensions/webalbums/data/albumthemes/ClassicClips/next.png
new file mode 100644
index 0000000..c622fbf
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/next.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/prev.png b/extensions/webalbums/data/albumthemes/ClassicClips/prev.png
new file mode 100644
index 0000000..2b438f2
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/prev.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/preview.png b/extensions/webalbums/data/albumthemes/ClassicClips/preview.png
new file mode 100644
index 0000000..77d33e3
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/preview.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/right.png b/extensions/webalbums/data/albumthemes/ClassicClips/right.png
new file mode 100644
index 0000000..8ef2c3a
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/right.png differ
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/style.css b/extensions/webalbums/data/albumthemes/ClassicClips/style.css
new file mode 100644
index 0000000..a5e8eee
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/style.css
@@ -0,0 +1,93 @@
+/* Gthumb "Classic" style, v. 2005-02-25 */
+
+/* Common */
+
+body {
+ background-color: #4B4B4B;
+ color: white;
+}
+
+span.title {
+ font-weight: bold;
+ font-size: 150%;
+}
+
+span.page_index {
+ font-weight: bold;
+ font-size: small;
+}
+
+span.file_name {
+ font-family: monospace;
+}
+
+span.copyright {
+ font-size: small;
+}
+
+
+/* image.gthtml */
+
+
+img.preview {
+ border: solid 2px white;
+}
+
+img.thumbnail {
+ border: solid 2px white;
+}
+
+div.preview_comment {
+ text-align: justify;
+}
+
+span.comment {
+ font-size: small;
+}
+
+div.properties {
+ width: 80%;
+}
+
+span.property {
+ font-size: small;
+ font-weight: bold;
+ color: #969696;
+}
+
+span.property_value {
+ font-size: small;
+ color: white;
+}
+
+/* index.gthtml */
+
+td.td_index {
+ color: #969696;
+}
+
+td.td_index span.image_dim {
+ font-weight: bold;
+}
+
+
+/* links */
+
+a:link {
+ font-weight: bold;
+ text-decoration: none;
+ color: white;
+}
+
+a:visited {
+ font-weight: bold;
+ text-decoration: none;
+ color: white;
+}
+
+a:hover {
+ font-weight: bold;
+ text-decoration: none;
+ color: #FFD700;
+}
+
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/thumbnail.gthtml b/extensions/webalbums/data/albumthemes/ClassicClips/thumbnail.gthtml
new file mode 100644
index 0000000..6eb7c29
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/ClassicClips/thumbnail.gthtml
@@ -0,0 +1,71 @@
+ <table class="photo" summary="photo">
+ <tr>
+ <td colspan="3"><img class="photo_top" src="<gthumb:theme_link src='top.png'/>" alt="Top" /></td>
+ </tr>
+ <tr>
+ <td><img class="photo_left" src="<gthumb:theme_link src='left.png'/>" alt="Left" /></td>
+ <td class="photo">
+ <a href="<gthumb:image_link/>">
+ <gthumb:image thumbnail class="photo_center" /></a>
+ </td>
+ <td><img class="photo_right" src="<gthumb:theme_link src='right.png'/>" alt="Right" /></td>
+ </tr>
+ <tr>
+ <td colspan="3"><img class="photo_bottom" src="<gthumb:theme_link src='bot.png'/>" alt="Bottom" /></td>
+ </tr>
+ </table>
+
+<span class="comment">
+ <gthumb:if comment_visibility_index/>
+ <gthumb:comment/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_index/>
+ <gthumb:place/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_index/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+
+<gthumb:if image_dim_visibility_index/>
+ <span class="property_value image_dim"><gthumb:image_dim/></span>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size">(<gthumb:file_size/>)</span>
+<gthumb:end/>
+<gthumb:else/>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size"><gthumb:file_size/></span>
+<gthumb:end/>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_index || file_size_visibility_index/>
+ <br />
+<gthumb:end/>
+
+<gthumb:if file_name_visibility_index/>
+ <span class="property_value file_name"><gthumb:file_name utf8="1" /></span><br />
+<gthumb:end/>
+
+<gthumb:if exif_date_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:date_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_mode/></span><br />
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:flash/></span><br />
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:shutter_speed/></span><br />
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:aperture_value/></span><br />
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:focal_length/></span><br />
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:camera_model/></span>
+<gthumb:end/>
diff --git a/extensions/webalbums/data/albumthemes/ClassicClips/top.png b/extensions/webalbums/data/albumthemes/ClassicClips/top.png
new file mode 100644
index 0000000..46b52c4
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/ClassicClips/top.png differ
diff --git a/extensions/webalbums/data/albumthemes/Flicker/.cvsignore b/extensions/webalbums/data/albumthemes/Flicker/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/extensions/webalbums/data/albumthemes/Flicker/Makefile.am b/extensions/webalbums/data/albumthemes/Flicker/Makefile.am
new file mode 100644
index 0000000..f11697c
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/Makefile.am
@@ -0,0 +1,16 @@
+gthtml_files = \
+ image.gthtml \
+ index.gthtml \
+ thumbnail.gthtml
+
+themename = Flicker
+themedir = $(datadir)/gthumb/albumthemes/$(themename)
+theme_DATA = \
+ preview.png \
+ layout.css \
+ style.css \
+ $(gthtml_files)
+
+EXTRA_DIST = $(theme_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/Flicker/image.gthtml b/extensions/webalbums/data/albumthemes/Flicker/image.gthtml
new file mode 100644
index 0000000..c2b36fb
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/image.gthtml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if images > 1 />
+ <title><gthumb:header/> (<gthumb:image_idx/>/<gthumb:images/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+ <table style="margin: auto">
+ <tr>
+ <td colspan="2">
+
+ <!-- Header -->
+ <div class="title">
+ <gthumb:header/>
+ </div>
+
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+
+ <!-- Image preview -->
+ <div class="preview">
+ <a href="<gthumb:file_name with_relative_path/>">
+ <gthumb:image preview class="preview"/>
+ </a>
+ </div>
+
+<div class="preview_comment">
+<span class="comment">
+ <gthumb:if comment_visibility_image/>
+ <gthumb:comment /> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_image/>
+ <gthumb:place /> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_image/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+</div>
+
+ </td>
+ <td valign="top">
+
+ <!-- Navigation Bar -->
+ <div class="nav_bar">
+
+ <table summary="navigation bar">
+ <tr>
+ <td colspan="2">
+ <div style="margin-bottom: 5px; text-align: left;">
+ <a href="<gthumb:page_link idx_relative=0 image_idx/>">
+ ^ <gthumb:text>Index</gthumb:text>
+ </a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td align="left" valign="middle" style="width: 90px; height: 110px;">
+
+ <gthumb:if image_idx > 1 />
+ <table class="nav_thumb">
+ <tr><td>
+ <a href="<gthumb:image_link idx_relative="-1" />">
+ <gthumb:image idx_relative="-1" thumbnail="1" class="nav_img" />
+ </a>
+ </td></tr>
+ </table>
+ <a href="<gthumb:image_link idx_relative="-1" />">
+ < <gthumb:text>Previous</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <div class="no_thumb"></div>
+ <span style="color: #d3d3d3;">
+ < <gthumb:text>Previous</gthumb:text>
+ </span>
+ <gthumb:end/>
+
+ </td>
+ <td align="right" valign="middle" style="width: 90px; height: 110px;">
+
+ <gthumb:if image_idx < images />
+ <table class="nav_thumb">
+ <tr><td>
+ <a href="<gthumb:image_link idx_relative="+1"/>">
+ <gthumb:image idx_relative="+1" thumbnail="1" class="nav_img" />
+ </a>
+ </td></tr>
+ </table>
+ <a href="<gthumb:image_link idx_relative="+1" />">
+ > <gthumb:text>Next</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <div class="no_thumb"></div>
+ <span style="color: #d3d3d3;">
+ > <gthumb:text>Next</gthumb:text>
+ </span>
+ <gthumb:end/>
+
+ </td>
+
+ <td style="color: #c3bebd; padding-left: 10px; vertical-align: middle;">
+ <span style="font-size: 14px; font-weight: bold; white-space: nowrap;">
+ <gthumb:image_idx/> / <gthumb:images/>
+ </span>
+ </td>
+
+ </tr>
+ </table>
+
+ </div>
+
+
+<!-- Comment and Exif data -->
+
+<table class="properties" summary="image properties">
+<gthumb:if file_name_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Image</gthumb:text></span></td>
+ <td><span class="property_value file_name"><gthumb:file_name utf8="1" /></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Dimensions</gthumb:text></span></td>
+ <td><span class="property_value image_dim"><gthumb:image_dim/> pixels</span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if file_size_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Bytes</gthumb:text></span></td>
+ <td><span class="property_value file_size"><gthumb:file_size/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_date_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Date</gthumb:text></span></td>
+ <td><span class="property_value date_time"><gthumb:exif:date_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure time</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure mode</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_mode/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Flash</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:flash/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Shutter speed</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:shutter_speed/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Aperture value</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:aperture_value/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Focal length</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:focal_length/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Camera model</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:camera_model/></span></td>
+</tr>
+<gthumb:end/>
+</table>
+
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+
+ <!-- Footer -->
+ <div class="copyright">
+ <gthumb:footer/>
+ </div>
+
+ </td>
+ </tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/Flicker/index.gthtml b/extensions/webalbums/data/albumthemes/Flicker/index.gthtml
new file mode 100644
index 0000000..cbdafa7
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/index.gthtml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if pages > 1 />
+ <title><gthumb:header/> (<gthumb:page_idx/>/<gthumb:pages/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<gthumb:set_var thumbnail_width="90" thumbnail_height="90"/>
+<gthumb:set_var preview_width="450" preview_height="450"/>
+<body>
+
+ <table style="width: 600px; margin: auto;">
+ <tr>
+ <td colspan="2">
+
+ <!-- Header -->
+ <div class="title">
+ <gthumb:header/>
+ </div>
+
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+
+ <!-- Navigation Bar -->
+ <div class="page_nav_bar">
+ <gthumb:if pages > 1 />
+ <span class="link_prev">
+ <gthumb:if page_idx > 1 />
+ <a href="<gthumb:page_link idx_relative="-1"/>">
+ < <gthumb:text>Previous</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <span class="nolink">
+ < <gthumb:text>Previous</gthumb:text>
+ </span>
+ <gthumb:end/>
+ </span>
+
+ <span class="link_next">
+ <gthumb:if page_idx < pages />
+ <a href="<gthumb:page_link idx_relative="+1"/>">
+ > <gthumb:text>Next</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <span class="nolink">
+ > <gthumb:text>Next</gthumb:text>
+ </span>
+ <gthumb:end/>
+ </span>
+ <gthumb:end/>
+ </div>
+
+ <!-- Index -->
+ <table class="thumbnails" summary="thumbnails">
+ <gthumb:table/>
+ </table>
+
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+
+ <!-- Footer -->
+ <div class="copyright">
+ <gthumb:footer/>
+ </div>
+
+ </td>
+ </tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/Flicker/layout.css b/extensions/webalbums/data/albumthemes/Flicker/layout.css
new file mode 100644
index 0000000..34da048
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/layout.css
@@ -0,0 +1,118 @@
+/* Gthumb "Flicker" layout */
+
+ table.properties {
+ margin-top: 1em;
+ padding: 5px;
+ border: 1px solid #e3e3e3;
+ background: #f3f3f3;
+ font-size: 9pt;
+ color: #b7b3b3;
+ border-collapse: collapse;
+ }
+
+ table.properties tr td {
+ border-bottom: 1px solid #e3e3e3;
+ padding: 3px 4px 3px 4px;
+ }
+
+ table.thumbnails {
+ border-collapse: collapse;
+ padding: 0;
+ margin: 0px;
+ }
+
+ tr.tr_index {
+ text-align: center;
+ vertical-align: top;
+ }
+
+ td.td_index {
+ width: 95px;
+ text-align: center;
+ vertical-align: middle;
+ border: 1px solid #e3e3e3;
+ padding: 10px;
+ }
+
+ div.nav_bar {
+ padding: 10px;
+ border: 1px solid #e3e3e3;
+ background: #f3f3f3;
+ }
+
+ div.page_nav_bar {
+ text-align: left;
+ margin-bottom: 5px;
+ }
+
+ div.page_nav_bar, div.nav_bar, div.nav_bar table {
+ font-size: 7pt;
+ }
+
+ td.nav_button_preview, td.nav_button_up {
+ width: 50px;
+ height: 50px;
+ padding: 0px;
+ text-align: center;
+ vertical-align: middle;
+ }
+
+ div.copyright {
+ padding-top: 25px;
+ }
+
+ div.comment {
+ text-align: left;
+ padding: 5px;
+ border: 1px solid #e3e3e3;
+ background: #f3f3f3;
+ font-size: 9pt;
+ }
+
+ div.preview_comment {
+ padding-top: 10px;
+ padding-bottom: 15px;
+ width: 500px;
+ }
+
+ td.title {
+ text-align: center;
+ }
+
+ div.title {
+ font-size: 12pt;
+ font-weight: bold;
+ margin-bottom: 20px;
+ padding-bottom: 5px;
+ border-bottom: 1px solid #e3e3e3;
+ }
+
+ span.page_index {
+ font-size: 9pt;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+
+ img.thumbnail {
+ border: 0px;
+ }
+
+ div.preview {
+ }
+
+ table.nav_thumb {
+ border-collapse: collapse;
+ width: 90px;
+ height: 90px;
+ margin: auto;
+ padding: 0px;
+ border: 0px solid #e3e3e3;
+ }
+
+ table.nav_thumb tr, table.nav_thumb tr td {
+ text-align: center;
+ vertical-align: middle;
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ }
diff --git a/extensions/webalbums/data/albumthemes/Flicker/preview.png b/extensions/webalbums/data/albumthemes/Flicker/preview.png
new file mode 100644
index 0000000..d079ec9
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Flicker/preview.png differ
diff --git a/extensions/webalbums/data/albumthemes/Flicker/style.css b/extensions/webalbums/data/albumthemes/Flicker/style.css
new file mode 100644
index 0000000..f73fab5
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/style.css
@@ -0,0 +1,103 @@
+/* Gthumb "Wiki" style */
+
+ body {
+ background: white;
+ }
+
+ table.photo {
+ border: 1px solid #e3e3e3;
+ }
+
+ table.nav_button {
+ border: 0px outset #bbb;
+ }
+
+ div.copyright {
+ font-size: 7pt;
+ color: #888;
+ }
+
+ img.photo_center {
+ border: 0px;
+ }
+
+ img.preview {
+ border: 1px solid #ccc;
+ }
+
+ img.nav_img {
+ border: 0px;
+ }
+
+ .comment, .property, .property_value {
+ font-size: 8pt;
+ }
+
+ .property, .property_value {
+ text-align: left;
+ color: #c3bebd;
+ }
+
+ .property_value file_name {
+ font-family: monospace;
+ }
+
+ .property {
+ font-weight: bold;
+ text-align: left;
+ }
+
+ .comment, .property_value {
+ font-size: 8pt;
+ }
+
+ .comment {
+ font-style: italic;
+ }
+
+ div.title {
+ color: #000;
+ }
+
+ span.page_index {
+ color: #000;
+ }
+
+ /* links */
+
+ a:link {
+ color: #0000FF;
+ text-decoration: none;
+ }
+
+ a:visited {
+ color: #0000FF;
+ text-decoration: none;
+ }
+
+ a:hover {
+ color: #0000FF;
+ text-decoration: underline;
+ }
+
+ div.no_thumb {
+ border: 1px solid #e3e3e3;
+ width: 89px;
+ height: 89px;
+ margin: 0px;
+ padding: 0px;
+ }
+
+ span.nolink {
+ color: #AAA;
+ }
+
+ span.link_prev {
+ padding-right: 10px;
+ border: 0px;
+ }
+
+ span.link_next {
+ padding-left: 10px;
+ border: 0px;
+ }
diff --git a/extensions/webalbums/data/albumthemes/Flicker/thumbnail.gthtml b/extensions/webalbums/data/albumthemes/Flicker/thumbnail.gthtml
new file mode 100644
index 0000000..21f47f7
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Flicker/thumbnail.gthtml
@@ -0,0 +1,54 @@
+ <table class="nav_thumb">
+ <tr><td>
+ <a href="<gthumb:image_link/>">
+ <gthumb:image thumbnail class="photo_center" /></a></td></tr>
+ </table>
+
+<span class="comment">
+ <gthumb:if comment_visibility_index/>
+ <gthumb:comment max_size=100/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_index/>
+ <gthumb:place max_size=100/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_index/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+
+<gthumb:if image_dim_visibility_index/>
+ <span class="property_value image_dim"><gthumb:image_dim/></span><br />
+<gthumb:end/>
+
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size"><gthumb:file_size/></span><br />
+<gthumb:end/>
+
+<gthumb:if file_name_visibility_index/>
+ <span class="property_value file_name"><gthumb:file_name utf8="1" /></span><br />
+<gthumb:end/>
+
+<gthumb:if exif_date_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:date_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_mode/></span><br />
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:flash/></span><br />
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:shutter_speed/></span><br />
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:aperture_value/></span><br />
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:focal_length/></span><br />
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:camera_model/></span>
+<gthumb:end/>
diff --git a/extensions/webalbums/data/albumthemes/Makefile.am b/extensions/webalbums/data/albumthemes/Makefile.am
new file mode 100644
index 0000000..8aa3d60
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Makefile.am
@@ -0,0 +1,4 @@
+SUBDIRS = BestFit Classic ClassicClips Flicker NeatRound Wiki
+EXTRA_DIST = text.h
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/.cvsignore b/extensions/webalbums/data/albumthemes/NeatRound/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/1.gif b/extensions/webalbums/data/albumthemes/NeatRound/1.gif
new file mode 100644
index 0000000..59415ba
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/1.gif differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/Makefile.am b/extensions/webalbums/data/albumthemes/NeatRound/Makefile.am
new file mode 100644
index 0000000..4b5e5ce
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/Makefile.am
@@ -0,0 +1,25 @@
+gthtml_files = \
+ image.gthtml \
+ index.gthtml \
+ thumbnail.gthtml
+
+themename = NeatRound
+themedir = $(datadir)/gthumb/albumthemes/$(themename)
+theme_DATA = \
+ 1.gif \
+ background.gif \
+ back.png \
+ bot.png \
+ left.png \
+ next.png \
+ prev.png \
+ preview.png \
+ right.png \
+ top.png \
+ layout.css \
+ style.css \
+ $(gthtml_files)
+
+EXTRA_DIST = $(theme_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/back.png b/extensions/webalbums/data/albumthemes/NeatRound/back.png
new file mode 100644
index 0000000..855d67e
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/back.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/background.gif b/extensions/webalbums/data/albumthemes/NeatRound/background.gif
new file mode 100644
index 0000000..e565824
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/background.gif differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/bot.png b/extensions/webalbums/data/albumthemes/NeatRound/bot.png
new file mode 100644
index 0000000..08c6683
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/bot.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/image.gthtml b/extensions/webalbums/data/albumthemes/NeatRound/image.gthtml
new file mode 100644
index 0000000..13234a0
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/image.gthtml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if images > 1 />
+ <title><gthumb:header/> (<gthumb:image_idx/>/<gthumb:images/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<table class="full_size" summary="page body">
+<tr>
+<td class="title">
+
+<!-- Title -->
+<table class="title" summary="title bar">
+<tr>
+ <td>
+ <span class="title"><gthumb:header/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td class="nav_bar">
+
+<!-- Navigation Bar -->
+<table class="full_size" summary="navigation bar">
+<tr>
+ <td class="button">
+ <a href="<gthumb:page_link idx_relative=0 image_idx/>">
+ <img src="<gthumb:theme_link src='back.png'/>" alt="Back" />
+ </a>
+ </td>
+ <td>
+
+ </td>
+ <td class="button">
+<gthumb:if image_idx == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:image_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" alt="Previous" />
+ </a>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if images == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <span class="page_index"><gthumb:image_idx/> / <gthumb:images/></span>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if image_idx == images />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:image_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" alt="Next" />
+ </a>
+<gthumb:end/>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td>
+
+<!-- Thumbnails and preview -->
+<table class="row" summary="preview">
+<tr>
+ <td>
+ <a href="<gthumb:file_name with_relative_path/>"><gthumb:image preview class="preview"/>
+ </a>
+ </td>
+</tr>
+</table>
+
+<!-- Comment and Exif data -->
+<div class="properties">
+<div class="preview_comment">
+<span class="comment">
+ <gthumb:if comment_visibility_image/>
+ <gthumb:comment /> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_image/>
+ <gthumb:place /> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_image/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+</div>
+<table summary="image properties">
+<gthumb:if file_name_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Image</gthumb:text></span></td>
+ <td><span class="property_value file_name"><gthumb:file_name utf8="1" /></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Dimensions</gthumb:text></span></td>
+ <td><span class="property_value image_dim"><gthumb:image_dim/> pixels</span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if file_size_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Bytes</gthumb:text></span></td>
+ <td><span class="property_value file_size"><gthumb:file_size/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_date_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Date</gthumb:text></span></td>
+ <td><span class="property_value date_time"><gthumb:exif:date_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure time</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure mode</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_mode/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Flash</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:flash/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Shutter speed</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:shutter_speed/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Aperture value</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:aperture_value/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Focal length</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:focal_length/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Camera model</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:camera_model/></span></td>
+</tr>
+<gthumb:end/>
+</table>
+</div>
+
+</td>
+</tr>
+<tr>
+<td class="footer">
+
+<!-- Footer -->
+<table class="full_size" summary="copyright">
+<tr>
+ <td>
+ <span class="copyright"><gthumb:footer/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/index.gthtml b/extensions/webalbums/data/albumthemes/NeatRound/index.gthtml
new file mode 100644
index 0000000..6124655
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/index.gthtml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if pages > 1 />
+ <title><gthumb:header/> (<gthumb:page_idx/>/<gthumb:pages/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<gthumb:set_var thumbnail_width="120" thumbnail_height="100"/>
+<gthumb:set_var preview_width="450" preview_height="400"/>
+<body>
+
+<table class="full_size" summary="page body">
+<tr>
+<td class="title">
+
+<!-- Title -->
+<table class="title" summary="title bar">
+<tr>
+ <td>
+ <span class="title"><gthumb:header/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td class="nav_bar">
+
+<!-- Navigation Bar -->
+<table class="full_size" summary="navigation bar">
+<tr>
+ <td>
+
+ </td>
+ <td class="button">
+<gthumb:if page_idx == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:page_link idx_relative=-1/>">
+ <img src="<gthumb:theme_link src='prev.png'/>" alt="Previous" />
+ </a>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if pages == 1 />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <span class="page_index"><gthumb:page_idx/> / <gthumb:pages/></span>
+<gthumb:end/>
+ </td>
+ <td class="button">
+<gthumb:if page_idx == pages />
+ <img src="<gthumb:theme_link src='background.gif'/>" alt="void" />
+<gthumb:else/>
+ <a href="<gthumb:page_link idx_relative=+1/>">
+ <img src="<gthumb:theme_link src='next.png'/>" alt="Next" />
+ </a>
+<gthumb:end/>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+<tr>
+<td>
+
+<!-- Photos -->
+<div class="thumbnails">
+<table summary="thumbnails">
+<gthumb:table/>
+</table>
+</div>
+
+</td>
+</tr>
+<tr>
+<td class="footer">
+
+<!-- Footer -->
+<table class="full_size" summary="copyright">
+<tr>
+ <td>
+ <span class="copyright"><gthumb:footer/></span>
+ </td>
+</tr>
+</table>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/layout.css b/extensions/webalbums/data/albumthemes/NeatRound/layout.css
new file mode 100644
index 0000000..1585c1b
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/layout.css
@@ -0,0 +1,141 @@
+/* Gthumb "NeatRound" layout, v. 2005-02-25 */
+
+html, body {
+ height: 100%;
+ padding: 0;
+ margin: 0;
+}
+
+table {
+ border-collapse: collapse;
+ border-width: 0;
+}
+
+td {
+ border-width: 0;
+ padding: 0;
+ vertical-align: middle;
+ text-align: center;
+}
+
+/* Title, header, footer */
+
+table.full_size {
+ width: 100%;
+ height: 100%;
+}
+
+table.row {
+ width: 100%;
+}
+
+td.title {
+ height: 4em;
+ vertical-align: middle;
+}
+
+table.title {
+ height: 4em;
+ width: 100%;
+}
+
+td.nav_bar {
+ height: 30px;
+}
+
+td.button {
+ width: 60px;
+ white-space: nowrap;
+}
+
+td.button img,
+td.button a img {
+ border-style: none;
+}
+
+td.footer {
+ height: 3em;
+}
+
+
+/* image.gthtml */
+
+td.left_thumbnail {
+ width: 115px;
+ text-align: left;
+ padding-left: 10px;
+}
+
+td.right_thumbnail {
+ width: 115px;
+ text-align: right;
+ padding-right: 10px;
+}
+
+div.properties {
+ margin-top: 1em;
+ margin-left: 10%;
+ text-align: left;
+}
+
+div.preview_comment {
+ margin-bottom: 1em;
+}
+
+div.properties table td {
+ text-align: left;
+ padding: 0.2em 1em 0.2em 0em;
+}
+
+
+
+/* index.gthtml */
+
+div.thumbnails table {
+ margin:auto;
+}
+
+td.td_index {
+ width: 215px;
+ padding: 8px 5px 8px 5px;
+ vertical-align: top;
+}
+
+
+/* thumbnail.gthtml */
+
+table.photo {
+}
+
+td.photo {
+ background-color: white;
+ width: 122px;
+ height: 102px;
+}
+
+img.photo_top {
+ border-style: none;
+ vertical-align: bottom;
+}
+
+img.photo_bottom {
+ border-style: none;
+ vertical-align: top;
+}
+
+img.photo_left {
+ border-style: none;
+ text-align: right;
+ vertical-align: top;
+}
+
+img.photo_right {
+ border-style: none;
+ text-align: left;
+ vertical-align: top;
+}
+
+img.photo_center {
+ border-style: none;
+ vertical-align: top;
+}
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/left.png b/extensions/webalbums/data/albumthemes/NeatRound/left.png
new file mode 100644
index 0000000..3bd3aed
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/left.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/next.png b/extensions/webalbums/data/albumthemes/NeatRound/next.png
new file mode 100644
index 0000000..18ed939
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/next.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/prev.png b/extensions/webalbums/data/albumthemes/NeatRound/prev.png
new file mode 100644
index 0000000..5a8b2eb
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/prev.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/preview.png b/extensions/webalbums/data/albumthemes/NeatRound/preview.png
new file mode 100644
index 0000000..6a100aa
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/preview.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/right.png b/extensions/webalbums/data/albumthemes/NeatRound/right.png
new file mode 100644
index 0000000..3e655dc
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/right.png differ
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/style.css b/extensions/webalbums/data/albumthemes/NeatRound/style.css
new file mode 100644
index 0000000..cd86bb9
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/style.css
@@ -0,0 +1,95 @@
+/* Gthumb "NeatRound" style, v. 2005-02-25 */
+
+/* Common */
+
+body {
+ background-color: white;
+ color: black;
+}
+
+span.title {
+ font-weight: bold;
+ font-size: 150%;
+ color: #555555;
+}
+
+span.page_index {
+ font-weight: bold;
+ font-size: small;
+ color: #969696;
+}
+
+span.file_name {
+ font-family: monospace;
+}
+
+span.copyright {
+ font-size: small;
+ color: #969696;
+}
+
+
+/* image.gthtml */
+
+
+img.preview {
+ border-style: none;
+}
+
+img.thumbnail {
+ border-style: none;
+}
+
+div.preview_comment {
+ text-align: justify;
+}
+
+span.comment {
+ font-size: small;
+}
+
+div.properties {
+ width: 80%;
+}
+
+span.property {
+ font-size: small;
+ font-weight: bold;
+ color: #969696;
+}
+
+span.property_value {
+ font-size: small;
+}
+
+/* index.gthtml */
+
+td.td_index {
+ color: #969696;
+}
+
+td.td_index span.image_dim {
+ font-weight: bold;
+}
+
+
+/* links */
+
+a:link {
+ font-weight: bold;
+ text-decoration: none;
+ color: black;
+}
+
+a:visited {
+ font-weight: bold;
+ text-decoration: none;
+ color: black;
+}
+
+a:hover {
+ font-weight: bold;
+ text-decoration: none;
+ color: #FFD700;
+}
+
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/thumbnail.gthtml b/extensions/webalbums/data/albumthemes/NeatRound/thumbnail.gthtml
new file mode 100644
index 0000000..55b5725
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/NeatRound/thumbnail.gthtml
@@ -0,0 +1,71 @@
+ <table class="photo" summary="photo">
+ <tr>
+ <td colspan="3"><img class="photo_top" src="<gthumb:theme_link src='top.png'/>" alt="Top" /></td>
+ </tr>
+ <tr>
+ <td><img class="photo_left" src="<gthumb:theme_link src='left.png'/>" alt="Left" /></td>
+ <td class="photo">
+ <a href="<gthumb:image_link/>">
+ <gthumb:image thumbnail class="photo_center" /></a>
+ </td>
+ <td><img class="photo_right" src="<gthumb:theme_link src='right.png'/>" alt="Right" /></td>
+ </tr>
+ <tr>
+ <td colspan="3"><img class="photo_bottom" src="<gthumb:theme_link src='bot.png'/>" alt="Bottom" /></td>
+ </tr>
+ </table>
+
+<span class="comment">
+ <gthumb:if comment_visibility_index/>
+ <gthumb:comment max_size=100/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_index/>
+ <gthumb:place max_size=100/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_index/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+
+<gthumb:if image_dim_visibility_index/>
+ <span class="property_value image_dim"><gthumb:image_dim/></span>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size">(<gthumb:file_size/>)</span>
+<gthumb:end/>
+<gthumb:else/>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size"><gthumb:file_size/></span>
+<gthumb:end/>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_index || file_size_visibility_index/>
+ <br />
+<gthumb:end/>
+
+<gthumb:if file_name_visibility_index/>
+ <span class="property_value file_name"><gthumb:file_name utf8="1" /></span><br />
+<gthumb:end/>
+
+<gthumb:if exif_date_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:date_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_mode/></span><br />
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:flash/></span><br />
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:shutter_speed/></span><br />
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:aperture_value/></span><br />
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:focal_length/></span><br />
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:camera_model/></span>
+<gthumb:end/>
diff --git a/extensions/webalbums/data/albumthemes/NeatRound/top.png b/extensions/webalbums/data/albumthemes/NeatRound/top.png
new file mode 100644
index 0000000..d8d5866
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/NeatRound/top.png differ
diff --git a/extensions/webalbums/data/albumthemes/Wiki/.cvsignore b/extensions/webalbums/data/albumthemes/Wiki/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/extensions/webalbums/data/albumthemes/Wiki/Makefile.am b/extensions/webalbums/data/albumthemes/Wiki/Makefile.am
new file mode 100644
index 0000000..0407944
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/Makefile.am
@@ -0,0 +1,16 @@
+gthtml_files = \
+ image.gthtml \
+ index.gthtml \
+ thumbnail.gthtml
+
+themename = Wiki
+themedir = $(datadir)/gthumb/albumthemes/$(themename)
+theme_DATA = \
+ preview.png \
+ layout.css \
+ style.css \
+ $(gthtml_files)
+
+EXTRA_DIST = $(theme_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/webalbums/data/albumthemes/Wiki/image.gthtml b/extensions/webalbums/data/albumthemes/Wiki/image.gthtml
new file mode 100644
index 0000000..f1b82c8
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/image.gthtml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if images > 1 />
+ <title><gthumb:header/> (<gthumb:image_idx/>/<gthumb:images/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+ <!-- Header -->
+ <div class="title">
+ <gthumb:header/>
+ </div>
+
+ <!-- Navigation Bar -->
+ <div class="nav_bar">
+ <span class="link">
+ <gthumb:if image_idx > 1 />
+ <a href="<gthumb:image_link idx_relative="-1"/>">
+ <gthumb:text>Previous</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <span class="nolink">
+ <gthumb:text>Previous</gthumb:text>
+ </span>
+ <gthumb:end/>
+ </span>
+
+ <span class="link">
+ <gthumb:if image_idx < images />
+ <a href="<gthumb:image_link idx_relative="+1"/>">
+ <gthumb:text>Next</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <span class="nolink">
+ <gthumb:text>Next</gthumb:text>
+ </span>
+ <gthumb:end/>
+ </span>
+
+ <span class="link">
+ <a href="<gthumb:page_link idx_relative=0 image_idx/>">
+ <gthumb:text>Index</gthumb:text>
+ </a>
+ </span>
+ </div>
+
+ <!-- Image preview -->
+ <div class="preview">
+ <a href="<gthumb:file_name with_relative_path/>">
+ <gthumb:image preview class="preview"/>
+ </a>
+ </div>
+
+<!-- Comment and Exif data -->
+<div class="properties">
+
+<div class="preview_comment">
+<span class="comment">
+ <gthumb:if comment_visibility_image/>
+ <gthumb:comment /> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_image/>
+ <gthumb:place /> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_image/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+</div>
+
+<table class="properties" summary="image properties">
+<gthumb:if file_name_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Image</gthumb:text></span></td>
+ <td><span class="property_value file_name"><gthumb:file_name utf8="1" /></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Dimensions</gthumb:text></span></td>
+ <td><span class="property_value image_dim"><gthumb:image_dim/> pixels</span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if file_size_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Bytes</gthumb:text></span></td>
+ <td><span class="property_value file_size"><gthumb:file_size/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_date_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Date</gthumb:text></span></td>
+ <td><span class="property_value date_time"><gthumb:exif:date_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure time</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_time/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Exposure mode</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:exposure_mode/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Flash</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:flash/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Shutter speed</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:shutter_speed/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Aperture value</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:aperture_value/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Focal length</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:focal_length/></span></td>
+</tr>
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_image/>
+<tr>
+ <td><span class="property"><gthumb:text>Camera model</gthumb:text></span></td>
+ <td><span class="property_value exif"><gthumb:exif:camera_model/></span></td>
+</tr>
+<gthumb:end/>
+</table>
+</div>
+
+ <!-- Footer -->
+ <div class="copyright">
+ <gthumb:footer/>
+ </div>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/Wiki/index.gthtml b/extensions/webalbums/data/albumthemes/Wiki/index.gthtml
new file mode 100644
index 0000000..c576b21
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/index.gthtml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<gthumb:language/>">
+<head>
+<gthumb:if pages > 1 />
+ <title><gthumb:header/> (<gthumb:page_idx/>/<gthumb:pages/>)</title>
+<gthumb:else/>
+ <title><gthumb:header/></title>
+<gthumb:end/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Generator" content="gThumb Image Viewer" />
+ <link href="<gthumb:theme_link src='layout.css'/>" rel="stylesheet" type="text/css" />
+ <link href="<gthumb:theme_link src='style.css'/>" rel="stylesheet" type="text/css" />
+</head>
+<gthumb:set_var thumbnail_width="140" thumbnail_height="140"/>
+<gthumb:set_var preview_width="550" preview_height="500"/>
+<body>
+
+ <!-- Header -->
+ <div class="title">
+ <gthumb:header/>
+ </div>
+
+
+ <!-- Navigation Bar -->
+ <gthumb:if pages > 1 />
+ <div class="nav_bar">
+ <span class="link">
+ <gthumb:if page_idx > 1 />
+ <a href="<gthumb:page_link idx_relative="-1"/>">
+ <gthumb:text>Previous</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <span class="nolink">
+ <gthumb:text>Previous</gthumb:text>
+ </span>
+ <gthumb:end/>
+ </span>
+
+ <span class="link">
+ <gthumb:if page_idx < pages />
+ <a href="<gthumb:page_link idx_relative="+1"/>">
+ <gthumb:text>Next</gthumb:text>
+ </a>
+ <gthumb:else/>
+ <span class="nolink">
+ <gthumb:text>Next</gthumb:text>
+ </span>
+ <gthumb:end/>
+ </span>
+ </div>
+ <gthumb:end/>
+
+
+ <!-- Index -->
+ <div class="thumbnails">
+ <table class="thumbnails" summary="thumbnails">
+ <gthumb:table/>
+ </table>
+ </div>
+
+
+ <!-- Footer -->
+ <div class="copyright">
+ <gthumb:footer/>
+ </div>
+
+</body>
+</html>
diff --git a/extensions/webalbums/data/albumthemes/Wiki/layout.css b/extensions/webalbums/data/albumthemes/Wiki/layout.css
new file mode 100644
index 0000000..12db08e
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/layout.css
@@ -0,0 +1,90 @@
+/* Gthumb "Wiki" layout */
+
+ div.properties {
+ margin-top: 1em;
+ margin-left: 10px;
+ text-align: justify;
+ }
+
+ table.properties {
+ margin: 0px;
+ padding: 0px;
+ }
+
+ table.thumbnails {
+ border-spacing: 20px;
+ }
+
+ tr.tr_index {
+ text-align: center;
+ vertical-align: top;
+ }
+
+ td.td_index {
+ width: 165px;
+ text-align: center;
+ vertical-align: top;
+ }
+
+ table.photo {
+ width: 165px;
+ padding-bottom: 10px;
+ }
+
+ td.photo {
+ text-align: center;
+ vertical-align: middle;
+ height: 165px;
+ }
+
+ div.nav_bar {
+ padding: 5px 0px 10px 0px;
+ font-size: 9pt;
+ }
+
+ td.nav_button_preview, td.nav_button_up {
+ width: 50px;
+ height: 50px;
+ padding: 0px;
+ text-align: center;
+ vertical-align: center;
+ }
+
+ div.copyright {
+ padding-top: 25px;
+ padding-left: 10px;
+ }
+
+ div.comment {
+ text-align: left;
+ }
+
+ div.preview_comment {
+ padding-bottom: 15px;
+ width: 500px;
+ }
+
+ td.title {
+ text-align: center;
+ }
+
+ div.title {
+ font-size: 12pt;
+ font-weight: bold;
+ margin-left: 10px;
+ margin-bottom: 5px;
+ }
+
+ span.page_index {
+ font-size: 9pt;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+
+ img.thumbnail {
+ border: 0px;
+ }
+
+ div.preview {
+ padding-left: 10px;
+ }
diff --git a/extensions/webalbums/data/albumthemes/Wiki/preview.png b/extensions/webalbums/data/albumthemes/Wiki/preview.png
new file mode 100644
index 0000000..8eb68f6
Binary files /dev/null and b/extensions/webalbums/data/albumthemes/Wiki/preview.png differ
diff --git a/extensions/webalbums/data/albumthemes/Wiki/style.css b/extensions/webalbums/data/albumthemes/Wiki/style.css
new file mode 100644
index 0000000..d54b409
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/style.css
@@ -0,0 +1,79 @@
+/* Gthumb "Wiki" style */
+
+ body {
+ background: white;
+ }
+
+ td.photo {
+ border: 1px solid #ccc;
+ }
+
+ table.nav_button {
+ border: 0px outset #bbb;
+ }
+
+ div.copyright {
+ font-size: 8pt;
+ color: #888;
+ }
+
+ img.photo_center {
+ border: 1px solid #ccc;
+ }
+
+ img.preview {
+ border: 1px solid #ccc;
+ }
+
+ .comment, .property, .property_value {
+ font-size: 9pt;
+ }
+
+ .property_value file_name {
+ font-family: monospace;
+ }
+
+ .property {
+ font-weight: bold;
+ }
+
+ .comment, .property_value {
+ font-size: 9pt;
+ }
+
+ .comment {
+ font-style: italic;
+ }
+
+ div.title {
+ color: #000;
+ }
+
+ span.page_index {
+ color: #000;
+ }
+
+ /* links */
+
+ a:link {
+ color: #0000FF;
+ text-decoration: none;
+ }
+
+ a:visited {
+ color: #0000FF;
+ text-decoration: none;
+ }
+
+ a:hover {
+ color: #0000FF;
+ text-decoration: underline;
+ }
+
+ span.nolink {
+ color: #AAA;
+ }
+
+ span.link {
+ padding: 10px;;
+ }
diff --git a/extensions/webalbums/data/albumthemes/Wiki/thumbnail.gthtml b/extensions/webalbums/data/albumthemes/Wiki/thumbnail.gthtml
new file mode 100644
index 0000000..5344585
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/Wiki/thumbnail.gthtml
@@ -0,0 +1,64 @@
+ <table class="photo" summary="photo">
+ <tr>
+ <td class="photo">
+ <a href="<gthumb:image_link/>">
+ <gthumb:image thumbnail class="photo_center" />
+ </a>
+ </td>
+ </tr>
+ </table>
+
+<span class="comment">
+ <gthumb:if comment_visibility_index/>
+ <gthumb:comment max_size=100/> <br />
+ <gthumb:end/>
+ <gthumb:if place_visibility_index/>
+ <gthumb:place max_size=100/> <br />
+ <gthumb:end/>
+ <gthumb:if date_time_visibility_index/>
+ <gthumb:date_time/>
+ <gthumb:end/>
+</span><br />
+
+<gthumb:if image_dim_visibility_index/>
+ <span class="property_value image_dim"><gthumb:image_dim/></span>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size">(<gthumb:file_size/>)</span>
+<gthumb:end/>
+<gthumb:else/>
+<gthumb:if file_size_visibility_index/>
+ <span class="property_value file_size"><gthumb:file_size/></span>
+<gthumb:end/>
+<gthumb:end/>
+<gthumb:if image_dim_visibility_index || file_size_visibility_index/>
+ <br />
+<gthumb:end/>
+
+<gthumb:if file_name_visibility_index/>
+ <span class="property_value file_name"><gthumb:file_name utf8="1" /></span><br />
+<gthumb:end/>
+
+<gthumb:if exif_date_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:date_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_time_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_time/></span><br />
+<gthumb:end/>
+<gthumb:if exif_exposure_mode_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:exposure_mode/></span><br />
+<gthumb:end/>
+<gthumb:if exif_flash_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:flash/></span><br />
+<gthumb:end/>
+<gthumb:if exif_shutter_speed_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:shutter_speed/></span><br />
+<gthumb:end/>
+<gthumb:if exif_aperture_value_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:aperture_value/></span><br />
+<gthumb:end/>
+<gthumb:if exif_focal_length_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:focal_length/></span><br />
+<gthumb:end/>
+<gthumb:if exif_camera_model_visibility_index/>
+ <span class="property_value exif"><gthumb:exif:camera_model/></span>
+<gthumb:end/>
diff --git a/extensions/webalbums/data/albumthemes/text.h b/extensions/webalbums/data/albumthemes/text.h
new file mode 100644
index 0000000..9e8220d
--- /dev/null
+++ b/extensions/webalbums/data/albumthemes/text.h
@@ -0,0 +1,42 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2004 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+#include <glib/gi18n.h>
+
+static char *text[] = {
+ N_("Previous"),
+ N_("Next"),
+ N_("Index"),
+ N_("Image"),
+ N_("Dimensions"),
+ N_("Bytes"),
+ N_("Date"),
+ N_("Exposure time"),
+ N_("Exposure mode"),
+ N_("Flash"),
+ N_("Shutter speed"),
+ N_("Aperture value"),
+ N_("Focal length"),
+ N_("Camera model")
+ N_("pixels")
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]