* src/data/main*.css: added stylesheets for web page generator
* src/data/Makefile.am: add stylesheets svn: r4928
This commit is contained in:
parent
b36133c056
commit
41b9c54f0a
@ -2,6 +2,8 @@
|
|||||||
* src/Sort.py: don't use upper case, let locale.strcoll figure this
|
* src/Sort.py: don't use upper case, let locale.strcoll figure this
|
||||||
out (correctly) for us
|
out (correctly) for us
|
||||||
* src/plugins/NavWebPage.py: fix sorting.
|
* src/plugins/NavWebPage.py: fix sorting.
|
||||||
|
* src/data/main*.css: added stylesheets for web page generator
|
||||||
|
* src/data/Makefile.am: add stylesheets
|
||||||
|
|
||||||
2005-07-13 Alex Roitman <shura@gramps-project.org>
|
2005-07-13 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/GenericFilter.py: Proper test for place in event-based
|
* src/GenericFilter.py: Proper test for place in event-based
|
||||||
|
@ -21,7 +21,12 @@ EXTRA_DIST = \
|
|||||||
gramps.applications \
|
gramps.applications \
|
||||||
gramps.keys \
|
gramps.keys \
|
||||||
gramps.mime \
|
gramps.mime \
|
||||||
gramps.schemas
|
gramps.schemas \
|
||||||
|
main1.css\
|
||||||
|
main2.css\
|
||||||
|
main3.css\
|
||||||
|
main4.css\
|
||||||
|
main5.css
|
||||||
|
|
||||||
# Conditionally enable/disable gconf schemas or mime types,
|
# Conditionally enable/disable gconf schemas or mime types,
|
||||||
# or disable both in a packager mode
|
# or disable both in a packager mode
|
||||||
|
224
gramps2/src/data/main1.css
Executable file
224
gramps2/src/data/main1.css
Executable file
@ -0,0 +1,224 @@
|
|||||||
|
|
||||||
|
/* GRAMPS Cascading Style Sheet */
|
||||||
|
|
||||||
|
/* Standard Tags {{{1
|
||||||
|
*/
|
||||||
|
BODY {
|
||||||
|
font-family: "Arial", "Helvetica", sans-serif;
|
||||||
|
background-color: #ffffff;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
P,BLOCKQUOTE {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV {
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
H1 {
|
||||||
|
font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 160%;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
H2 {
|
||||||
|
font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
H3 {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0;
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
|
||||||
|
}
|
||||||
|
H4 {
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0.3em;
|
||||||
|
padding-left: 4px;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
H5 {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
H6 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-top: 1.3em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
HR {
|
||||||
|
height: 1px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
margin-top: 1px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding: 0;
|
||||||
|
border-top: 0; /* Hack: Mozilla work-around to eliminate "groove" */
|
||||||
|
border-color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
A:link {
|
||||||
|
color: #000;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:visited {
|
||||||
|
color: #333;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:hover {
|
||||||
|
background-color: #eee;
|
||||||
|
color: #000;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:active {
|
||||||
|
background-color: #eee;
|
||||||
|
color: #000;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom {{{1
|
||||||
|
*/
|
||||||
|
|
||||||
|
.navheader {
|
||||||
|
padding: 2px;
|
||||||
|
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
.navtitle {
|
||||||
|
font-size: 130%;
|
||||||
|
color: #999;
|
||||||
|
margin: 3px;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
.navbyline {
|
||||||
|
float: right;
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
padding-right: 10px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.nav {
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 1px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.summaryarea {
|
||||||
|
min-height: 100px;
|
||||||
|
/* Hack: IE Dynamic Expression to set the width */
|
||||||
|
height: expression(document.body.clientHeight < 1 ? "100px" : "100px" );
|
||||||
|
}
|
||||||
|
|
||||||
|
.portrait {
|
||||||
|
justify: center;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
border-color: #000;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
.snapshot {
|
||||||
|
float: right;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
.thumbnail {
|
||||||
|
height: 100px;
|
||||||
|
border-color: #000;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftwrap {
|
||||||
|
float: left;
|
||||||
|
margin: 2px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.rightwrap {
|
||||||
|
float: right;
|
||||||
|
margin: 2px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.infolist {
|
||||||
|
border: 0;
|
||||||
|
/*width: 100%;*/
|
||||||
|
font-size: 14px;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
TD.category {
|
||||||
|
|
||||||
|
padding: 1px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
|
||||||
|
/*width: 10%;*/
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
TD.field {
|
||||||
|
|
||||||
|
padding: 1px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 15%;*/
|
||||||
|
|
||||||
|
}
|
||||||
|
TD.data {
|
||||||
|
|
||||||
|
padding: 1px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
|
||||||
|
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pedigree {
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 2em;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #eeeeee;
|
||||||
|
border: 1px;
|
||||||
|
}
|
||||||
|
.pedigreeind {
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 2em;
|
||||||
|
padding-top: 0.25em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin: 1em;
|
||||||
|
font-size: 12px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 1}}}
|
||||||
|
vim:foldmethod=marker
|
||||||
|
/*
|
211
gramps2/src/data/main2.css
Executable file
211
gramps2/src/data/main2.css
Executable file
@ -0,0 +1,211 @@
|
|||||||
|
|
||||||
|
/* GRAMPS Cascading Style Sheet */
|
||||||
|
|
||||||
|
/* Standard Tags {{{1
|
||||||
|
*/
|
||||||
|
BODY {
|
||||||
|
font-family: "Arial", "Helvetica", sans-serif;
|
||||||
|
background-color: #fafaff;
|
||||||
|
color: #003;
|
||||||
|
}
|
||||||
|
|
||||||
|
P,BLOCKQUOTE {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV {
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
H1 {
|
||||||
|
font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 160%;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
H2 {
|
||||||
|
font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
H3 {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0;
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
color: #336;
|
||||||
|
}
|
||||||
|
H4 {
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0.3em;
|
||||||
|
padding-left: 4px;
|
||||||
|
background-color: #667;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
H5 {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
H6 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-top: 1.3em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
HR {
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
margin: 0;
|
||||||
|
margin-top: 1px;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
padding: 0;
|
||||||
|
border-top: 0; /* Hack: Mozilla work-around to eliminate "groove" */
|
||||||
|
border-color: #e0e0e9;
|
||||||
|
}
|
||||||
|
|
||||||
|
A:link {
|
||||||
|
color: #006;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:visited {
|
||||||
|
color: #669;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:hover {
|
||||||
|
background-color: #eef;
|
||||||
|
color: #000;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:active {
|
||||||
|
background-color: #eef;
|
||||||
|
color: #000;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom {{{1
|
||||||
|
*/
|
||||||
|
|
||||||
|
.navheader {
|
||||||
|
padding: 4px;
|
||||||
|
background-color: #e0e0e9;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
.navtitle {
|
||||||
|
font-size: 160%;
|
||||||
|
color: #669;
|
||||||
|
margin: 2px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.navbyline {
|
||||||
|
float: right;
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.nav {
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.summaryarea {
|
||||||
|
min-height: 100px;
|
||||||
|
/* Hack: IE Dynamic Expression to set the width */
|
||||||
|
height: expression(document.body.clientHeight < 1 ? "100px" : "100px" );
|
||||||
|
}
|
||||||
|
|
||||||
|
.portrait {
|
||||||
|
justify: center;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
border-color: #336;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
.snapshot {
|
||||||
|
float: right;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
.thumbnail {
|
||||||
|
height: 100px;
|
||||||
|
border-color: #336;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftwrap {
|
||||||
|
float: left;
|
||||||
|
margin: 2px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.rightwrap {
|
||||||
|
float: right;
|
||||||
|
margin: 2px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.infolist {
|
||||||
|
border: 0;
|
||||||
|
/*width: 100%;*/
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
TD.category {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 10%;*/
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
TD.field {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 15%;*/
|
||||||
|
|
||||||
|
}
|
||||||
|
TD.data {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pedigree {
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 2em;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #e0e0e9;
|
||||||
|
border: 1px;
|
||||||
|
}
|
||||||
|
.pedigreeind {
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 2em;
|
||||||
|
padding-top: 0.25em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin: 1em;
|
||||||
|
font-size: 12px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 1}}}
|
||||||
|
vim:foldmethod=marker
|
||||||
|
/*
|
210
gramps2/src/data/main3.css
Executable file
210
gramps2/src/data/main3.css
Executable file
@ -0,0 +1,210 @@
|
|||||||
|
|
||||||
|
/* GRAMPS Cascading Style Sheet */
|
||||||
|
|
||||||
|
/* Standard Tags {{{1
|
||||||
|
*/
|
||||||
|
BODY {
|
||||||
|
font-family: "Bitstream Vera Serif", "Times New Roman", "Times", serif;
|
||||||
|
background-color: #fffffd;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
P,BLOCKQUOTE {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV {
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
H1 {
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 160%;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
H2 {
|
||||||
|
font-weight: bolder;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
H3 {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 2em;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
|
||||||
|
}
|
||||||
|
H4 {
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0.3em;
|
||||||
|
padding-left: 2em;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
H5 {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
H6 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-top: 1.3em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
HR {
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
margin: 0;
|
||||||
|
margin-top: 1px;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
padding: 0;
|
||||||
|
border-top: 1; /* Hack: Mozilla work-around to eliminate "groove" */
|
||||||
|
border-color: #ccf;
|
||||||
|
}
|
||||||
|
|
||||||
|
A:link {
|
||||||
|
color: #110;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:visited {
|
||||||
|
color: #665;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:hover {
|
||||||
|
background-color: #eed;
|
||||||
|
color: #110;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:active {
|
||||||
|
background-color: #eee;
|
||||||
|
color: #110;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom {{{1
|
||||||
|
*/
|
||||||
|
|
||||||
|
.navheader {
|
||||||
|
padding: 4px;
|
||||||
|
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
.navtitle {
|
||||||
|
font-size: 160%;
|
||||||
|
color: #998;
|
||||||
|
margin: 2px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.navbyline {
|
||||||
|
float: right;
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.nav {
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 0px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
padding: 4px;
|
||||||
|
background-color: #ddddcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.summaryarea {
|
||||||
|
min-height: 100px;
|
||||||
|
/* Hack: IE Dynamic Expression to set the width */
|
||||||
|
height: expression(document.body.clientHeight < 1 ? "100px" : "100px" );
|
||||||
|
}
|
||||||
|
|
||||||
|
.portrait {
|
||||||
|
justify: center;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
border-color: #110;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
.snapshot {
|
||||||
|
float: right;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
.thumbnail {
|
||||||
|
height: 100px;
|
||||||
|
border-color: #110;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftwrap {
|
||||||
|
float: left;
|
||||||
|
margin: 2px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.rightwrap {
|
||||||
|
float: right;
|
||||||
|
margin: 2px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.infolist {
|
||||||
|
border: 0;
|
||||||
|
/*width: 100%;*/
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
TD.category {
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 10%;*/
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
TD.field {
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 20%;*/
|
||||||
|
background-color: #f6f6f0;
|
||||||
|
}
|
||||||
|
TD.data {
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pedigree {
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 2em;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #f6f6f0;
|
||||||
|
border: 1px;
|
||||||
|
}
|
||||||
|
.pedigreeind {
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 2em;
|
||||||
|
padding-top: 0.25em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin: 1em;
|
||||||
|
margin-left: 2em;
|
||||||
|
font-size: 12px;
|
||||||
|
/*float: right;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 1}}}
|
||||||
|
vim:foldmethod=marker
|
||||||
|
/*
|
230
gramps2/src/data/main4.css
Executable file
230
gramps2/src/data/main4.css
Executable file
@ -0,0 +1,230 @@
|
|||||||
|
|
||||||
|
/* GRAMPS Cascading Style Sheet */
|
||||||
|
|
||||||
|
/* Standard Tags {{{1
|
||||||
|
*/
|
||||||
|
BODY {
|
||||||
|
font-family: "Times New Roman", "Times", serif;
|
||||||
|
background-color: #fff;
|
||||||
|
color: #320;
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
P,BLOCKQUOTE {
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV {
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
H1 {
|
||||||
|
font-family: "Georgia", "Bistream Vera Sans", "Times New Roman", "Times", serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 160%;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
H2 {
|
||||||
|
font-family: "Georgia", "Bistream Vera Sans", "Times New Roman", "Times", serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
H3 {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 130%;
|
||||||
|
margin: 0;
|
||||||
|
margin-top: 8px;
|
||||||
|
/*padding-left: 2em;*/
|
||||||
|
padding-bottom: 10px;
|
||||||
|
|
||||||
|
}
|
||||||
|
H4 {
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding: 0;
|
||||||
|
/*padding-left: 2em;*/
|
||||||
|
font-size: 110%;
|
||||||
|
|
||||||
|
}
|
||||||
|
H5 {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
H6 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-top: 1.3em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
HR {
|
||||||
|
height: 6px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
color: #a97;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
padding: 2px;
|
||||||
|
/*border-top: 0; |+ Hack: Mozilla work-around to eliminate "groove" +|*/
|
||||||
|
border-color: #a97;
|
||||||
|
background-color: #a97;
|
||||||
|
}
|
||||||
|
|
||||||
|
A:link {
|
||||||
|
color: #430;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:visited {
|
||||||
|
color: #654;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:hover {
|
||||||
|
background-color: #f6f0ee;
|
||||||
|
color: #210;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:active {
|
||||||
|
background-color: #f6f0ee;
|
||||||
|
color: #210;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom {{{1
|
||||||
|
*/
|
||||||
|
|
||||||
|
.navheader {
|
||||||
|
padding: 4px;
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
.navtitle {
|
||||||
|
font-size: 160%;
|
||||||
|
color: #fff;
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px;
|
||||||
|
padding-left: 10px;
|
||||||
|
background-color: #542;
|
||||||
|
}
|
||||||
|
.navbyline {
|
||||||
|
float: right;
|
||||||
|
|
||||||
|
margin: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
padding-right: 10px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.nav {
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 1px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.summaryarea {
|
||||||
|
min-height: 100px;
|
||||||
|
/* Hack: IE Dynamic Expression to set the width */
|
||||||
|
height: expression(document.body.clientHeight < 1 ? "100px" : "100px" );
|
||||||
|
}
|
||||||
|
|
||||||
|
.portrait {
|
||||||
|
justify: center;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
border-color: #986;
|
||||||
|
border-width: 3px;
|
||||||
|
}
|
||||||
|
.snapshot {
|
||||||
|
float: right;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
.thumbnail {
|
||||||
|
height: 100px;
|
||||||
|
border-color: #986;
|
||||||
|
border-width: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftwrap {
|
||||||
|
float: left;
|
||||||
|
margin: 2px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.rightwrap {
|
||||||
|
float: right;
|
||||||
|
margin: 2px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.infolist {
|
||||||
|
border: 0;
|
||||||
|
padding; 0;
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
TD.category {
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 10%;*/
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
TD.field {
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 20%;*/
|
||||||
|
|
||||||
|
}
|
||||||
|
TD.data {
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 3em;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #f0ece6;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pedigree {
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 2em;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #f0ece6;
|
||||||
|
border: 1px;
|
||||||
|
}
|
||||||
|
.pedigreeind {
|
||||||
|
|
||||||
|
margin: 0;
|
||||||
|
padding: 2em;
|
||||||
|
padding-top: 0.25em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin: 1em;
|
||||||
|
font-size: 12px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 1}}}
|
||||||
|
vim:foldmethod=marker
|
||||||
|
/*
|
231
gramps2/src/data/main5.css
Executable file
231
gramps2/src/data/main5.css
Executable file
@ -0,0 +1,231 @@
|
|||||||
|
|
||||||
|
/* GRAMPS Cascading Style Sheet */
|
||||||
|
|
||||||
|
/* Standard Tags {{{1
|
||||||
|
*/
|
||||||
|
BODY {
|
||||||
|
font-family: "Bistream Vera Sans", "Arial", "Arial", "Helvetica", sans-serif;
|
||||||
|
text-align: justify;
|
||||||
|
background-color: #fff;
|
||||||
|
color: #010;
|
||||||
|
}
|
||||||
|
|
||||||
|
P,BLOCKQUOTE {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 7em;
|
||||||
|
margin-right: 7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV {
|
||||||
|
margin: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
H1 {
|
||||||
|
font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 160%;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
H2 {
|
||||||
|
font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
H3 {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 5em;
|
||||||
|
margin-right: 5em;
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
color: #232;
|
||||||
|
}
|
||||||
|
H4 {
|
||||||
|
margin-top: 2em;
|
||||||
|
margin-bottom: 0.3em;
|
||||||
|
padding: 5px;
|
||||||
|
padding-left: 2em;
|
||||||
|
background-color: #e0e6e0;
|
||||||
|
color: #232;
|
||||||
|
}
|
||||||
|
H5 {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
H6 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-top: 1.3em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
HR {
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
margin: 0;
|
||||||
|
margin-top: 1px;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
padding: 0;
|
||||||
|
border-top: 0; /* Hack: Mozilla work-around to eliminate "groove" */
|
||||||
|
border-color: #e0e6e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
A:link {
|
||||||
|
color: #252;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:visited {
|
||||||
|
color: #565;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:hover {
|
||||||
|
background-color: #eaf0ea;
|
||||||
|
color: #000;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
A:active {
|
||||||
|
background-color: #eaf0ea;
|
||||||
|
color: #000;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom {{{1
|
||||||
|
*/
|
||||||
|
|
||||||
|
.navheader {
|
||||||
|
padding: 4px;
|
||||||
|
background-color: #e0e6e0;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
.navtitle {
|
||||||
|
font-size: 160%;
|
||||||
|
color: #e0e6e0;
|
||||||
|
margin: 2px;
|
||||||
|
background-color: #454;
|
||||||
|
padding: 4px;
|
||||||
|
padding-left: 3.5em;
|
||||||
|
|
||||||
|
}
|
||||||
|
.navbyline {
|
||||||
|
float: right;
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 2px;
|
||||||
|
padding: 0;
|
||||||
|
padding-top: 1em;
|
||||||
|
padding-right: 7em;
|
||||||
|
color: #e0e6e0;
|
||||||
|
}
|
||||||
|
.nav {
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 6.5em;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.summaryarea {
|
||||||
|
min-height: 100px;
|
||||||
|
/* Hack: IE Dynamic Expression to set the width */
|
||||||
|
height: expression(document.body.clientHeight < 1 ? "100px" : "100px" );
|
||||||
|
}
|
||||||
|
|
||||||
|
.portrait {
|
||||||
|
justify: center;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 3px;
|
||||||
|
border-color: #363;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
.snapshot {
|
||||||
|
float: right;
|
||||||
|
margin: 5px;
|
||||||
|
|
||||||
|
padding: 3px;
|
||||||
|
padding-right: 6em;
|
||||||
|
|
||||||
|
}
|
||||||
|
.thumbnail {
|
||||||
|
height: 100px;
|
||||||
|
border-color: #363;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftwrap {
|
||||||
|
float: left;
|
||||||
|
margin: 5px;
|
||||||
|
margin-right: 1em;
|
||||||
|
margin-left: 6em;
|
||||||
|
}
|
||||||
|
.rightwrap {
|
||||||
|
float: right;
|
||||||
|
margin: 5px;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.infolist {
|
||||||
|
border: 0;
|
||||||
|
/*width: 100%;*/
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 7em;
|
||||||
|
margin-right: 7em;
|
||||||
|
}
|
||||||
|
TD.category {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 10%;*/
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
TD.field {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*width: 15%;*/
|
||||||
|
|
||||||
|
}
|
||||||
|
TD.data {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pedigree {
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 7em;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #e0e6e0;
|
||||||
|
border: 1px;
|
||||||
|
}
|
||||||
|
.pedigreeind {
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 2em;
|
||||||
|
padding-top: 0.25em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin: 1em;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 1}}}
|
||||||
|
vim:foldmethod=marker
|
||||||
|
/*
|
||||||
|
|
@ -32,7 +32,9 @@ import time
|
|||||||
import locale
|
import locale
|
||||||
import shutil
|
import shutil
|
||||||
import codecs
|
import codecs
|
||||||
|
import sets
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
|
from cStringIO import StringIO
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -46,7 +48,6 @@ import gtk
|
|||||||
# GRAMPS module
|
# GRAMPS module
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
import os
|
|
||||||
import RelLib
|
import RelLib
|
||||||
import const
|
import const
|
||||||
import GrampsKeys
|
import GrampsKeys
|
||||||
@ -55,17 +56,29 @@ import Sort
|
|||||||
import Report
|
import Report
|
||||||
import Errors
|
import Errors
|
||||||
import Utils
|
import Utils
|
||||||
from QuestionDialog import ErrorDialog
|
|
||||||
import ReportOptions
|
import ReportOptions
|
||||||
import BaseDoc
|
import BaseDoc
|
||||||
|
import ReportUtils
|
||||||
|
from QuestionDialog import ErrorDialog
|
||||||
from NameDisplay import displayer as _nd
|
from NameDisplay import displayer as _nd
|
||||||
from DateHandler import displayer as _dd
|
from DateHandler import displayer as _dd
|
||||||
import ReportUtils
|
|
||||||
import sets
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# constants
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
_NARRATIVE = "narrative.css"
|
_NARRATIVE = "narrative.css"
|
||||||
_NAME_COL = 3
|
_NAME_COL = 3
|
||||||
|
|
||||||
|
_css_files = [
|
||||||
|
[_("Style 1"), 'main1.css'],
|
||||||
|
[_("Style 2"), 'main2.css'],
|
||||||
|
[_("Style 3"), 'main3.css'],
|
||||||
|
[_("Style 4"), 'main4.css'],
|
||||||
|
[_("Style 5"), 'main5.css'],
|
||||||
|
]
|
||||||
|
|
||||||
_character_sets = [
|
_character_sets = [
|
||||||
[_('Unicode (recommended)'), 'utf-8'],
|
[_('Unicode (recommended)'), 'utf-8'],
|
||||||
['ISO-8859-1', 'iso-8859-1' ],
|
['ISO-8859-1', 'iso-8859-1' ],
|
||||||
@ -84,74 +97,9 @@ _character_sets = [
|
|||||||
['koi8_r', 'koi8_r', ],
|
['koi8_r', 'koi8_r', ],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
_css = [
|
|
||||||
'BODY {\nfont-family: "Arial", "Helvetica", sans-serif;',
|
|
||||||
'background-color: #fafaff;',
|
|
||||||
'color: #003;\n}',
|
|
||||||
'P,BLOCKQUOTE {\nfont-size: 14px;\n}',
|
|
||||||
'DIV {\nmargin: 2px;\npadding: 2px;\n}',
|
|
||||||
'TD {\nvertical-align: top;\n}',
|
|
||||||
'H1 {',
|
|
||||||
'font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;',
|
|
||||||
'font-weight: bolder;\nfont-size: 160%;\nmargin: 2px;\n}\n',
|
|
||||||
'H2 {',
|
|
||||||
'font-family: "Verdana", "Bistream Vera Sans", "Arial", "Helvetica", sans-serif;',
|
|
||||||
'font-weight: bolder;\nfont-style: italic;\nfont-size: 150%;\n}',
|
|
||||||
'H3 {\nfont-weight: bold;\nmargin: 0;\npadding-top: 10px;',
|
|
||||||
'padding-bottom: 10px;\ncolor: #336;\n}',
|
|
||||||
'H4 {\nmargin-top: 1em;\nmargin-bottom: 0.3em;',
|
|
||||||
'padding-left: 4px;\nbackground-color: #667;\ncolor: #fff;\n}',
|
|
||||||
'H5 {\nmargin-bottom: 0.5em;\n}',
|
|
||||||
'H6 {\nfont-weight: normal;\nfont-style: italic;',
|
|
||||||
'font-size: 100%;\nmargin-left: 1em;\nmargin-top: 1.3em;',
|
|
||||||
'margin-bottom: 0.8em;\n}',
|
|
||||||
'HR {\nheight: 0;\nwidth: 0;\nmargin: 0;\nmargin-top: 1px;',
|
|
||||||
'margin-bottom: 1px;\npadding: 0;\nborder-top: 0;',
|
|
||||||
'border-color: #e0e0e9;\n}',
|
|
||||||
'A:link {\ncolor: #006;\ntext-decoration: underline;\n}',
|
|
||||||
'A:visited {\ncolor: #669;\ntext-decoration: underline;\n}',
|
|
||||||
'A:hover {\nbackground-color: #eef;\ncolor: #000;',
|
|
||||||
'text-decoration: underline;\n}',
|
|
||||||
'A:active {\nbackground-color: #eef;\ncolor: #000;\ntext-decoration: none;\n}',
|
|
||||||
'.navheader {\npadding: 4px;\nbackground-color: #e0e0e9;',
|
|
||||||
'margin: 2px;\n}',
|
|
||||||
'.navtitle {\nfont-size: 160%;\ncolor: #669;\nmargin: 2px;\n}',
|
|
||||||
'.navbyline {\nfloat: right;\nfont-size: 14px;\nmargin: 2px;',
|
|
||||||
'padding: 4px;\n}',
|
|
||||||
'.nav {\nmargin: 0;\nmargin-bottom: 4px;\npadding: 0;',
|
|
||||||
'font-size: 14px;\nfont-weight: bold;\n}',
|
|
||||||
'.summaryarea {',
|
|
||||||
'min-height: 100px;',
|
|
||||||
'height: expression(document.body.clientHeight < 1 ? "100px" : "100px" );',
|
|
||||||
'}',
|
|
||||||
'.portrait {\njustify: center;\nmargin: 5px;\nmargin-right: 20px;',
|
|
||||||
'padding: 3px;\nborder-color: #336;\nborder-width: 1px;\n}',
|
|
||||||
'.snapshot {\nfloat: right;\nmargin: 5px;\nmargin-right: 20px;',
|
|
||||||
'padding: 3px;\n}',
|
|
||||||
'.thumbnail {\nheight: 100px;\nborder-color: #336;\nborder-width: 1px;\n}',
|
|
||||||
'.leftwrap {\nfloat: left;\nmargin: 2px;\nmargin-right: 10px;\n}',
|
|
||||||
'.rightwrap {\nfloat: right;\nmargin: 2px;\nmargin-left: 10px;\n}',
|
|
||||||
'TABLE.infolist {\nborder: 0;\nfont-size: 14px;\n}',
|
|
||||||
'TD.category {\npadding: 3px;\npadding-right: 3em;',
|
|
||||||
'font-weight: bold;\n}',
|
|
||||||
'TD.field {\npadding: 3px;\npadding-right: 3em;\n}',
|
|
||||||
'TD.data {\npadding: 3px;\npadding-right: 3em;',
|
|
||||||
'font-weight: bold;\n}',
|
|
||||||
'.pedigree {\nmargin: 0;\nmargin-left: 2em;\npadding: 0;',
|
|
||||||
'background-color: #e0e0e9;\nborder: 1px;\n}',
|
|
||||||
'.pedigreeind {\nfont-size: 14px;\nmargin: 0;\npadding: 2em;',
|
|
||||||
'padding-top: 0.25em;\npadding-bottom: 0.5em;\n}',
|
|
||||||
'.footer {\nmargin: 1em;\nfont-size: 12px;\nfloat: right;\n}',
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
from cStringIO import StringIO
|
|
||||||
|
|
||||||
class BasePage:
|
class BasePage:
|
||||||
def __init__(self, title, options, archive):
|
def __init__(self, title, options, archive):
|
||||||
self.title_str = title
|
self.title_str = title
|
||||||
self.inc_contact = options.handler.options_dict['NWEBcontact']
|
|
||||||
self.inc_download = options.handler.options_dict['NWEBdownload']
|
self.inc_download = options.handler.options_dict['NWEBdownload']
|
||||||
self.html_dir = options.handler.options_dict['NWEBod']
|
self.html_dir = options.handler.options_dict['NWEBod']
|
||||||
self.options = options
|
self.options = options
|
||||||
@ -159,8 +107,10 @@ class BasePage:
|
|||||||
self.image_dir = options.handler.options_dict['NWEBimagedir'].strip()
|
self.image_dir = options.handler.options_dict['NWEBimagedir'].strip()
|
||||||
self.ext = options.handler.options_dict['NWEBext']
|
self.ext = options.handler.options_dict['NWEBext']
|
||||||
self.encoding = options.handler.options_dict['NWEBencoding']
|
self.encoding = options.handler.options_dict['NWEBencoding']
|
||||||
|
self.css = options.handler.options_dict['NWEBcss']
|
||||||
self.noid = options.handler.options_dict['NWEBnoid']
|
self.noid = options.handler.options_dict['NWEBnoid']
|
||||||
self.use_intro = options.handler.options_dict['NWEBintronote'] != u""
|
self.use_intro = options.handler.options_dict['NWEBintronote'] != u""
|
||||||
|
self.use_contact = options.handler.options_dict['NWEBcontact'] != u""
|
||||||
|
|
||||||
def copy_media(self,photo):
|
def copy_media(self,photo):
|
||||||
newpath = photo.gramps_id + os.path.splitext(photo.get_path())[1]
|
newpath = photo.gramps_id + os.path.splitext(photo.get_path())[1]
|
||||||
@ -243,7 +193,7 @@ class BasePage:
|
|||||||
of.write(u' <a href="places.%s">%s</a> \n' % (self.ext,_('Places')))
|
of.write(u' <a href="places.%s">%s</a> \n' % (self.ext,_('Places')))
|
||||||
if self.inc_download:
|
if self.inc_download:
|
||||||
of.write(u' <a href="download.%s">%s</a> \n' % (self.ext,_('Download')))
|
of.write(u' <a href="download.%s">%s</a> \n' % (self.ext,_('Download')))
|
||||||
if self.inc_contact:
|
if self.use_contact:
|
||||||
of.write(u' <a href="contact.%s">%s</a> \n' % (self.ext,_('Contact')))
|
of.write(u' <a href="contact.%s">%s</a> \n' % (self.ext,_('Contact')))
|
||||||
of.write(u' </div>\n')
|
of.write(u' </div>\n')
|
||||||
of.write(u' </div>\n')
|
of.write(u' </div>\n')
|
||||||
@ -263,9 +213,8 @@ class IndividualListPage(BasePage):
|
|||||||
db.get_researcher().get_name())
|
db.get_researcher().get_name())
|
||||||
|
|
||||||
msg = _("This page contains an index of all the individuals in the "
|
msg = _("This page contains an index of all the individuals in the "
|
||||||
"database, sorted by their last names. Selecting the GRAMPS "
|
"database, sorted by their last names. Selecting person's name "
|
||||||
"ID next to a person's name will take you to that person's "
|
"will take you to that person's individual page.")
|
||||||
"individual page.")
|
|
||||||
|
|
||||||
of.write(u'<h3>%s</h3>\n' % _('Individuals'))
|
of.write(u'<h3>%s</h3>\n' % _('Individuals'))
|
||||||
of.write(u'<p>%s</p>\n' % msg)
|
of.write(u'<p>%s</p>\n' % msg)
|
||||||
@ -650,8 +599,49 @@ class ContactPage(BasePage):
|
|||||||
self.display_header(of,_('Contact'),
|
self.display_header(of,_('Contact'),
|
||||||
db.get_researcher().get_name())
|
db.get_researcher().get_name())
|
||||||
|
|
||||||
|
of.write(u'<div class="summaryarea">\n')
|
||||||
of.write(u'<h3>%s</h3>\n' % _('Contact'))
|
of.write(u'<h3>%s</h3>\n' % _('Contact'))
|
||||||
|
|
||||||
|
note_id = options.handler.options_dict['NWEBcontact']
|
||||||
|
obj = db.get_object_from_handle(note_id)
|
||||||
|
mime_type = obj.get_mime_type()
|
||||||
|
|
||||||
|
if mime_type and mime_type.startswith("image"):
|
||||||
|
try:
|
||||||
|
newpath = self.copy_media(obj)
|
||||||
|
of.write(u'<div class="rightwrap">\n')
|
||||||
|
of.write(u'<table cellspacing="0" cellpadding="0" border="0"><tr>')
|
||||||
|
of.write(u'<td height="205">')
|
||||||
|
of.write(u'<img border="0" height="200" ')
|
||||||
|
of.write(u'src="%s" />' % newpath)
|
||||||
|
of.write(u'</td></tr></table>\n')
|
||||||
|
of.write(u'</div>\n')
|
||||||
|
except (IOError,OSError),msg:
|
||||||
|
ErrorDialog(str(msg))
|
||||||
|
|
||||||
|
r = db.get_researcher()
|
||||||
|
|
||||||
|
of.write(u'<blockquote></td>\n')
|
||||||
|
of.write(u'%s<br>\n' % r.name)
|
||||||
|
of.write(u'%s<br>\n' % r.addr)
|
||||||
|
of.write(u'%s, %s, %s<br>\n' % (r.city,r.state,r.postal))
|
||||||
|
of.write(u'%s<br>\n' % r.country)
|
||||||
|
of.write(u'%s<br>\n' % r.email)
|
||||||
|
of.write(u'</blockquote>\n')
|
||||||
|
|
||||||
|
nobj = obj.get_note_object()
|
||||||
|
if nobj:
|
||||||
|
format = nobj.get_format()
|
||||||
|
text = nobj.get()
|
||||||
|
|
||||||
|
if format:
|
||||||
|
text = u"<pre>" + u"<br>".join(text.split("\n"))
|
||||||
|
else:
|
||||||
|
text = u"</p><p>".join(text.split("\n"))
|
||||||
|
of.write(u'<p>%s</p>\n' % text)
|
||||||
|
else:
|
||||||
|
of.write(u'<br><br><br><br>\n')
|
||||||
|
|
||||||
self.display_footer(of)
|
self.display_footer(of)
|
||||||
self.close_file(of)
|
self.close_file(of)
|
||||||
|
|
||||||
@ -1077,6 +1067,7 @@ class WebReport(Report.Report):
|
|||||||
self.target_path = options_class.handler.options_dict['NWEBod']
|
self.target_path = options_class.handler.options_dict['NWEBod']
|
||||||
self.ext = options_class.handler.options_dict['NWEBext']
|
self.ext = options_class.handler.options_dict['NWEBext']
|
||||||
self.encoding = options_class.handler.options_dict['NWEBencoding']
|
self.encoding = options_class.handler.options_dict['NWEBencoding']
|
||||||
|
self.css = options_class.handler.options_dict['NWEBcss']
|
||||||
self.id_link = options_class.handler.options_dict['NWEBlinktidx']
|
self.id_link = options_class.handler.options_dict['NWEBlinktidx']
|
||||||
self.photos = options_class.handler.options_dict['NWEBimg']
|
self.photos = options_class.handler.options_dict['NWEBimg']
|
||||||
self.restrict = options_class.handler.options_dict['NWEBrestrictinfo']
|
self.restrict = options_class.handler.options_dict['NWEBrestrictinfo']
|
||||||
@ -1151,7 +1142,7 @@ class WebReport(Report.Report):
|
|||||||
else:
|
else:
|
||||||
archive = None
|
archive = None
|
||||||
|
|
||||||
self.write_css(archive)
|
self.write_css(archive,self.target_path,self.css)
|
||||||
|
|
||||||
HomePage(self.database, self.title, self.options_class, archive)
|
HomePage(self.database, self.title, self.options_class, archive)
|
||||||
if self.inc_contact:
|
if self.inc_contact:
|
||||||
@ -1199,16 +1190,14 @@ class WebReport(Report.Report):
|
|||||||
archive.close()
|
archive.close()
|
||||||
self.progress_bar_done()
|
self.progress_bar_done()
|
||||||
|
|
||||||
def write_css(self,archive):
|
def write_css(self,archive,html_dir,css_file):
|
||||||
if archive:
|
if archive:
|
||||||
f = StringIO()
|
f = open(os.path.join(const.dataDir,css_file),"r")
|
||||||
f.write('\n'.join(_css))
|
|
||||||
archive.add_file(_NARRATIVE,time.time(),f)
|
archive.add_file(_NARRATIVE,time.time(),f)
|
||||||
f.close()
|
f.close()
|
||||||
else:
|
else:
|
||||||
f = open(os.path.join(self.target_path,_NARRATIVE), "w")
|
shutil.copyfile(os.path.join(const.dataDir,css_file),
|
||||||
f.write('\n'.join(_css))
|
os.path.join(html_dir,_NARRATIVE))
|
||||||
f.close()
|
|
||||||
|
|
||||||
def add_styles(self,doc):
|
def add_styles(self,doc):
|
||||||
pass
|
pass
|
||||||
@ -1240,7 +1229,7 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
'NWEBcmtxtsi' : 0,
|
'NWEBcmtxtsi' : 0,
|
||||||
'NWEBlnktoalphabet' : 0,
|
'NWEBlnktoalphabet' : 0,
|
||||||
'NWEBsplita' : 0,
|
'NWEBsplita' : 0,
|
||||||
'NWEBcontact' : 0,
|
'NWEBcontact' : '',
|
||||||
'NWEBdownload' : 0,
|
'NWEBdownload' : 0,
|
||||||
'NWEBshorttree' : 1,
|
'NWEBshorttree' : 1,
|
||||||
'NWEBimagedir' : 'images',
|
'NWEBimagedir' : 'images',
|
||||||
@ -1250,6 +1239,7 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
'NWEBlinktidx' : 1,
|
'NWEBlinktidx' : 1,
|
||||||
'NWEBext' : 'html',
|
'NWEBext' : 'html',
|
||||||
'NWEBencoding' : 'utf-8',
|
'NWEBencoding' : 'utf-8',
|
||||||
|
'NWEBcss' : 'main0.css',
|
||||||
'NWEBtreed' : 3,
|
'NWEBtreed' : 3,
|
||||||
'NWEBidxt' : '',
|
'NWEBidxt' : '',
|
||||||
'NWEBintronote' : '',
|
'NWEBintronote' : '',
|
||||||
@ -1310,7 +1300,7 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
ext_msg = _("File extension")
|
ext_msg = _("File extension")
|
||||||
sep_alpha_msg = _("Split alphabetical sections to separate pages")
|
sep_alpha_msg = _("Split alphabetical sections to separate pages")
|
||||||
tree_msg = _("Include short ancestor tree")
|
tree_msg = _("Include short ancestor tree")
|
||||||
contact_msg = _("Include publisher contact page")
|
contact_msg = _("Publisher contact/Note ID")
|
||||||
download_msg = _("Include download page")
|
download_msg = _("Include download page")
|
||||||
|
|
||||||
self.no_private = gtk.CheckButton(priv_msg)
|
self.no_private = gtk.CheckButton(priv_msg)
|
||||||
@ -1322,9 +1312,6 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
self.restrict_living = gtk.CheckButton(restrict_msg)
|
self.restrict_living = gtk.CheckButton(restrict_msg)
|
||||||
self.restrict_living.set_active(self.options_dict['NWEBrestrictinfo'])
|
self.restrict_living.set_active(self.options_dict['NWEBrestrictinfo'])
|
||||||
|
|
||||||
self.inc_contact = gtk.CheckButton(contact_msg)
|
|
||||||
self.inc_contact.set_active(self.options_dict['NWEBcontact'])
|
|
||||||
|
|
||||||
self.inc_download = gtk.CheckButton(download_msg)
|
self.inc_download = gtk.CheckButton(download_msg)
|
||||||
self.inc_download.set_active(self.options_dict['NWEBdownload'])
|
self.inc_download.set_active(self.options_dict['NWEBdownload'])
|
||||||
|
|
||||||
@ -1375,10 +1362,21 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
store.append(row=data)
|
store.append(row=data)
|
||||||
self.encoding = GrampsNoteComboBox(store,cset_node)
|
self.encoding = GrampsNoteComboBox(store,cset_node)
|
||||||
|
|
||||||
|
cset_node = None
|
||||||
|
cset = self.options_dict['NWEBcss']
|
||||||
|
store = gtk.ListStore(str,str)
|
||||||
|
for data in _css_files:
|
||||||
|
if data[1] == cset:
|
||||||
|
cset_node = store.append(row=data)
|
||||||
|
else:
|
||||||
|
store.append(row=data)
|
||||||
|
self.css = GrampsNoteComboBox(store,cset_node)
|
||||||
|
|
||||||
dialog.add_option(title_msg,self.title)
|
dialog.add_option(title_msg,self.title)
|
||||||
dialog.add_option(imgdir_msg,self.imgdir)
|
dialog.add_option(imgdir_msg,self.imgdir)
|
||||||
dialog.add_option(ext_msg,self.ext)
|
dialog.add_option(ext_msg,self.ext)
|
||||||
dialog.add_option(_('Character set encoding'),self.encoding)
|
dialog.add_option(_('Character set encoding'),self.encoding)
|
||||||
|
dialog.add_option(_('Stylesheet'),self.css)
|
||||||
|
|
||||||
title = _("Page Generation")
|
title = _("Page Generation")
|
||||||
|
|
||||||
@ -1414,11 +1412,22 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
store.append(row=data)
|
store.append(row=data)
|
||||||
self.intro_note = GrampsNoteComboBox(store,intro_node)
|
self.intro_note = GrampsNoteComboBox(store,intro_node)
|
||||||
|
|
||||||
|
contact_node = None
|
||||||
|
self.inc_contact = self.options_dict['NWEBcontact']
|
||||||
|
|
||||||
|
store = gtk.ListStore(str,str)
|
||||||
|
for data in media_list:
|
||||||
|
if data[1] == self.inc_contact:
|
||||||
|
intro_node = store.append(row=data)
|
||||||
|
else:
|
||||||
|
store.append(row=data)
|
||||||
|
self.contact = GrampsNoteComboBox(store,intro_node)
|
||||||
|
|
||||||
dialog.add_frame_option(title,_('Home Media/Note ID'),
|
dialog.add_frame_option(title,_('Home Media/Note ID'),
|
||||||
self.home_note)
|
self.home_note)
|
||||||
dialog.add_frame_option(title,_('Introduction Media/Note ID'),
|
dialog.add_frame_option(title,_('Introduction Media/Note ID'),
|
||||||
self.intro_note)
|
self.intro_note)
|
||||||
dialog.add_frame_option(title,None,self.inc_contact)
|
dialog.add_frame_option(title,contact_msg,self.contact)
|
||||||
dialog.add_frame_option(title,None,self.inc_download)
|
dialog.add_frame_option(title,None,self.inc_download)
|
||||||
dialog.add_frame_option(title,None,self.noid)
|
dialog.add_frame_option(title,None,self.noid)
|
||||||
|
|
||||||
@ -1437,7 +1446,7 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
self.options_dict['NWEBrestrictinfo'] = int(self.restrict_living.get_active())
|
self.options_dict['NWEBrestrictinfo'] = int(self.restrict_living.get_active())
|
||||||
self.options_dict['NWEBincpriv'] = int(not self.no_private.get_active())
|
self.options_dict['NWEBincpriv'] = int(not self.no_private.get_active())
|
||||||
self.options_dict['NWEBnoid'] = int(self.noid.get_active())
|
self.options_dict['NWEBnoid'] = int(self.noid.get_active())
|
||||||
self.options_dict['NWEBcontact'] = int(self.inc_contact.get_active())
|
self.options_dict['NWEBcontact'] = unicode(self.contact.get_handle())
|
||||||
self.options_dict['NWEBdownload'] = int(self.inc_download.get_active())
|
self.options_dict['NWEBdownload'] = int(self.inc_download.get_active())
|
||||||
self.options_dict['NWEBimagedir'] = unicode(self.imgdir.get_text())
|
self.options_dict['NWEBimagedir'] = unicode(self.imgdir.get_text())
|
||||||
self.options_dict['NWEBtitle'] = unicode(self.title.get_text())
|
self.options_dict['NWEBtitle'] = unicode(self.title.get_text())
|
||||||
@ -1454,10 +1463,10 @@ class WebReportOptions(ReportOptions.ReportOptions):
|
|||||||
self.options_dict['NWEBext'] = html_ext
|
self.options_dict['NWEBext'] = html_ext
|
||||||
|
|
||||||
self.options_dict['NWEBencoding'] = self.encoding.get_handle()
|
self.options_dict['NWEBencoding'] = self.encoding.get_handle()
|
||||||
|
self.options_dict['NWEBcss'] = self.css.get_handle()
|
||||||
self.options_dict['NWEBidurl'] = unicode(self.linkpath.get_text().strip())
|
self.options_dict['NWEBidurl'] = unicode(self.linkpath.get_text().strip())
|
||||||
|
|
||||||
self.options_dict['NWEBcmtxtsi'] = int(not self.no_comments.get_active())
|
self.options_dict['NWEBcmtxtsi'] = int(not self.no_comments.get_active())
|
||||||
|
|
||||||
if self.no_images.get_active():
|
if self.no_images.get_active():
|
||||||
photos = 0
|
photos = 0
|
||||||
elif self.no_living_images.get_active():
|
elif self.no_living_images.get_active():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user