diff --git a/src/ReportBase/_Constants.py b/src/ReportBase/_Constants.py
index 30e450271..61c83b86c 100644
--- a/src/ReportBase/_Constants.py
+++ b/src/ReportBase/_Constants.py
@@ -62,6 +62,7 @@ book_categories = {
CSS_FILES = [
# First is used as default selection.
[_("Basic-Ash"), 'Web_Basic-Ash.css'],
+ [_("Basic-Blue"), 'Web_Basic-Blue.css'],
[_("Basic-Cypress"), 'Web_Basic-Cypress.css'],
[_("Basic-Lilac"), 'Web_Basic-Lilac.css'],
[_("Basic-Peach"), 'Web_Basic-Peach.css'],
diff --git a/src/data/Web_Alphabet-Vertical.css b/src/data/Web_Alphabet-Vertical.css
index 7c138cf82..db62d863f 100755
--- a/src/data/Web_Alphabet-Vertical.css
+++ b/src/data/Web_Alphabet-Vertical.css
@@ -30,16 +30,7 @@ see .
--------------------------------------------------------------------------------------------------
# $Id: $
- Body Element
------------------------------------------------------ */
-body {
- font-family: Arial, sans, sans-serif, Helvetica;
- color: #000;
- background-color: #FFF;
- padding: 60px 0px 0px 108px;
-}
-
-/* Header
+ Header
----------------------------------------------------- */
#header {
position: fixed;
@@ -49,24 +40,24 @@ body {
width: 100%;
}
-/* Navigation/ SubNavigation
+/* Alphabet Navigation
----------------------------------------------------- */
-div#navigation, div#subnavigation {
+div#alphabet {
position: fixed;
- left: 0px;
- width: 108px;
- height: 500px;
+ left: 4px;
+ width: 40px;
+ height: 326px;
overflow-x: auto;
border-width: 2px 4px 2px 4px;
border-style: solid;
}
-div#navigation ul, div#subnavigation ul {
+div#alphabet ul {
display: inline;
list-style: none;
padding: 0px 9px 0px 9px;
margin: 0;
}
-div#navigation ul li, div#subnavigation ul li {
+div#alphabet ul li {
font: bold 14px/100% sans;
padding: 10px 10px 10px 0px;
margin:0;
@@ -74,101 +65,17 @@ div#navigation ul li, div#subnavigation ul li {
border-width: 0px 0px 2px 0px;
border-style: solid;
}
-div#navigation ul li:first-child, div#subnavigation ul li:first-child {
+div#alphabet ul li:first-child {
border-top: 0;
}
-div#navigation ul li:last-child, div#subnavigation ul li:last-child {
+div#alphabet ul li:last-child {
border-bottom: 0;
}
-div#navigation ul li a, div#subnavigation ul li a {
+div#alphabet ul li a {
text-decoration: none;
display: block;
padding: 10px 0px 6px 10px;
}
-div#navigation ul li a:hover, div#subnavigation ul li a:hover {
- background-color: #C1B398;
-}
-div#navigation ul li.CurrentSection a, div#subnavigation ul li.CurrentSection a {
- font-weight:bold;
- font-style: italic;
- background-color: #453619;
- color: #FFF;
-}
-div#navigation ul li.CurrentSection a:hover {
- background-color: #000;
- color: #FFF;
-}
-div#subnavigation ul li.CurrentSection a {
- border-width: 0px 0px 2px 0px;
- border-color: #5D835F;
-}
-
-/* Alphabet Navigation
------------------------------------------------------ */
-div#alphabet {
- width: 100%;
- margin: 0;
- padding: 0;
-}
-div#alphabet ul {
- list-style:none;
- min-width: 900px;
- height: 40px;
- margin:0;
- padding: 0px 0px 0px 16px;
- border-bottom: solid 2px #5D835F;
-}
-div#alphabet ul li {
- float:left;
-}
-div#alphabet ul li a {
- display: block;
- padding: 12px 16px 14px 1px;
- float:left;
- font: .8em bold italic small-caps verdana, serif;
- color: #000;
- text-decoration:none;
- margin:0;
-}
div#alphabet ul li a:hover {
background-color: #C1B398;
}
-
-/* Alphabet Navigation
------------------------------------------------------ */
-div#alphabet {
- width: 100%;
- margin: 0;
- background-color: #6AF364;
-}
-div#alphabet ul {
- list-style:none;
- min-width:770px;
- height:24px;
- margin:0;
- padding: 0px 0px 0px 16px;
- border-width: 1px 0px 1px 0px;
- border-style: solid;
- border-color: #5D835F;
-}
-div#alphabet ul li:after {
- content:" |";
-}
-div#alphabet ul li {
- margin:0;
- float:left;
-}
-div#alphabet ul li a {
- display:block;
- padding: 4px 8px 4px 8px;
- float:left;
- font: normal 16px/100% sans;
- margin:0;
- text-decoration:none;
- color: #000;
-}
-div#alphabet ul li a:hover {
- background-color: #000;
- color: #FFF;
-}
-
diff --git a/src/data/Web_Basic-Blue.css b/src/data/Web_Basic-Blue.css
new file mode 100644
index 000000000..b1c833674
--- /dev/null
+++ b/src/data/Web_Basic-Blue.css
@@ -0,0 +1,1581 @@
+./*
+#
+# Gramps - a GTK+/GNOME based genealogy program
+#
+# Copyright 2008-2009 Rob G. Healey
+# Copyright 2009 Stephane Charette
+#
+# 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 Place, Suite 330, Boston, MA 02111-1307 USA
+#
+
+**************************************************************************************************
+GRAMPS Cascading Style Sheet
+Style Name: Visually Impaired Stylesheet
+Style Author: Jason M. Simanek (2008)
+***************************************************************************************************
+
+--------------------------------------------------------------------------------------------------
+Color Palette
+--------------------------------------------------------------------------------------------------
+brown dark #453619, #542
+brown light #C1B398
+gray #696969
+green dark #228A22
+green #6AF364, #5D835F
+green lighter #D8F3D6
+
+===== Ancestor Graph Color Scheme =====
+Males #E5F2FE
+Females #FFC0CB
+Unknown #000
+
+===== Web Graphics =====
+Males Web_Gender_Male.png
+Females Web_Gender_Female.png
+
+# $Id: Web_Visually.css 14483 2010-02-25 15:52:32Z robhealey1 $
+
+ NarrativeWeb Styles
+-------------------------------------------------------------------------------------------- */
+
+/* General Elements
+----------------------------------------------------- */
+div {
+ margin:0;
+ padding:0;
+}
+table {
+ border:none;
+ border-collapse:collapse;
+}
+th {
+ font-weight:bold;
+ text-align:left;
+ padding:1px 3em 1px 0.5em;
+}
+td {
+ vertical-align:top;
+ padding:0;
+}
+img {
+ border:none;
+ margin:0;
+}
+.thumbnail a:hover {
+ background:none;
+}
+.content {
+ overflow: auto;
+ width:965px;
+ margin:0 auto;
+ padding-bottom: .2em;
+}
+.content div.snapshot {
+ margin: 0;
+ padding: 0;
+ background: none;
+}
+.content div.snapshot div.thumbnail {
+ margin: 0;
+ padding: 2em 0 0 0;
+ background: none;
+}
+.content div.snapshot div.thumbnail a {
+ display: block;
+ width: 96px;
+ margin: 0 auto;
+}
+.fullclear {
+ width:100%;
+ height:1px;
+ margin:0;
+ padding:0;
+ clear:both;
+}
+
+/* General Text
+----------------------------------------------------- */
+h1 {
+ font:normal 2em/1.2em serif;
+}
+h2 {
+ font:bold 2em/1.2em sans;
+}
+h3 {
+ font:normal 2em/1.2em serif;
+ text-align:center;
+ margin:0;
+ padding:.5em 20px .2em 20px;
+ border-bottom: double 4px #5D835F;
+}
+h4 {
+ font: normal 1.2em/1.2em serif;
+ color: #FFF;
+ margin-top: .3cm;
+ padding:.2em 0 .2em 20px;
+ background-color: #453619;
+ border-width: 4px 0px 4px 0px;
+ border-style: solid;
+ border-color: #5D835F;
+}
+h5, h6 {
+ font:normal 1em/1.2em serif;
+ font-style:italic;
+ margin:1.3em 0 .5em 1em;
+}
+p#description {
+ max-width:800px;
+ margin:0;
+ padding:1em 20px;
+}
+p#description:first-letter {
+ color: #903;
+ font-size: 36px;
+ font-weight: bold;
+ font-style: italic;
+}
+p a {
+ color: #FFF;
+ text-decoration:underline;
+}
+sup {
+ line-height:0;
+}
+ol {
+ font:normal .9em/1.6em sans-serif;
+ margin-top:0;
+ margin-bottom:0;
+ padding-top:.5em;
+ padding-bottom:0;
+}
+ol li a {
+ text-decoration:none;
+}
+ol li a:hover {
+ text-decoration: none;
+}
+a {
+ color: #542;
+}
+a:visited {
+ color: #542;
+}
+a:hover {
+ color: #000;
+ background-color: #C1B398;
+ text-decoration: none;
+}
+span.preposition {
+ padding-left:1em;
+ padding-right:1em;
+}
+.grampsid {
+ font:normal .8em/1.2em monospace;
+ color: #000;
+}
+
+/* Header
+----------------------------------------------------- */
+div#header {
+ background-color: #542;
+ border-bottom: solid 8px #5D835F;
+ height: 60px;
+ width: 100%;
+}
+#SiteTitle {
+ margin:0;
+ padding:.5em 0 0.5em 10px;
+ font-size: 28px;
+ color: #FFF;
+ font-style: italic;
+}
+p#user_header {
+ font-size:1.3em;
+ text-align:left;
+ color: #6AF364;
+ margin:0;
+ padding:.2em 0 .6em 20px;
+}
+
+/* Footer
+----------------------------------------------------- */
+div#footer {
+ width: 100%;
+ height: 60px;
+ overflow: auto;
+ clear: both;
+ font-size: 12px;
+ margin: 0;
+ color: #FFF;
+ background-color: #542;
+ border-top: solid 8px #5D835F;
+}
+div#footer a, div#footer a:visited {
+ text-decoration:none;
+ color: #FFF;
+}
+div#footer a:hover {
+ color: #000;
+ text-decoration: none;
+}
+div#footer img {
+ border:0;
+ margin:0 auto;
+ vertical-align:middle;
+}
+div#footer p#createdate {
+ float:left;
+ width:60%;
+ text-align:left;
+ margin-left:10px;
+}
+div#footer p#copyright {
+ float:right;
+ text-align:right;
+ color: #FFF;
+ margin: 10px 10px 0px 0px;
+}
+div#footer p#copyright img {
+ float:right;
+ margin-right: 10px;
+}
+#user_footer {
+ width:70%;
+ float:left;
+ margin:1em;
+ color: #6AF364;
+}
+#user_footer p {
+ font:normal 1em/1.2em serif;
+ margin:0;
+ padding:0;
+}
+
+/* Main Table
+----------------------------------------------------- */
+table.infolist {
+ width:100%;
+ margin: 0;
+ padding: 0;
+ font-size: 12px;
+}
+table.infolist thead tr th {
+ font:normal 1.1em/1.2em serif;
+ color: #000;
+ margin:0;
+ padding:.2em 10px;
+ background-color: #6AF364;
+ border: solid 1px #5D835F;
+}
+table.infolist thead tr th a {
+ color: #000;
+}
+table.infolist thead tr th a:hover {
+ background-color: #C1B398;
+}
+table.infolist tr td {
+ font:normal 1.1em/1.4em serif;
+ vertical-align:middle;
+ padding: 6px 0 6px 10px;
+}
+table.infolist tr td a {
+ display:block;
+ text-decoration:none;
+ color: #000;
+}
+table.infolist tr.BeginLetter td, table.infolist tr.BeginSurname td {
+ border-top: solid 1px #5D835F;
+}
+table.infolist tr td.ColumnLetter {
+ width:3%;
+ text-align:center;
+}
+table.infolist tbody tr td.ColumnBirth {
+ font-size:.9em;
+ width:10%;
+}
+table.infolist tbody tr td.ColumnDeath {
+ font-size:.9em;
+ width:10%;
+}
+table.infolist tbody tr td.ColumnRowLabel {
+ width:2%;
+ padding-left:20px;
+}
+table.infolist tbody tr td.ColumnType {
+ width:6%;
+ padding-left:20px;
+}
+table.infolist tbody tr td.ColumnPartner {
+ font-size:.9em;
+ background-color: #FFF;
+}
+table.infolist tbody tr td.ColumnPartner a {
+ display:block;
+ padding:.6em 10px;
+ vertical-align:middle;
+}
+table.infolist tbody tr td.ColumnParents {
+ font-size:.9em;
+}
+table.infolist tbody tr td.ColumnParents span.father,
+table.infolist tbody tr td.ColumnParents span.mother {
+ display:block;
+}
+table.infolist tbody tr td.ColumnParents span.mother:before {
+ content:"+ ";
+}
+
+/* Surnames
+----------------------------------------------------- */
+#Surnames {
+ margin: 0;
+ padding: 0;
+}
+#SurnameDetail p#description {
+ padding-top:0;
+}
+table.surnamelist thead tr th.ColumnSurname,
+#Surnames table.surnamelist tbody tr td.ColumnSurname {
+ width:50%;
+}
+table.surnamelist thead tr th {
+ padding:0;
+}
+table.surnamelist thead tr th a, table.surnamelist thead tr th a:visited {
+ display:block;
+ text-align:left;
+ text-decoration:none;
+ padding:.2em 10px;
+}
+table.surnamelist thead tr th.ColumnLetter {
+ padding: 0px 10px 0px 20px;
+}
+table.surnamelist tbody tr td {
+ background-color: #D8F3D6;
+}
+table.surnamelist tbody tr td.ColumnLetter a {
+ background: none;
+}
+table.surnamelist tbody tr td.ColumnSurname {
+ background-color: #FFF;
+}
+table#SortByName thead tr th.ColumnSurname,
+table#SortByCount thead tr th.ColumnQuantity {
+ background-color: #C1B398;
+}
+table#SortByName thead tr th.ColumnSurname a:after,
+table#SortByCount thead tr th.ColumnQuantity a:after {
+ content:" ↓";
+}
+table#SortByName tbody tr td.ColumnSurname {
+ padding:0;
+}
+table#SortByName tbody tr td.ColumnSurname a {
+ display:block;
+ padding:.1em 10px .3em 10px;
+}
+table.surnamelist tbody tr td.ColumnSurname:hover,
+ table#SortByName tbody tr td.ColumnSurname:hover {
+ background-color: #C1B398;
+}
+table.surname {
+ border-bottom: solid 1px #5D835F;
+}
+table.surname thead tr th.ColumnName {
+ width:20%;
+ padding-left:20px;
+}
+table.surname tbody tr td {
+ border-bottom: dashed 1px #5D835F;
+ background-color: #D8F3D6;
+}
+table.surname tbody tr td.ColumnName {
+ background-color: #FFF;
+ width:20%;
+ padding:0;
+}
+table.surname tbody tr td.ColumnName a {
+ display:block;
+ padding:.6em 10px .6em 20px;
+}
+table.surname tbody tr td.ColumnName a span.grampsid {
+ color: #000;
+}
+table.surname tbody tr td.ColumnName:hover {
+ background-color: #C1B398;
+}
+table.surname tbody tr td.ColumnPartner {
+ background-color: #FFF;
+}
+table.surname tbody tr td.ColumnPartner a {
+ display:block;
+ padding:.6em 10px .6em 0px;
+}
+table.surname thead tr th.ColumnParents,
+table.surname tbody tr td.ColumnParents {
+ width:25%;
+}
+
+/* Individuals
+----------------------------------------------------- */
+div#Individuals {
+ margin: 0;
+ padding: 0;
+}
+div#Individuals table.individuallist {
+ border-bottom: solid 1px #5D835F;
+}
+div#Individuals table.individuallist tbody tr td {
+ border-bottom: dashed 1px #5D835F;
+ background-color: #D8F3D6;
+}
+div#Individuals table.individuallist tbody tr td a {
+ display: block;
+ padding: .6em 10px;
+}
+div#Individuals table.individuallist tbody tr td.ColumnSurname a:hover,
+div#Individuals table.individuallist tbody tr td.ColumnSurname a:active {
+ cursor:default;
+ color: #000;
+ background:none;
+}
+div#Individuals table.individuallist tbody tr td.ColumnName {
+ background-color: #FFF;
+}
+div#Individuals table.individuallist tbody tr td.ColumnName a {
+ vertical-align:middle;
+}
+div#Individuals table.individuallist tbody tr td.ColumnPartner {
+ background-color: #FFF;
+}
+div#Individuals div table.infolist tr td p {
+ font:normal .9em/1.2em sans-serif;
+ vertical-align:top;
+}
+div#Individuals div table.infolist tr td p a {
+ display:inline;
+}
+div#IndividualDetail {
+ padding: 0;
+ margin: 0;
+}
+#IndividualDetail div table.infolist tr td {
+ font:normal .9em/1.2em sans-serif;
+ vertical-align:top;
+}
+div#IndividualDetail div table.infolist tr td a {
+ display:inline;
+}
+div#IndividualDetail table.infolist tr td a:hover {
+ text-decoration: none;
+}
+div#IndividualDetail table.infolist tbody tr td.ColumnAttribute {
+ width:10%;
+}
+div#IndividualDetail div.subsection table tr td:first-child {
+ padding-left:20px;
+}
+
+/* Places
+----------------------------------------------------- */
+#Places {
+ margin: 0;
+ padding: 0;
+}
+#Places table.infolist tbody tr td.ColumnLetter {
+ background-color: #D8F3D6;
+}
+#Places table.infolist tbody tr td.ColumnLetter a:hover {
+ background: none;
+}
+#Places table.infolist tbody tr td.ColumnName {
+ background-color: #FFF;
+}
+#Places table.infolist tbody tr td.ColumnName a {
+ padding:.1em 10px .3em 10px;
+}
+
+/* EventList and EventDetail
+----------------------------------------------------- */
+div#EventList, div#EventDetail {
+ margin: 0;
+ padding: 0;
+}
+div#events table.eventlist {
+ margin-top: .3cm;
+}
+div#events table.eventlist tbody tr td.ColumnEvent a {
+ padding: 2px 100px 2px 10px;
+}
+div#events table.eventlist tbody tr td.ColumnPlace a {
+ padding: 2px 70px 2px 0px;
+}
+table.eventlist tbody tr td {
+ background-color: #FFF;
+ border-bottom: dashed 1px #5D835F;
+}
+table.eventlist tbody tr td.ColumnEvent {
+ width: 20%;
+}
+table.eventlist tbody tr td.ColumnDate {
+ background-color: #D8F3D6;
+ width: 16%;
+}
+table.eventlist tbody tr td.ColumnPlace {
+ background-color: #FFF;
+ width: 35%;
+}
+table.eventlist tbody tr td.ColumnSources {
+ background-color: #FFF;
+ width: 12%;
+}
+table.eventlist tbody tr td.ColumnNotes {
+ background-color: #D8F3D6;
+ width: 25%;
+}
+table.eventlist tbody tr td.ColumnPerson {
+ width: 35%;
+}
+table.eventlist tbody tr td.ColumnPartner {
+ width: 35%;
+}
+div#EventList table.eventlist tbody tr.BeginName {
+ border-top: solid 1px #5D835F;
+}
+div#EventList table.eventlist tbody tr td {
+ padding: 4px 0px 4px 0px;
+}
+div#EventList table.alphaevent {
+ padding: .3em 0 .3em 0;
+ margin: 0;
+}
+div#EventList table.alphaevent tbody tr.BeginEvent {
+ border-top: solid 1px #5D835F;
+}
+div#EventList table.alphaevent tbody tr td {
+ background-color: #D8F3D6;
+ border-bottom: dashed 1px #5D835F;
+}
+div#EventList table.alphaevent tbody tr td.ColumnType {
+ width: 15%;
+}
+div#EventList table.alphaevent tbody tr td.ColumnType a:hover {
+ background: none;
+}
+div#EventList table.alphaevent tbody tr td.ColumnGRAMPSID {
+ background-color: #FFF;
+ width: 12%;
+}
+div#EventList table.alphaevent tbody tr td.ColumnDate {
+ width: 20%;
+}
+div#EventList table.alphaevent tbody tr td.ColumnPerson {
+ width: 60%;
+}
+div#EventList table.alphaevent tbody tr td.ColumnPerson span.father,
+div#EventList table.alphaevent tbody tr td.ColumnPerson span.mother {
+ display:block;
+}
+div#EventList table.alphaevent tbody tr td.ColumnPerson span.mother:before {
+ content:"+ ";
+}
+div#EventDetail h3 {
+ font-size: 28px;
+}
+div#EventDetail h3:first-letter {
+ color: #903;
+}
+div#EventDetail table.eventlist {
+ width: 100%;
+}
+div#EventDetail table.eventlist tbody tr {
+ border-top: dashed 1px #5D835F;
+}
+div#EventDetail table.eventlist tbody tr td.ColumnAttribute {
+ text-transform: uppercase;
+ width: 20%;
+}
+div#EventDetail table.eventlist tbody tr td.ColumnDate {
+ background-color: #D8F3D6;
+ border-top: solid 1px #5D835F;
+}
+div#EventDetail table.eventlist tbody tr td.ColumnPerson {
+ background-color: #D8F3D6;
+}
+
+/* Gallery
+----------------------------------------------------- */
+#Gallery {
+ margin: 0;
+ padding: 0;
+}
+#Gallery table.infolist tbody tr td {
+ background-colo: #D8F3D6;
+}
+#Gallery table.infolist tbody tr td.ColumnRowLabel {
+ width: 5%;
+ padding-bottom: 0;
+}
+#Gallery table.infolist tbody tr td.ColumnName {
+ width: 50%;
+ background-color: #FFF;
+}
+#Gallery table.infolist tbody tr td.ColumnName a {
+ display: block;
+ padding: .2em 10px .4em 10px;
+}
+#Gallery table.infolist tbody tr td.ColumnDate {
+ width: 20%;
+}
+#Gallery table.infolist tbody tr td.ColumnMime {
+ width: 20%;
+}
+#Gallery table.gallerylist tbody tr td {
+ border-bottom: dashed 1px #5D835F;
+}
+#GalleryNav {
+ font:normal 1em/1em sans-serif;
+ margin:1em 0 0 0;
+ padding:1.2em 0 1.4em 0;
+ text-align:center;
+}
+#GalleryNav a {
+ font-weight:bold;
+ text-decoration:none;
+ border: solid 1px #5D835F;
+}
+#GalleryNav a#Previous {
+ padding:.5em .7em .3em .7em;
+}
+#GalleryNav a#Next {
+ padding:.5em 1.9em .3em 1.9em;
+}
+#GalleryPages {
+ margin:0 1em;
+}
+#GalleryCurrent {
+ font:bold 1.2em/1em sans-serif;
+}
+#GalleryTotal {
+ font-weight:normal;
+}
+#GalleryDisplay {
+ margin:0 auto;
+ padding:0;
+ position:relative;
+ overflow:hidden;
+ text-align:center;
+ border: solid 1px #5D835F;
+}
+#GalleryDisplay img {
+ margin:0 auto;
+}
+#GalleryDetail div#summaryarea{
+ margin:0;
+ padding:2em 0 0 0;
+}
+#GalleryDetail div#summaryarea h3 {
+ font:normal 1.2em/1.2em serif;
+ text-align:center;
+}
+#GalleryDetail div h4 {
+ margin-top:0;
+}
+#GalleryDetail div#summaryarea table.gallery {
+ padding-bottom:0;
+ margin: 1.5em 0 0 0;
+ border-style: solid;
+ border-width: 2px 0 1px 0;
+ border-color: #5D835F;
+}
+#GalleryDetail table.exifdata {
+ margin: .2em 0 .2em 0;
+ width: 100%;
+}
+#GalleryDetail table.exifdata tbody tr {
+ border-top: solid 1px #5D835F;
+}
+#GalleryDetail table.exifdata tbody tr td.ColumnExifKeys {
+ width: 60%;
+}
+#GalleryDetail table.exifdata tbody tr td.ColumnMetaData {
+ width: 40%;
+}
+
+/* Contact
+----------------------------------------------------- */
+#Contact #summaryarea {
+ background-color: #D8F3D6;
+ width:500px;
+ margin:0 auto;
+ padding:3em;
+ border: double 4px #5D835F;
+}
+#Contact #summaryarea img {
+ float:right;
+ margin:0;
+}
+#researcher {
+ font:normal 1.5em/1.4em serif;
+ margin-top:.3em;
+}
+#researcher h3 {
+ font:normal 1.2em/1.4em serif;
+ padding:0;
+ text-align:left;
+}
+#researcher span {
+ float:left;
+ display:block;
+ font:normal .9em/1.4em serif;
+ margin-right:.4em;
+}
+#streetaddress {
+ width:100%;
+}
+#city:after {
+ content:",";
+}
+#country {
+ clear:left;
+}
+#email {
+ clear:left;
+}
+#email a {
+ text-decoration:none;
+}
+
+/* Download
+----------------------------------------------------- */
+
+div#Download {
+ margin: 0;
+ padding: 0px 0px .5em 0px;
+}
+div#Download table.download {
+ padding: 0;
+ margin: .5em 0 .5em 0;
+ border: solid 1px #5D835F;
+ width: 100%;
+}
+div#Download table.download img {
+ float:center;
+}
+div#Download table.download tbody tr#Row02 {
+ border-bottom: solid 2px #5D835F;
+}
+div#Download table.download tbody tr td {
+ background-color: #D8F3D6;
+ border: solid 1px #5D835F;
+ text-align:left;
+}
+div#Download table.download td.Filename {
+ width:30%;
+ background-color: #FFF;
+}
+div#Download table.download td.Filename a {
+ display: block;
+ padding: 10px 10px 14px 6px;
+ font-weight:bold;
+ font-style: italic;
+ text-decoration:none;
+}
+div#Download table.download td.Description {
+ width:45%;
+}
+div#Download table.download td.License {
+ width:6%;
+}
+div#Download table.download td.Modified {
+ width:17%;
+}
+
+/* Sources
+----------------------------------------------------- */
+#Sources { }
+
+div#Sources table.infolist tbody tr td {
+ background-color: #D8F3D6;
+}
+div#Sources table.infolist tbody tr td.ColumnRowLabel {
+ padding-bottom:0;
+}
+div#Sources table.infolist tbody tr td.ColumnName {
+ padding:0;
+ background-color: #FFF;
+}
+div#Sources table.infolist tbody tr td.ColumnName a {
+ font-size:.9em;
+ padding:.1em 10px .3em 10px;
+}
+div#Sources table.infolist tbody tr td.ColumnName a:hover { }
+
+div#SourceDetail div#references ol li {
+ padding-bottom:.5em;
+}
+
+
+/* Repositories
+------------------------------------------------------ */
+div#RepositoryList {
+ margin: 0;
+ padding: 0;
+}
+div#RepositoryList table.repolist tbody tr td {
+ background-color: #D8F3D6;
+}
+div#RepositoryList table.repolist tbody tr td a {
+ display: block;
+ padding: .3em 10px;
+}
+div#RepositoryList table.repolist tbody tr td.ColumnRowLabel {
+ width: 9%;
+}
+div#RepositoryList table.repolist tbody tr td.ColumnType {
+ width: 15%;
+}
+div#RepositoryList table.repolist tbody tr td.ColumnName {
+ background-color: #FFF;
+}
+
+/* Address Book
+------------------------------------------------------ */
+div#AddressBookList, AddressBookDetail {
+ margin: 0;
+ padding: 0;
+}
+div#AddressBookList table.addressbook {
+ margin: .3em 0 .3em 0;
+}
+div#AddressBookList table.addressbook tbody tr.Totals {
+ border: solid 1px #5D835F;
+}
+div#AddressBookList tble.addressbook tbody tr.Totals td {
+ text-align: left;
+ background-color: #D8F3D6;
+}
+div#AddressBookList table.addressbook tbody tr td {
+ background-color: #D8F3D6;
+ text-align: center;
+ border: solid 1px #5D835F;
+}
+div#AddressBookList table.addressbook tbody tr td.ColumnRowLabel {
+ width: 4%;
+}
+div#AddressBookList table.addressbook tbody tr td.ColumnName {
+ background-color: #FFF;
+ text-align: left;
+ width: 70%;
+}
+div#AddressBookList table.addressbook tbody tr td.ColumnName a {
+ display: block;
+ padding: 6px 0px 6px 0px;
+}
+div#AddressBookList table.addressbook tbody tr td.ColumnAddress {
+ width: 8%;
+}
+div#AddressBookList table.adressbook tbody tr td.ColumnResidence {
+ width: 8%;
+}
+div#AddressBookList table.addressbook tbody tr td.ColumnWebLinks {
+ width: 8%;
+}
+
+/* Subsections
+----------------------------------------------------- */
+#Home, #Introduction, #Contact {
+ padding:2em 0 3em 0;
+}
+#Home p, #Introduction p {
+ margin:0 20px 1em 20px;
+}
+#Home img, #Introduction img {
+ float:right;
+ margin:0;
+ padding:0 20px 3em 2em;
+}
+div.subsection{
+ padding-bottom:.5em;
+}
+div.subsection h4 {
+ margin-bottom:.5em;
+}
+div.subsection table, div.subsection ol, div.subsection p {
+ font-size:.9em;
+}
+div.subsection a {
+ text-decoration:none;
+}
+div.subsection a:hover {
+ text-decoration:underline;
+}
+div.subsection table.infolist {
+ width:100%;
+ margin:0;
+}
+
+/* Subsections : Events
+----------------------------------------------------- */
+div#events {
+ padding-bottom:0;
+}
+div#events h4 {
+ margin-bottom:0;
+ border:none;
+}
+#IndividualDetail {
+ background-color: #FFF;
+}
+#IndividualDetail div#events table.eventtable {
+ width:100%;
+ padding-top:15px;
+}
+#IndividualDetail div#events table.infolist thead tr th {
+ font-weight:bold;
+ font-size:10px;
+ line-height:12px;
+ text-transform:uppercase;
+ color: #542;
+ padding-top:6px 0 4px 0;
+ background-color: #6AF364;
+}
+#IndividualDetail div#events table.infolist thead tr th:first-child {
+ padding-left:20px;
+}
+#IndividualDetail div#events table.infolist tbody tr td {
+ padding-top:.4em;
+ padding-bottom:.8em;
+}
+#IndividualDetail div#events table.infolist tbody tr td.ColumnAttribute {
+ border-bottom: solid 1px #5D835F;
+}
+#IndividualDetail div#events table.infolist tbody tr td.ColumnValue {
+ border-bottom:solid 1px #5D835F
+}
+table.infolist tbody tr td.ColumnValue p {
+ font-family:sans-serif;
+ color: #696969;
+ margin:.2em 0 0 2em;
+}
+
+/* Subsections : Attributes
+----------------------------------------------------- */
+div#attributes {
+ margin: 0;
+ padding: 0;
+}
+table.attrlist {
+ width: 100%;
+}
+table.attrlist tbody tr {
+ border: solid 1px #5D835F;
+}
+table.attrlist tbody tr td {
+ background-color: #D8F3D6;
+}
+table.attrlist tbody tr td.ColumnType {
+ width: 200px;
+}
+table.attrlist tbody tr td.ColumnAttribute {
+ width: 10%;
+}
+table.attrlist tbody tr td.ColumnValue {
+ width: 250px;
+}
+table.attrlist tbody tr td.ColumnSources {
+ background-color: #FFF;
+ width: 100px;
+}
+table.attrlist tbody tr td.ColumnNotes {
+ width: 400px;
+}
+div#attributes table.attrlist tbody tr td.ColumnNotes {
+ width: 400px;
+ background-color: #D8F3D6;
+}
+
+/* Subsections : Parents
+----------------------------------------------------- */
+div#parents table.infolist {
+ margin-top:.5em;
+}
+div#parents table.infolist tbody tr td.ColumnAttribute {
+ width:19%;
+}
+div#parents table.infolist tbody tr td.ColumnValue ol {
+ margin:0;
+ padding-top:0;
+}
+div#parents table.infolist tbody tr td.ColumnValue ol li {
+ padding-bottom:.2em;
+}
+
+/* Subsections : Families
+----------------------------------------------------- */
+div#families table.infolist {
+ margin: .3cm 0 .3cm 0;
+}
+div#Families table.infolist tbody tr td { }
+
+div#families table.infolist tbody tr td.ColumnValue {
+ background-color: #FFF;
+}
+div#families table.infolist tbody tr td.ColumnValue p {
+ margin-top:0;
+}
+div#families table.infolist tbody tr td.ColumnValue ol {
+ margin:0;
+ padding-top:0;
+}
+div#families table.infolist tbody tr td.ColumnValue ol li {
+ padding-bottom:.2em;
+}
+
+/* Subsection: LDS Ordinance
+------------------------------------------------------ */
+div#LDSOrdinance { }
+
+div#LDSOrdinance table.ldsordlist {
+ font-size:.35cm;
+}
+table.ldsordlist {
+ margin-bottom:.5em;
+}
+table.ldsordlist tbody tr td {
+ border-bottom: solid 1px #5D835F;
+}
+table.ldsordlist tbody tr td.ColumnLDSType {
+ width:12%;
+}
+table.ldsordlist tbody tr td.ColumnLDSDate {
+ width:15%;
+}
+table.ldsordlist tbody tr td.ColumnLDSTemple {
+ width:10%;
+}
+table.ldsordlist tbody tr td.ColumnLDSPlace {
+ width:35%;
+}
+table.ldsordlist tbody tr td.ColumnLDSStatus {
+ width:8;
+}
+table.ldsordlist tbody tr td.ColumnLDSSealed {
+ width:25%;
+}
+table.ldsordlist tbody tr td.ColumnLDSSources {
+ width:7%;
+ margin-top:.2cm;
+}
+
+/* Subsections : Addresses
+----------------------------------------------------- */
+div#Addresses {
+ margin: 0;
+ padding: 0;
+}
+div#Addresses table.infolist {
+ font-size: 12px;
+ background- color: #D8F3D6;
+}
+div#Addresses table.infolist tbody tr td {
+ border-bottom: solid 1px #5D835F;
+}
+div#Addresses table.infolist tbody tr td.ColumnDate {
+ width: 15%;
+}
+div#Addresses table.infolist tbody tr td.ColumnStreetAddress {
+ width: 30%;
+}
+div#Addresses table.infolist tbody tr td.ColumnCity {
+ width: 8%;
+}
+div#Addresses table.infolist tbody tr td.ColumnCounty {
+ with: 8%;
+}
+div#Addresses table.infolist tbody tr td.ColumnState {
+ width: 12%;
+}
+div#Addresses table.infolist tbody tr td.ColumnCntry {
+ width: 5%;
+}
+div#Addresses table.infolist tbody tr td.ColumnPostalcode {
+ width: 10%;
+}
+div#Addresses table.infolist tbody tr td.ColumnPhone {
+ width: 15%;
+}
+
+/* Subsections : Gallery
+----------------------------------------------------- */
+#indivgallery h4 {
+ margin-bottom:1em;
+}
+#indivgallery .thumbnail {
+ margin:0;
+ float:left;
+ width:130px;
+ height:150px;
+ text-align:center;
+}
+#indivgallery div.thumbnail a {
+ display:block;
+ margin:0;
+ padding:0;
+ background:none;
+}
+#indivgallery div.thumbnail a img {
+ margin-bottom:.5cm;
+ padding:0;
+ border: solid 1px #5D835F;
+}
+#indivgallery div.thumbnail p {
+ font:normal .7em/1.4em sans-serif;
+ text-align:center;
+ width:80%;
+ margin:0 auto;
+ padding:0;
+}
+
+/* Subsections : Narrative
+----------------------------------------------------- */
+div#narrative {
+ padding-bottom:0;
+}
+#narrative p {
+ font:normal .9em/1.4em sans-serif;
+ margin-top:.5em;
+ margin-bottom:0;
+ padding:0 20px 1em 20px;
+}
+
+/* Subsections : References
+----------------------------------------------------- */
+
+/* Subsections : Source References
+----------------------------------------------------- */
+div#sourcerefs {
+ padding: 0;
+ margin: 0 auto;
+}
+div#sourcerefs ol {
+ list-style-type:decimal;
+}
+div#sourcerefs ol li ol {
+ list-style-type:lower-alpha;
+}
+
+/* Subsections : Summary Area
+----------------------------------------------------- */
+div#summaryarea {
+ background-color: #FFF;
+}
+div#summaryarea table.infolist {
+ margin:0;
+ padding:0;
+ background:#FFF;
+ border-bottom: solid .7em #5D835F;
+}
+div#summaryarea table.infolist tr td, div#summaryarea table.infolist tr td p {
+ font:normal .9em/1.2em sans-serif;
+ vertical-align:top;
+}
+div#summaryarea table.infolist tr td a, div#summaryarea table.infolist tr td p a {
+ display:inline;
+}
+div#summaryarea table.infolist tbody tr td.ColumnAttribute {
+ width:14%;
+ color: #696969;
+ padding-left:20px;
+}
+
+/* Subsections : Weblinks
+----------------------------------------------------- */
+
+/* Subsections : Pedigree
+----------------------------------------------------- */
+div#pedigree {
+ padding-bottom:1.2em;
+}
+#pedigree a {
+ text-decoration:none;
+ color: #000;
+}
+#pedigree a:hover {
+ text-decoration:underline;
+}
+.pedigreegen {
+ font:normal .9em/1.2em sans-serif;
+ list-style:none;
+ margin:.5em 0 0 0;
+ padding:0 0 0 20px;
+}
+.pedigreegen li ol {
+ list-style:none;
+ margin-left:.5em;
+}
+.pedigreegen li ol li ol {
+ font:normal 1em/1.4em sans-serif;
+ list-style:decimal;
+ margin-left:1.6em;
+}
+.pedigreegen li ol li ol li ol.spouselist {
+ list-style:none;
+ margin-left:0;
+}
+.spouselist li.spouse ol {
+ list-style:decimal;
+ margin-left:1.6em;
+}
+.spouse a {
+ font-weight:normal;
+ font-style:normal;
+ color: #000;
+}
+.spouse:before {
+ content: "+ ";
+}
+.thisperson {
+ font-weight:bold;
+}
+
+/* Subsections : Ancestors Tree
+----------------------------------------------------- */
+#tree {
+ page-break-before:always;
+ margin:0;
+ padding:0;
+ background:none;
+}
+#treeContainer {
+ position:relative;
+ z-index:1;
+}
+#treeContainer div.boxbg {
+ position:absolute;
+ margin:0;
+ padding:0;
+ background:none;
+}
+#treeContainer div.boxbg a,
+#treeContainer div.boxbg span.unlinked {
+ position:relative;
+ z-index:10;
+ display:block;
+ font:normal .7em/1.4em sans-serif;
+ text-align:center;
+ text-decoration:none;
+ color: #542;
+ width:118px;
+ padding:5px 20px 7px 20px;
+ margin-left:16px;
+ background-color: #FFF;
+ border: solid 1px #5D835F
+}
+#treeContainer div.boxbg a.noThumb,
+#treeContainer div.AncCol3 a,
+#treeContainer div.AncCol4 a,
+#treeContainer div.AncCol3 span.unlinked,
+#treeContainer div.AncCol4 span.unlinked {
+ margin-top:10px;
+}
+#treeContainer div.boxbg a:hover {
+ position:relative;
+ z-index:999;
+ font-size:1em;
+ text-decoration:none;
+ color: #542;
+ width:190px;
+ margin-left:-20px;
+ padding:10px 25px 12px 25px;
+ border: solid 2px #5D835F;
+}
+#treeContainer div.boxbg a:hover,
+#treeContainer div.AncCol3 a:hover,
+#treeContainer div.AncCol4 a:hover {
+ margin-top:-44px;
+}
+#treeContainer div.boxbg a.noThumb:hover {
+ margin-top:0;
+}
+#treeContainer div.AncCol0 a:hover {
+ margin-left:12px;
+}
+#treeContainer div.AncCol4 a:hover {
+ margin-left:-60px;
+}
+#treeContainer div.boxbg span.thumbnail {
+ display:block;
+ height:65px;
+ margin:0 auto;
+ padding:4px 0;
+}
+#treeContainer div.boxbg span.thumbnail img {
+ height:65px;
+ margin:0 auto;
+}
+#treeContainer div.boxbg a:hover span.thumbnail, #treeContainer div.boxbg a:hover span.thumbnail img {
+ height:80px;
+}
+#treeContainer div.AncCol3 span.thumbnail, #treeContainer div.AncCol4 span.thumbnail {
+ display:none;
+}
+#treeContainer div.boxbg a:hover span.thumbnail {
+ display:block;
+}
+#treeContainer div.male a,
+#treeContainer div.male span.unlinked {
+ background:url(../images/Web_Gender_Male.png) #BCEAF6 no-repeat top right;
+}
+#treeContainer div.female a,
+#treeContainer div.female span.unlinked {
+ background:url(../images/Web_Gender_Female.png) #FFC0CB no-repeat top right;
+}
+#treeContainer div.unknown a,
+#treeContainer div.unknown span.unlinked {
+ background-color: #000;
+ color: #FAFAFA;
+}
+.shadow {
+ display:none;
+}
+#tree div div.bvline {
+ position:absolute;
+ z-index:2;
+ height:1px;
+ margin:0 0 0 16px;
+ padding:0;
+ background-color: #228A22;
+}
+#tree div div.bhline {
+ position:absolute;
+ z-index:2;
+ width:1px;
+ margin:0 0 0 16px;
+ padding:0;
+ background-color: #228A22;
+}
+.ghline, .gvline {
+ display:none;
+}
+
+/* Calendar Styles
+-------------------------------------------------------------------------------------------- */
+/* Calendar : General */
+body#WebCal {
+ background-color: #FFF;
+}
+.calendar {
+ empty-cells:show;
+ width:100%;
+ font-size:1em;
+ font-weight:normal;
+ margin:0;
+ padding:0;
+ border:none;
+ border-collapse:collapse;
+}
+.calendar thead tr th {
+ width:14%;
+ font-weight:normal;
+ font-size:18px;
+ line-height:18px;
+ text-align:center;
+ text-transform:uppercase;
+ padding:2px 0;
+}
+.calendar thead tr th.monthName {
+ width:100%;
+ font-size:2em;
+ line-height:100%;
+ text-transform:none;
+ color: #542;
+ padding:.3em 0 .2em 0;
+ background-color: #FFF;
+}
+#CreatorInfo {
+ float:right;
+ color: #FFF;
+ margin:-24px 10px 0 0;
+}
+#CreatorInfo a {
+ color: #FFF;
+}
+#CreatorInfo a:hover {
+ color: #FFF;
+}
+.calendar thead tr th.weekend,
+.calendar thead tr th.weekday {
+ font-style:italic;
+ color: #000;
+ background-color: #6AF364;
+ border: solid 2px #5D835F;
+}
+.calendar tfoot tr td {
+ padding:.7em 5% 1em 5%;
+ border-top:solid 2px #000;
+ vertical-align:middle;
+ color: #000;
+ background-color: #D8F3D6;
+}
+
+/* Calendar : Date Numeral */
+.calendar tbody tr td div.date {
+ float:right;
+ display:block;
+ width:1.8em;
+ font-size:1.2em;
+ line-height:100%;
+ text-align:center;
+ color: #542;
+ margin:0 0 0 .5em;
+ padding:.2em 0;
+ background-color: #D8F3D6;
+}
+
+/* Calendar : Date Container */
+.calendar tbody tr td {
+ vertical-align:top;
+ height:10em;
+ padding:0;
+ border-width:1px 0 0 1px;
+ border-style:solid;
+ border-color: #5D835F;
+}
+.calendar tbody tr td.weekday {
+ background-color: #FFF;
+}
+.calendar tbody tr td.weekend {
+ background-color: #D8F3D6;
+}
+.calendar tbody tr td.saturday {
+ border-right: solid 1px #5D835F;
+ }
+.calendar tbody tr td.sunday {
+ border-left: solid 1px #5D835F;
+}
+.calendar tbody tr td:first-child {
+ border-left: solid 1px #5D835F;
+}
+.calendar tbody tr:first-child td {
+ border-top:none;
+}
+
+/* Calendar : Date Detail */
+.calendar tbody tr td ul {
+ list-style:none;
+ font-family:sans-serif;
+ font-size:1em;
+ margin:2.3em 0 .3em 0;
+ padding:0;
+}
+.calendar tbody tr td ul li {
+ display:block;
+ width:92%;
+ margin:0 4%;
+ padding:.2em 0 .3em 0;
+ border-top: dashed 1px #5D835F;
+}
+.calendar tbody tr td ul li:first-child {
+ border:none;
+}
+
+/* Calendar : Birthday, Anniversary, Highlight */
+.calendar tbody tr td ul li em {
+ font-style:normal;
+ color: #0A65B5;
+}
+.calendar tbody tr td ul li span.yearsmarried em {
+ color: #228A22;
+}
+.calendar tbody tr td.highlight { }
+
+.calendar tbody tr td.highlight div.date {
+ color: #0A65B5;
+ background-color: #C2E1FE;
+}
+
+/* Calendar : Previous-Next Month */
+.calendar tbody tr td.previous,
+.calendar tbody tr td.next,
+.calendar tbody tr td.previous div.date,
+.calendar tbody tr td.next div.date {
+ color: #333;
+ background-color: #D8F3D6;
+}
+
+/* Calendar : Full Year */
+body#fullyearlinked {
+ background-color: #FFF;
+}
+body#fullyearlinked div.content {
+ width:963px;
+ margin:0 auto;
+ padding:15px 0 2px 2px;
+}
+body#fullyearlinked table.calendar {
+ float:left;
+ width:320px;
+ height:18em;
+ border:solid 1px #000;
+}
+body#fullyearlinked table.calendar thead tr th {
+ height:2em;
+ border-width: 1px 1px 0px 0px;
+ border-color: #000;
+ text-align: center;
+}
+body#fullyearlinked table.calendar thead tr th.monthName {
+ font-size:1.2em;
+ padding:2px 0;
+ border-bottom: solid 1px #000;
+}
+body#fullyearlinked table.calendar tbody tr td {
+ height:3em;
+}
+body#fullyearlinked table.calendar tbody tr td.emptyDays {
+ background-color: #FFF;
+}
+body#fullyearlinked table.calendar tbody tr td.saturday {
+ border-right:solid 2px #000;
+}
+body#fullyearlinked able.calendar tbody tr td.sunday {
+ border:solid 2px #000;
+}
+
+/* Calendar: OneDay
+--------------------------------------------------------------------------------- */
+body#OneDay h3 {
+ color: #228A22;
+ font-weight: bold;
+ text-align: center;
+}
+table.oneday {
+ margin: .3em 0 .3em 0;
+ padding: 0;
+}
+table.oneday tbody tr td {
+ border-bottom: dashed 1px #5D835F;
+}
+table.oneday tbody tr td.ColumnRowLabel {
+ width: 5%;
+}
+table.oneday tbody tr td.ColumnText {
+ width: 85%;
+}
+table.oneday tbody tr td.ColumnEvent {
+ width; 10%;
+}
diff --git a/src/plugins/webreport/NarrativeWeb.py b/src/plugins/webreport/NarrativeWeb.py
index b48b9e78e..ee65548ff 100644
--- a/src/plugins/webreport/NarrativeWeb.py
+++ b/src/plugins/webreport/NarrativeWeb.py
@@ -942,8 +942,8 @@ class BasePage(object):
fname = "/".join(["styles", _NARRATIVESCREEN])
url2 = self.report.build_url_fname(fname, None, self.up)
- # link to Navigation stylesheet
- fname = "/".join(["styles", "Web_Alphabet-Vertical.css"])
+ # Link to Navigation stylesheet
+ fname = "/".join(["styles", "Web_Navigation-Menus.css"])
url5 = self.report.build_url_fname(fname, None, self.up)
# Link to _NARRATIVEPRINT stylesheet
@@ -957,9 +957,12 @@ class BasePage(object):
# create stylesheet and favicon links
links = [Html("link", href = url4, type = "image/x-icon", rel = "shortcut icon"),
Html("link", href = url1, type = "text/css", media = "screen", rel = "stylesheet"),
- Html("link", href = url2, type = "text/css", media = "screen", rel = "stylesheet"),
- Html("link", href = url3, type = "text/css", media = 'print', rel = "stylesheet")
- ]
+ Html("link", href = url2, type = "text/css", media = "screen", rel = "stylesheet") ]
+
+ if self.report.css in ["Web_Basic-Blue.css", "Web_Visually.css"]:
+ links += Html("link", href= url5, type= "text/css", media="screen", rel="stylesheet")
+
+ links += Html("link", href = url3, type = "text/css", media = 'print', rel = "stylesheet")
# add additional meta and link tags
head += meta
@@ -2140,14 +2143,16 @@ class PlaceListPage(BasePage):
thead = Html("thead")
table += thead
- trow = Html("tr") + (
- Html("th", _("Letter"), class_ = "ColumnLetter", inline = True),
- Html("th", _("Place name | Name"), class_ = "ColumnName", inline = True),
- Html("th", _("State"), class_ = "ColumnState", inline = True),
- Html("th", _("Country"), class_ = "ColumnCtry", inline = True),
- Html("th", _("Latitude/ Longitude"), class_ = "ColumnCoordinates", inline = True)
- )
+ trow = Html("tr")
thead += trow
+ trow.extend( Html("th", label, class_ = "Column" + colclass, inline = True)
+ for label, colclass in [
+ [_("Letter"), "Letter"],
+ [_("Place Name | Name"), "Name"],
+ [_("State"), "State"],
+ [_("Country"), "Country"],
+ [_("Latitude/ Longitude"), "Coordinates"] ]
+ )
sort = Sort.Sort(db)
handle_list = sorted(place_handles, key = sort.by_place_title_key)
@@ -2160,12 +2165,9 @@ class PlaceListPage(BasePage):
for handle in handle_list:
place = db.get_place_from_handle(handle)
place_title = ReportUtils.place_name(db, handle)
-
- if not place_title:
- continue
+ ml = place.get_main_location()
letter = first_letter(place_title)
- ml = place.get_main_location()
trow = Html("tr")
tbody += trow
@@ -2184,12 +2186,13 @@ class PlaceListPage(BasePage):
trow += Html("td", self.place_link(place.handle, place_title, place.gramps_id),
class_ = "ColumnName")
- trow.extend( Html("td", data, class_ = "Column" + colclass, inline = True)
- for (colclass, data) in [
- ["State", ml.state],
- ["Country", ml.country],
- ["Coordinates", place.lat + "," + place.long] ]
- if data or " " )
+ trow.extend( Html("td", data, class_ = "Column" + colclass, inline = True)
+ for colclass, data in [
+ ["State", ml.state],
+ ["Country", ml.country],
+ ["Coordinates", (place.lat + ", " + place.long)] ]
+ if data or " "
+ )
# add clearline for proper styling
# add footer section
@@ -4918,6 +4921,7 @@ class NavWebReport(Report):
self.target_path = self.options['target']
self.ext = self.options['ext']
self.css = self.options['css']
+ self.navigation = self.options["navigation"]
self.title = self.options['title']
self.inc_gallery = self.options['gallery']
@@ -5129,9 +5133,13 @@ class NavWebReport(Report):
fname = os.path.join(const.DATA_DIR, self.css)
self.copy_file(fname, _NARRATIVESCREEN, "styles")
- # copy Navigation stylesheet
- fname = os.path.join(const.DATA_DIR, "Web_Alphabet-Vertical.css")
- self.copy_file(fname, "Web_Alphabet-Vertical.css", "styles")
+ # copy Navigation Menu Layout if Blue or Visually is being used
+ if self.css == "Web_Basic-Blue.css" or "Web_Visually.css":
+ if self.navigation == "Horizontal":
+ fname = os.path.join(const.DATA_DIR, "Web_Alphabet-Horizontal.css")
+ else:
+ fname = os.path.join(const.DATA_DIR, "Web_Alphabet-Vertical.css")
+ self.copy_file(fname, "Web_Navigation-Menus.css", "styles")
# copy printer stylesheet
fname = os.path.join(const.DATA_DIR, "Web_Print-Default.css")
@@ -5665,11 +5673,24 @@ class NavWebOptions(MenuReportOptions):
cright.set_help( _("The copyright to be used for the web files"))
menu.add_option(category_name, "cright", cright)
- css = EnumeratedListOption(_('StyleSheet'), CSS_FILES[0][1])
+ self.__css = EnumeratedListOption(_('StyleSheet'), CSS_FILES[0][1])
for style in CSS_FILES:
- css.add_item(style[1], style[0])
- css.set_help( _('The stylesheet to be used for the web page'))
- menu.add_option(category_name, "css", css)
+ self.__css.add_item(style[1], style[0])
+ self.__css.set_help( _('The stylesheet to be used for the web pages'))
+ menu.add_option(category_name, "css", self.__css)
+ self.__css.connect("value-changed", self.__stylesheet_changed)
+
+ _NAVIGATION_OPTS = [
+ ["Horizontal", _("Horizontal -- No Change")],
+ ["Vertical", _("Vertical")]
+ ]
+ self.__navigation = EnumeratedListOption(_("Navigation Layout"), _NAVIGATION_OPTS[0][1])
+ for layout in _NAVIGATION_OPTS:
+ self.__navigation.add_item(layout[1], layout[0])
+ self.__navigation.set_help(_("Choose which layout for the Navigation Menus."))
+ menu.add_option(category_name, "navigation", self.__navigation)
+
+ self.__stylesheet_changed()
self.__graph = BooleanOption(_("Include ancestor graph"), True)
self.__graph.set_help(_('Whether to include an ancestor graph '
@@ -5919,6 +5940,17 @@ class NavWebOptions(MenuReportOptions):
# The rest don't
self.__pid.set_available(False)
+ def __stylesheet_changed(self):
+ """
+ Handles the changing nature of the stylesheet
+ """
+
+ css_opts = self.__css.get_value()
+ if css_opts in ["Web_Basic-Blue.css", "Web_Visually.css"]:
+ self.__navigation.set_available(True)
+ else:
+ self.__navigation.set_available(False)
+
def __graph_changed(self):
"""
Handle enabling or disabling the ancestor graph