Fix my html source layout problems. Cleanup and making stylesheet consistent.
svn: r13506
This commit is contained in:
parent
9c335c802b
commit
faae542526
@ -32,7 +32,7 @@ see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
brown dark #542
|
||||
brown dark #453619, #542
|
||||
brown light #C1B398
|
||||
gray #696969
|
||||
green dark #228A22
|
||||
@ -57,12 +57,6 @@ body {
|
||||
color: #000;
|
||||
background-color: #FFF;
|
||||
}
|
||||
body#NarrativeWeb_Horizontal {
|
||||
padding: 158px 0px 0px 0px;
|
||||
}
|
||||
body#NarrativeWeb_Vertical {
|
||||
padding: 128px 0px 0px 44px;
|
||||
}
|
||||
|
||||
/* General Elements
|
||||
----------------------------------------------------- */
|
||||
@ -132,15 +126,17 @@ h3 {
|
||||
text-align:center;
|
||||
margin:0;
|
||||
padding:.5em 20px .2em 20px;
|
||||
border-bottom:double 4px #000;
|
||||
border-bottom:double 4px #228A22;
|
||||
}
|
||||
h4 {
|
||||
font:normal 1.2em/1.2em serif;
|
||||
color: #FFF;
|
||||
margin-top: .3cm;
|
||||
padding:.2em 0 .2em 20px;
|
||||
background-color: #228A22;
|
||||
border-bottom:solid 4px #A97;
|
||||
background-color: #453619;
|
||||
border-width: 4px 0px 4px 0px;
|
||||
border-style: solid;
|
||||
border-color: #5D835F;
|
||||
}
|
||||
h5, h6 {
|
||||
font:normal 1em/1.2em serif;
|
||||
@ -174,7 +170,7 @@ ol li a {
|
||||
text-decoration:none;
|
||||
}
|
||||
ol li a:hover {
|
||||
text-decoration:underline;
|
||||
text-decoration: none;
|
||||
}
|
||||
a {
|
||||
color: #542;
|
||||
@ -185,7 +181,7 @@ a:visited {
|
||||
a:hover {
|
||||
color: #000;
|
||||
background-color: #C1B398;
|
||||
text-decoration:underline;
|
||||
text-decoration: none;
|
||||
}
|
||||
span.preposition {
|
||||
padding-left:1em;
|
||||
@ -238,7 +234,7 @@ div#footer a, div#footer a:visited {
|
||||
}
|
||||
div#footer a:hover {
|
||||
color: #000;
|
||||
text-decoration:underline;
|
||||
text-decoration: none;
|
||||
}
|
||||
div#footer img {
|
||||
border:0;
|
||||
@ -300,7 +296,6 @@ div#navigation ul li a, div#subnavigation ul li a {
|
||||
}
|
||||
div#navigation ul li a:hover, div#subnavigation ul li a:hover {
|
||||
background-color: #C1B398;
|
||||
color: #000;
|
||||
}
|
||||
div#navigation ul li.CurrentSection a, div#subnavigation ul li.CurrentSection a {
|
||||
font-weight:bold;
|
||||
@ -314,7 +309,7 @@ div#navigation ul li.CurrentSection a:hover {
|
||||
}
|
||||
div#subnavigation ul li.CurrentSection a {
|
||||
border-width: 0px 0px 2px 0px;
|
||||
border-color: #FFF;
|
||||
border-color: #6AF364;
|
||||
}
|
||||
|
||||
/* Alphabet Navigation
|
||||
@ -419,8 +414,6 @@ table.infolist tbody tr td.ColumnPartner a {
|
||||
padding:.6em 10px;
|
||||
vertical-align:middle;
|
||||
}
|
||||
table.infolist tbody tr td.ColumnPartner a:hover { }
|
||||
|
||||
table.infolist tbody tr td.ColumnParents {
|
||||
font-size:.9em;
|
||||
}
|
||||
@ -434,8 +427,10 @@ table.infolist tbody tr td.ColumnParents span.mother:before {
|
||||
|
||||
/* Surnames
|
||||
----------------------------------------------------- */
|
||||
#Surnames { }
|
||||
|
||||
#Surnames {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#SurnameDetail p#description {
|
||||
padding-top:0;
|
||||
}
|
||||
@ -452,11 +447,8 @@ table.surnamelist thead tr th a, table.surnamelist thead tr th a:visited {
|
||||
text-decoration:none;
|
||||
padding:.2em 10px;
|
||||
}
|
||||
table.surnamelist tr th:hover { }
|
||||
|
||||
table.surnamelist thead tr th.ColumnLetter {
|
||||
padding-left:20px;
|
||||
padding-right:10px;
|
||||
padding: 0px 10px 0px 20px;
|
||||
}
|
||||
table.surnamelist tbody tr td {
|
||||
background-color: #D8F3D6;
|
||||
@ -482,14 +474,12 @@ table#SortByName tbody tr td.ColumnSurname a {
|
||||
display:block;
|
||||
padding:.1em 10px .3em 10px;
|
||||
}
|
||||
table#SortByCount tbody tr td.ColumnQuantity { }
|
||||
|
||||
table.surnamelist tbody tr td.ColumnSurname:hover,
|
||||
table#SortByName tbody tr td.ColumnSurname:hover {
|
||||
background-color: #C1B398;
|
||||
}
|
||||
table.surname {
|
||||
border-bottom:solid 1px #000;
|
||||
border-bottom:solid 1px #5D835F;
|
||||
}
|
||||
table.surname thead tr th.ColumnName {
|
||||
width:20%;
|
||||
@ -508,8 +498,9 @@ table.surname tbody tr td.ColumnName a {
|
||||
display:block;
|
||||
padding:.6em 10px .6em 20px;
|
||||
}
|
||||
table.surname tbody tr td.ColumnName a span.grampsid { }
|
||||
|
||||
table.surname tbody tr td.ColumnName a span.grampsid {
|
||||
color: #000;
|
||||
}
|
||||
table.surname tbody tr td.ColumnName:hover {
|
||||
background-color: #C1B398;
|
||||
}
|
||||
@ -527,8 +518,10 @@ table.surname tbody tr td.ColumnParents {
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
div#Individuals { }
|
||||
|
||||
div#Individuals {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#Individuals table.individuallist {
|
||||
border-bottom: solid 1px #5D835F;
|
||||
}
|
||||
@ -562,9 +555,10 @@ div#Individuals div table.infolist tr td p {
|
||||
div#Individuals div table.infolist tr td p a {
|
||||
display:inline;
|
||||
}
|
||||
|
||||
div#IndividualDetail { }
|
||||
|
||||
div#IndividualDetail {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#IndividualDetail div table.infolist tr td {
|
||||
font:normal .9em/1.2em sans-serif;
|
||||
vertical-align:top;
|
||||
@ -573,7 +567,7 @@ div#IndividualDetail div table.infolist tr td a {
|
||||
display:inline;
|
||||
}
|
||||
div#IndividualDetail table.infolist tr td a:hover {
|
||||
text-decoration:underline;
|
||||
text-decoration: none;
|
||||
}
|
||||
div#IndividualDetail table.infolist tbody tr td.ColumnAttribute {
|
||||
width:10%;
|
||||
@ -584,13 +578,14 @@ div#IndividualDetail div.subsection table tr td:first-child {
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
#Places { }
|
||||
|
||||
#Places {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#Places table.infolist tbody tr td.ColumnLetter {
|
||||
background-color: #D8F3D6;
|
||||
}
|
||||
#Places table.infolist tbody tr td.ColumnName {
|
||||
padding:0;
|
||||
background-color: #FFF;
|
||||
}
|
||||
#Places table.infolist tbody tr td.ColumnName a {
|
||||
@ -599,8 +594,10 @@ div#IndividualDetail div.subsection table tr td:first-child {
|
||||
|
||||
/* EventList and EventDetail
|
||||
----------------------------------------------------- */
|
||||
div#EventList, div#EventDetail { }
|
||||
|
||||
div#EventList, div#EventDetail {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#events table.eventlist {
|
||||
margin-top: .3cm;
|
||||
}
|
||||
@ -612,7 +609,7 @@ div#events table.eventlist tbody tr td.ColumnPlace a {
|
||||
}
|
||||
table.eventlist tbody tr td {
|
||||
background-color: #FFF;
|
||||
border-bottom: dashed 1px #000;
|
||||
border-bottom: dashed 1px #5D835F;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnEvent {
|
||||
width: 20%;
|
||||
@ -639,12 +636,8 @@ table.eventlist tbody tr td.ColumnPerson {
|
||||
table.eventlist tbody tr td.ColumnPartner {
|
||||
width: 35%;
|
||||
}
|
||||
div#families table.eventlist {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#EventList table.eventlist tbody tr.BeginName {
|
||||
border-top: solid 1px #000;
|
||||
border-top: solid 1px #5D835F;
|
||||
}
|
||||
div#EventList table.eventlist tbody tr td {
|
||||
padding: 4px 0px 4px 0px;
|
||||
@ -678,8 +671,10 @@ div#EventDetail table.eventlist tbody tr td.ColumnEvent {
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
#Gallery { }
|
||||
|
||||
#Gallery {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#Gallery table.infolist tbody tr td.ColumnRowLabel,
|
||||
#Gallery table.infolist tbody tr td.ColumnDate {
|
||||
background-color: #D8F3D6;
|
||||
@ -693,7 +688,7 @@ div#EventDetail table.eventlist tbody tr td.ColumnEvent {
|
||||
padding:.1em 10px .3em 10px;
|
||||
}
|
||||
#Gallery table.gallerylist tbody tr td {
|
||||
border-bottom: dashed 1px #000;
|
||||
border-bottom: dashed 1px #5D835F;
|
||||
}
|
||||
#GalleryNav {
|
||||
font:normal 1em/1em sans-serif;
|
||||
@ -704,10 +699,8 @@ div#EventDetail table.eventlist tbody tr td.ColumnEvent {
|
||||
#GalleryNav a {
|
||||
font-weight:bold;
|
||||
text-decoration:none;
|
||||
border:solid 1px #228A22;
|
||||
border:solid 1px #5D835F;
|
||||
}
|
||||
#GalleryNav a:hover { }
|
||||
|
||||
#GalleryNav a#Previous {
|
||||
padding:.5em .7em .3em .7em;
|
||||
}
|
||||
@ -747,29 +740,28 @@ div#EventDetail table.eventlist tbody tr td.ColumnEvent {
|
||||
}
|
||||
#GalleryDetail div#summaryarea table.gallery {
|
||||
padding-bottom:0;
|
||||
margin-top:1.5em;
|
||||
margin-bottom:0;
|
||||
margin: 1.5em 0 0 0;
|
||||
border-style:solid;
|
||||
border-width:2px 0 1px 0;
|
||||
border-color: #000;
|
||||
border-color: #5D835F;
|
||||
}
|
||||
table.exifdata tr td.ColumnAttribute {
|
||||
border-top:solid 1px #000;
|
||||
border-top:solid 1px #5D835F;
|
||||
width:60%;
|
||||
}
|
||||
table.exiflist tr td.ColumnValue {
|
||||
border-top:solid 1px #000;
|
||||
border-top:solid 1px #5D835F;
|
||||
width:45%;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
#Contact #summaryarea {
|
||||
background-color: #D8F3D7;
|
||||
background-color: #D8F3D6;
|
||||
width:500px;
|
||||
margin:0 auto;
|
||||
padding:3em;
|
||||
border:double 4px #000;
|
||||
border:double 4px #5D835F;
|
||||
}
|
||||
#Contact #summaryarea img {
|
||||
float:right;
|
||||
@ -805,9 +797,6 @@ table.exiflist tr td.ColumnValue {
|
||||
#email a {
|
||||
text-decoration:none;
|
||||
}
|
||||
#email a:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
|
@ -128,6 +128,7 @@ COUNTY = _("County")
|
||||
COUNTRY = _("Country")
|
||||
DHEAD = _("Date")
|
||||
DESCRHEAD = _("Description")
|
||||
GRAMPSID = _("GRAMPS ID")
|
||||
LATITUDE = _("Latitude")
|
||||
LOCATIONS = _("Alternate Locations")
|
||||
LONGITUDE = _("Longitude")
|
||||
@ -303,6 +304,7 @@ class BasePage(object):
|
||||
self.linkhome = report.options['linkhome']
|
||||
self.create_media = report.options['gallery']
|
||||
self.inc_events = report.options['inc_events']
|
||||
self.exiftagsopt = report.options['exiftagsopt']
|
||||
|
||||
def get_birth_date(self, db, person):
|
||||
""" Will return a date object for a person's birthdate """
|
||||
@ -500,9 +502,7 @@ class BasePage(object):
|
||||
else:
|
||||
self.place_list[place_handle] = [lnk]
|
||||
|
||||
place = self.place_link(place_handle,
|
||||
ReportUtils.place_name(db,
|
||||
place_handle), up = True)
|
||||
place = self.place_link(place_handle, ReportUtils.place_name(db, place_handle), up = True)
|
||||
else:
|
||||
place = ''
|
||||
|
||||
@ -576,8 +576,7 @@ class BasePage(object):
|
||||
place_hyper = None
|
||||
if place:
|
||||
place_name = ReportUtils.place_name(db, place_handle)
|
||||
place_hyper = self.place_link(place_handle, place_name,
|
||||
place.gramps_id, subdirs)
|
||||
place_hyper = self.place_link(place_handle, place_name, up = subdirs)
|
||||
|
||||
# wrap it all up and return to its callers
|
||||
# position 0 = translatable label, position 1 = column class
|
||||
@ -1959,10 +1958,10 @@ class PlacePage(BasePage):
|
||||
summaryarea += table
|
||||
|
||||
if not self.noid:
|
||||
trow = [ Html("tr"),
|
||||
Html("td", _("GRAMPS ID"), class_ = "ColumnAttribute", inline = True),
|
||||
trow = Html("tr") + (
|
||||
Html("td", GRAMPSID, class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", place.gramps_id, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
if place.main_loc:
|
||||
@ -1980,10 +1979,10 @@ class PlacePage(BasePage):
|
||||
(LOCATIONS, place.get_alternate_locations() ) ]:
|
||||
|
||||
if val[1]:
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", val[0], class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", val[1], class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# place gallery
|
||||
@ -2003,14 +2002,14 @@ class PlacePage(BasePage):
|
||||
placedetail += urllinks
|
||||
|
||||
# source references
|
||||
# sourcerefs = self.get_citation_links(place.get_source_references() )
|
||||
# if sourcerefs is not None:
|
||||
# placedetail += sourcerefs
|
||||
sourcerefs = self.get_citation_links(place.get_source_references() )
|
||||
if sourcerefs is not None:
|
||||
placedetail += sourcerefs
|
||||
|
||||
# place references
|
||||
referenceslist = self.display_references(place_list[place.handle])
|
||||
if referenceslist is not None:
|
||||
placedetail += referenceslist
|
||||
reflist = self.display_references(place_list[place.handle])
|
||||
if reflist is not None:
|
||||
placedetail += reflist
|
||||
|
||||
# add clearline for proper styling
|
||||
# add footer section
|
||||
@ -2193,29 +2192,29 @@ class EventPage(BasePage):
|
||||
samerow = True if (data == " " or (colclass == "Date" or "Event")) \
|
||||
else False
|
||||
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", label, class_ = "ColumnAttribute", inline = True),
|
||||
Html('td', data, class_ = "Column%s" % colclass, inline = samerow)
|
||||
]
|
||||
)
|
||||
tbody += trow
|
||||
|
||||
# get person hyperlink
|
||||
url = self.report.build_url_fname_html(person.handle, "ppl", self.up)
|
||||
person_hyper = self.person_link(url, person, True, gid = person.gramps_id)
|
||||
trow = [ Html("tr"),
|
||||
Html("td", _('Person'), class_ = "ColumnAttribute", inline = True),
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Person"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", person_hyper, class_ = "ColumnPerson")
|
||||
]
|
||||
)
|
||||
tbody += trow
|
||||
|
||||
# display partner if type is either Marriage or Divorce
|
||||
if partner is not None:
|
||||
url = self.report.build_url_fname_html(partner.handle, "ppl", self.up)
|
||||
partner_hyper = self.person_link(url, partner, True, gid = partner.gramps_id)
|
||||
trow = [ Html("tr"),
|
||||
Html("td", _('Partner'), class_ = "ColumnAttribute", inline = True),
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Partner"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", partner_hyper, class_ = "ColumnPartner")
|
||||
]
|
||||
)
|
||||
tbody += trow
|
||||
|
||||
# Narrative subsection
|
||||
@ -2244,9 +2243,9 @@ class MediaPage(BasePage):
|
||||
(prev, next, page_number, total_pages) = info
|
||||
db = report.database
|
||||
|
||||
photo = db.get_object_from_handle(handle)
|
||||
media = db.get_object_from_handle(handle)
|
||||
# TODO. How do we pass my_media_list down for use in BasePage?
|
||||
BasePage.__init__(self, report, title, photo.gramps_id)
|
||||
BasePage.__init__(self, report, title, media.gramps_id)
|
||||
|
||||
"""
|
||||
*************************************
|
||||
@ -2316,49 +2315,48 @@ class MediaPage(BasePage):
|
||||
self.bibli = Bibliography()
|
||||
|
||||
# get media type to be used primarily with "img" tags
|
||||
mime_type = photo.get_mime_type()
|
||||
mime_type = media.get_mime_type()
|
||||
mtype = Mime.get_description(mime_type)
|
||||
|
||||
if mime_type:
|
||||
note_only = False
|
||||
newpath = self.copy_source_file(handle, photo)
|
||||
newpath = self.copy_source_file(handle, media)
|
||||
target_exists = newpath is not None
|
||||
else:
|
||||
note_only = True
|
||||
target_exists = False
|
||||
|
||||
self.copy_thumbnail(handle, photo)
|
||||
self.page_title = photo.get_description()
|
||||
self.copy_thumbnail(handle, media)
|
||||
self.page_title = media.get_description()
|
||||
mediapage, body = self.write_header("%s - %s" % (_("Media"), self.page_title))
|
||||
|
||||
# begin GalleryDetail division
|
||||
mediadetail = Html("div", class_ = "content", id = "GalleryDetail")
|
||||
# begin MediaDetail division
|
||||
with Html("div", class_ = "content", id = "GalleryDetail") as mediadetail:
|
||||
body += mediadetail
|
||||
|
||||
# gallery navigation
|
||||
gallerynav = Html("div", id = 'GalleryNav')
|
||||
mediadetail += gallerynav
|
||||
# media navigation
|
||||
with Html("div", id = "GalleryNav") as medianav:
|
||||
mediadetail += medianav
|
||||
if prev:
|
||||
gallerynav += self.gallery_nav_link(prev, _('Previous'), True)
|
||||
medianav += self.media_nav_link(prev, _("Previous"), True)
|
||||
data = _('<strong id = "GalleryCurrent">%(page_number)d</strong> of '
|
||||
'<strong id = "GalleryTotal">%(total_pages)d</strong>' ) % {
|
||||
'page_number' : page_number, 'total_pages' : total_pages }
|
||||
gallerynav += Html("span", data, id = 'GalleryPages')
|
||||
medianav += Html("span", data, id = "GalleryPages")
|
||||
if next:
|
||||
gallerynav += self.gallery_nav_link(next, _('Next'), True)
|
||||
medianav += self.media_nav_link(next, _("Next"), True)
|
||||
|
||||
# missing media error msg
|
||||
errormsg = _('The file has been moved or deleted.')
|
||||
errormsg = _("The file has been moved or deleted.")
|
||||
missingimage = Html("span", errormsg, class_ = "MissingImage")
|
||||
|
||||
# begin summaryarea division
|
||||
summaryarea = Html("div", id = 'summaryarea')
|
||||
with Html("div", id = "summaryarea") as summaryarea:
|
||||
mediadetail += summaryarea
|
||||
if mime_type:
|
||||
if mime_type.startswith("image/"):
|
||||
if not target_exists:
|
||||
mediadisplay = Html("div", id = 'GalleryDisplay') + \
|
||||
missingimage
|
||||
with Html("div", missingimage, id = "MediaDisplay") as mediadisplay:
|
||||
summaryarea += mediadisplay
|
||||
else:
|
||||
# Check how big the image is relative to the requested 'initial'
|
||||
@ -2366,7 +2364,7 @@ class MediaPage(BasePage):
|
||||
# improve the site's responsiveness. We don't want the user to
|
||||
# have to await a large download unnecessarily. Either way, set
|
||||
# the display image size as requested.
|
||||
orig_image_path = Utils.media_path_full(db, photo.get_path())
|
||||
orig_image_path = Utils.media_path_full(db, media.get_path())
|
||||
(width, height) = ImgManip.image_size(orig_image_path)
|
||||
max_width = self.report.options['maxinitialimagewidth']
|
||||
max_height = self.report.options['maxinitialimageheight']
|
||||
@ -2398,9 +2396,9 @@ class MediaPage(BasePage):
|
||||
# TODO. Convert disk path to URL.
|
||||
url = self.report.build_url_fname(initial_image_path, None, self.up)
|
||||
if initial_image_path != newpath:
|
||||
scalemsg = Html("p", '(%d x %d).' % (width, height), inline = True)
|
||||
scalemsg = Html("p", "(%d x %d)" % (width, height), inline = True)
|
||||
summaryarea += scalemsg
|
||||
mediadisplay = Html("div", style='width:%dpx; height:%dpx;' % (new_width, new_height))
|
||||
with Html("div", style = 'width: %dpx; height: %dpx' % (new_width, new_height)) as mediadisplay:
|
||||
summaryarea += mediadisplay
|
||||
|
||||
# Feature #2634; display the mouse-selectable regions.
|
||||
@ -2411,7 +2409,7 @@ class MediaPage(BasePage):
|
||||
mediadisplay += ordered
|
||||
while len(_region_items) > 0:
|
||||
(name, x, y, w, h, linkurl) = _region_items.pop()
|
||||
ordered += Html("li", style='left:%d%%; top:%d%%; width:%d%%; height:%d%%;'
|
||||
ordered += Html("li", style = "left:%d%%; top:%d%%; width:%d%%; height:%d%%;"
|
||||
% (x, y, w, h)) +(
|
||||
Html("a", name, href = linkurl)
|
||||
)
|
||||
@ -2419,7 +2417,7 @@ class MediaPage(BasePage):
|
||||
# display the image
|
||||
if initial_image_path != newpath:
|
||||
url = self.report.build_url_fname(newpath, None, self.up)
|
||||
mediadisplay += (Html("a", href = url) +
|
||||
mediadisplay += Html("a", href = url) + (
|
||||
Html("img", width = new_width, height = new_height, src = url,
|
||||
alt = html_escape(self.page_title))
|
||||
)
|
||||
@ -2427,22 +2425,21 @@ class MediaPage(BasePage):
|
||||
dirname = tempfile.mkdtemp()
|
||||
thmb_path = os.path.join(dirname, "temp.png")
|
||||
if ThumbNails.run_thumbnailer(mime_type,
|
||||
Utils.media_path_full(db,
|
||||
photo.get_path()),
|
||||
Utils.media_path_full(db, media.get_path()),
|
||||
thmb_path, 320):
|
||||
try:
|
||||
path = self.report.build_path('preview', photo.handle)
|
||||
npath = os.path.join(path, photo.handle) + '.png'
|
||||
path = self.report.build_path("preview", media.handle)
|
||||
npath = os.path.join(path, media.handle) + ".png"
|
||||
self.report.copy_file(thmb_path, npath)
|
||||
path = npath
|
||||
os.unlink(thmb_path)
|
||||
except IOError:
|
||||
path = os.path.join('images', 'document.png')
|
||||
path = os.path.join("images", "document.png")
|
||||
else:
|
||||
path = os.path.join('images', 'document.png')
|
||||
path = os.path.join("images", "document.png")
|
||||
os.rmdir(dirname)
|
||||
|
||||
mediadisplay = Html("div", id = 'GalleryDisplay')
|
||||
with Html("div", id = "GalleryDisplay") as mediadisplay:
|
||||
summaryarea += mediadisplay
|
||||
if target_exists:
|
||||
# TODO. Convert disk path to URL
|
||||
@ -2460,9 +2457,9 @@ class MediaPage(BasePage):
|
||||
else:
|
||||
mediadisplay += missingimage
|
||||
else:
|
||||
mediadisplay = Html("div", id = 'GalleryDisplay')
|
||||
with Html("div", id = "GalleryDisplay") as mediadisplay:
|
||||
summaryarea += mediadisplay
|
||||
url = self.report.build_url_image('document.png', 'images', self.up)
|
||||
url = self.report.build_url_image("document.png", "images", self.up)
|
||||
mediadisplay += Html("img", src = url, alt = html_escape(self.page_title))
|
||||
|
||||
# media title
|
||||
@ -2474,10 +2471,10 @@ class MediaPage(BasePage):
|
||||
summaryarea += table
|
||||
|
||||
# GRAMPS ID
|
||||
media_gid = photo.gramps_id
|
||||
media_gid = media.gramps_id
|
||||
if not self.noid and media_gid:
|
||||
trow = Html("tr") + (
|
||||
Html("td", _('GRAMPS ID'), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", GRAMPSID, class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", media_gid, class_ = "ColumnValue", inline = True)
|
||||
)
|
||||
table += trow
|
||||
@ -2491,30 +2488,27 @@ class MediaPage(BasePage):
|
||||
table += trow
|
||||
|
||||
# media date
|
||||
date = format_date(photo.get_date_object() )
|
||||
date = media.get_date_object()
|
||||
if date:
|
||||
trow = Html("tr") + (
|
||||
Html("td", DHEAD, class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", date, class_ = "ColumnValue", inline = True)
|
||||
Html("td", format(date), class_ = "ColumnValue", inline = True)
|
||||
)
|
||||
table += trow
|
||||
|
||||
# display image Exif tags/ keys if any?
|
||||
if (pyexiftaglib and mime_type.startswith('image/')):
|
||||
if ((pyexiftaglib and self.exiftagsopt) and mime_type.startswith("image/")):
|
||||
"""
|
||||
# Determine if the python exif lib is installed on the system?
|
||||
# yes, then use it and determine if the photo has anything written inside of it?
|
||||
"""
|
||||
|
||||
image = pyexiv2.Image("%s" % Utils.media_path_full(db, photo.get_path()))
|
||||
image = pyexiv2.Image("%s" % Utils.media_path_full(db, media.get_path()) )
|
||||
image.readMetadata()
|
||||
|
||||
# exif data does exists
|
||||
if len(image.exifKeys() ):
|
||||
|
||||
# add clearline for better page layout
|
||||
mediadetail += fullclear
|
||||
|
||||
# add exif title header
|
||||
mediadetail += Html("h4", _("Image Exif Tags"), inline = True)
|
||||
|
||||
@ -2523,26 +2517,26 @@ class MediaPage(BasePage):
|
||||
mediadetail += table
|
||||
|
||||
for keytag in image.exifKeys():
|
||||
trow = [ Html("tr"),
|
||||
Html("td", keytag, class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", image[keytag], class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
trow = Html("tr") + (
|
||||
Html("td", keytag, class_ = "ColumnAttribute"),
|
||||
Html("td", image[keytag], class_ = "ColumnValue")
|
||||
)
|
||||
table += trow
|
||||
|
||||
#################################################
|
||||
##################### End of Exif Tags #####################################################
|
||||
|
||||
# get media notes
|
||||
notelist = self.display_note_list(photo.get_note_list() )
|
||||
notelist = self.display_note_list(media.get_note_list() )
|
||||
if notelist is not None:
|
||||
mediadetail += notelist
|
||||
|
||||
# get attribute list
|
||||
attrlist = self.display_attr_list(photo.get_attribute_list(), False)
|
||||
attrlist = self.display_attr_list(media.get_attribute_list(), False)
|
||||
if attrlist is not None:
|
||||
mediadetail += attrlist
|
||||
|
||||
# get media sources
|
||||
srclist = self.display_media_sources(photo)
|
||||
srclist = self.display_media_sources(media)
|
||||
if srclist is not None:
|
||||
mediadetail += srclist
|
||||
|
||||
@ -2560,11 +2554,11 @@ class MediaPage(BasePage):
|
||||
# and close the file
|
||||
self.XHTMLWriter(mediapage, of)
|
||||
|
||||
def gallery_nav_link(self, handle, name, up = False):
|
||||
def media_nav_link(self, handle, name, up = False):
|
||||
|
||||
url = self.report.build_url_fname_html(handle, "img", up)
|
||||
name = html_escape(name)
|
||||
hyper = Html("a", name, id = name, href = url, title = name, inline = True)
|
||||
img_name = html_escape(name)
|
||||
hyper = Html("a", img_name, name = img_name, id = img_name, href = url, title = img_name, inline = True)
|
||||
|
||||
# return hyperlink to its callers
|
||||
return hyper
|
||||
@ -2925,15 +2919,15 @@ class SourcePage(BasePage):
|
||||
if not self.noid:
|
||||
grampsid = source.gramps_id
|
||||
|
||||
for (label, val) in [(_('GRAMPS ID'), grampsid),
|
||||
(_('Author'), source.author),
|
||||
(_('Publication information'), source.pubinfo),
|
||||
(_('Abbreviation'), source.abbrev)]:
|
||||
for (label, val) in [(GRAMPSID, grampsid),
|
||||
(_("Author"), source.author),
|
||||
(_("Publication information"), source.pubinfo),
|
||||
(_("Abbreviation"), source.abbrev)]:
|
||||
if val:
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", label, class_ = "ColumnAttribute"),
|
||||
Html("td", val, class_ = "ColumnValue")
|
||||
]
|
||||
)
|
||||
tbody += trow
|
||||
|
||||
# additional media
|
||||
@ -3011,11 +3005,11 @@ class MediaListPage(BasePage):
|
||||
if not title:
|
||||
title = "[untitled]"
|
||||
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", index, class_ = "ColumnRowLabel", inline = True),
|
||||
Html("td", self.media_ref_link(handle, title), class_ = "ColumnName"),
|
||||
Html("td", date, class_ = "ColumnDate", inline = True)
|
||||
]
|
||||
)
|
||||
tbody += trow
|
||||
|
||||
# increment counter
|
||||
@ -3664,11 +3658,11 @@ class IndividualPage(BasePage):
|
||||
pname = pname[2:]
|
||||
|
||||
type_ = str( name.get_type() )
|
||||
trow = ( Html("tr") +
|
||||
trow = Html("tr") + (
|
||||
Html("td", type_, class_ = "ColumnAttribute", inline = True)
|
||||
)
|
||||
table += trow
|
||||
tcell = Html("td", pname, class_ = "ColumnValue", inline = True)
|
||||
tcell = Html("td", pname, class_ = "ColumnValue")
|
||||
trow += tcell
|
||||
|
||||
# display any notes associated with this name
|
||||
@ -3685,44 +3679,43 @@ class IndividualPage(BasePage):
|
||||
# attach note
|
||||
unordered += note_text
|
||||
|
||||
# display call names
|
||||
# display call name
|
||||
first_name = primary_name.get_first_name()
|
||||
for name in all_names:
|
||||
call_name = name.get_call_name()
|
||||
if call_name and call_name != first_name:
|
||||
call_name += self.get_citation_links(
|
||||
name.get_source_references() )
|
||||
trow = [ Html("tr"),
|
||||
Html("td", _('Call Name'), class_ = "ColumnAttribute", inline = True),
|
||||
call_name += self.get_citation_links(name.get_source_references() )
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Call Name"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", call_name, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# display the nickname attribute
|
||||
nick_name = self.person.get_nick_name()
|
||||
if nick_name and nick_name != first_name:
|
||||
nick_name += self.get_citation_links(
|
||||
self.person.get_source_references() )
|
||||
trow = [ Html("tr"),
|
||||
nick_name += self.get_citation_links(self.person.get_source_references() )
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Nick Name"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", nick_name, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# GRAMPS ID
|
||||
if not self.noid:
|
||||
trow = [ Html("tr"),
|
||||
Html("td", _("GRAMPS ID"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", self.person.gramps_id, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
person_gid = self.person.get_gramps_id()
|
||||
if not self.noid and person_gid:
|
||||
trow = Html("tr") + (
|
||||
Html("td", GRAMPSID, class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", person_gid, class_ = "ColumnValue", inline = True)
|
||||
)
|
||||
table += trow
|
||||
|
||||
# Gender
|
||||
gender = self.gender_map[self.person.gender]
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Gender"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", gender, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# Age At Death???
|
||||
@ -3733,7 +3726,7 @@ class IndividualPage(BasePage):
|
||||
if birth:
|
||||
birth_date = birth.get_date_object()
|
||||
|
||||
if birth_date is not None:
|
||||
if birth_date is not None and birth_date != Date.EMPTY:
|
||||
alive = probably_alive(self.person, db, date.Today() )
|
||||
|
||||
death_date = None
|
||||
@ -3743,13 +3736,13 @@ class IndividualPage(BasePage):
|
||||
if death:
|
||||
death_date = death.get_date_object()
|
||||
|
||||
if not alive and death_date is not None:
|
||||
if not alive and (death_date is not None and death_date != Date.EMPTY):
|
||||
nyears = death_date - birth_date
|
||||
nyears.format(precision = 3)
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Age at Death"), class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", nyears, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# time since they passed away
|
||||
@ -3757,19 +3750,19 @@ class IndividualPage(BasePage):
|
||||
nyears.format(precision = 3)
|
||||
|
||||
# get appropriate gender pronoun
|
||||
if gender == "female":
|
||||
if gender == Person.FEMALE:
|
||||
gdr_str = "she"
|
||||
elif gender == "male":
|
||||
elif gender == Person.MALE:
|
||||
gdr_str = "he"
|
||||
else:
|
||||
gdr_str = "unknown"
|
||||
|
||||
time_str = _("It has been %(time)s, since %(gdr_str)s has died..") % {
|
||||
'time' : nyears, 'gdr_str' : gdr_str }
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", " ", class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", time_str, class_ = "ColumnValue", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# return all three pieces to its caller
|
||||
@ -3789,7 +3782,7 @@ class IndividualPage(BasePage):
|
||||
|
||||
# begin events division and section title
|
||||
with Html("div", class_ = "subsection", id = "events") as section:
|
||||
section += Html("h4", _('Events'), inline = True)
|
||||
section += Html("h4", _("Events"), inline = True)
|
||||
|
||||
# begin events table
|
||||
with Html("table", class_ = "infolist eventlist") as table:
|
||||
@ -3823,8 +3816,7 @@ class IndividualPage(BasePage):
|
||||
@param: subdirs = True or False
|
||||
@param: hyp = show hyperlinked evt type or not?
|
||||
"""
|
||||
tbody += self.display_event_row(event, evt_ref, True, False, True,
|
||||
False, True, True)
|
||||
tbody += self.display_event_row(event, evt_ref, True, False, True, False, True, True)
|
||||
|
||||
# return section to its caller
|
||||
return section
|
||||
@ -3840,7 +3832,7 @@ class IndividualPage(BasePage):
|
||||
|
||||
# begin addresses division and title
|
||||
with Html("div", class_ = "subsection", id = "Addresses") as section:
|
||||
section += Html("h4", _('Addresses'), inline = True)
|
||||
section += Html("h4", _("Addresses"), inline = True)
|
||||
|
||||
# write out addresses()
|
||||
section += self.dump_addresses(self.person)
|
||||
@ -3860,7 +3852,7 @@ class IndividualPage(BasePage):
|
||||
|
||||
# begin LDS Ordinance division and section title
|
||||
with Html("div", class_ = "subsection", id = "LDSOrdinance") as section:
|
||||
section += Html("h4", _('Latter-Day Saints (LDS) Ordinance'), inline = True)
|
||||
section += Html("h4", _("Latter-Day Saints/ LDS Ordinance"), inline = True)
|
||||
|
||||
# ump individual LDS ordinance list
|
||||
section += self.dump_ordinance(db, self.person)
|
||||
@ -3925,7 +3917,7 @@ class IndividualPage(BasePage):
|
||||
|
||||
# begin parents division
|
||||
with Html("div", class_ = "subsection", id = "parents") as section:
|
||||
section += Html("h4", _('Parents'), inline = True)
|
||||
section += Html("h4", _("Parents"), inline = True)
|
||||
|
||||
# begin parents table
|
||||
with Html("table", class_ = "infolist") as table:
|
||||
@ -3962,14 +3954,15 @@ class IndividualPage(BasePage):
|
||||
trow = Html("tr")
|
||||
table += trow
|
||||
|
||||
tabcol1, tabcol2 = self.display_parent(father_handle, _('Father'), frel)
|
||||
trow += (tabcol1, tabcol2)
|
||||
tcell1, tcell2 = self.display_parent(father_handle, _("Father"), frel)
|
||||
trow += (tcell1, tcell2)
|
||||
mother_handle = family.get_mother_handle()
|
||||
if mother_handle:
|
||||
trow = Html("tr")
|
||||
table += trow
|
||||
tabcol1, tabcol2 = self.display_parent(mother_handle, _('Mother'), mrel)
|
||||
trow += (tabcol1, tabcol2)
|
||||
|
||||
tcell1, tcell2 = self.display_parent(mother_handle, _("Mother"), mrel)
|
||||
trow += (tcell1, tcell2)
|
||||
|
||||
first = False
|
||||
if len(child_ref_list) > 1:
|
||||
@ -3979,13 +3972,15 @@ class IndividualPage(BasePage):
|
||||
# we've already "seen" this child
|
||||
|
||||
# now that we have all natural siblings, display them...
|
||||
if len(sibling):
|
||||
trow = ( Html("tr") +
|
||||
if sibling:
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||
)
|
||||
table += trow
|
||||
|
||||
tcell = Html("td", class_ = "ColumnValue")
|
||||
trow += tcell
|
||||
|
||||
ordered = Html("ol")
|
||||
tcell += ordered
|
||||
|
||||
@ -4036,13 +4031,15 @@ class IndividualPage(BasePage):
|
||||
half_siblings.add(half_child_handle)
|
||||
|
||||
# now that we have all half- siblings, display them...
|
||||
if len(half_siblings):
|
||||
trow = ( Html("tr") +
|
||||
if half_siblings:
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Half Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||
)
|
||||
table += trow
|
||||
|
||||
tcell = Html("td", class_ = "ColumnValue")
|
||||
trow += tcell
|
||||
|
||||
ordered = Html("ol")
|
||||
tcell += ordered
|
||||
|
||||
@ -4076,7 +4073,7 @@ class IndividualPage(BasePage):
|
||||
if father_handle:
|
||||
tmp_parent_handles.add(father_handle)
|
||||
|
||||
while len(tmp_parent_handles) > 0:
|
||||
while len(tmp_parent_handles):
|
||||
# pop the next parent from the set
|
||||
parent_handle = tmp_parent_handles.pop()
|
||||
|
||||
@ -4112,7 +4109,7 @@ class IndividualPage(BasePage):
|
||||
# of families involved is > 1
|
||||
|
||||
if len(all_family_handles) > 1:
|
||||
while len(all_family_handles) > 0:
|
||||
while len(all_family_handles):
|
||||
# pop the next family from the set
|
||||
family_handle = all_family_handles.pop()
|
||||
# look in this family for children we haven't yet seen
|
||||
@ -4127,12 +4124,14 @@ class IndividualPage(BasePage):
|
||||
|
||||
# now that we have all step- siblings, display them...
|
||||
if len(step_siblings):
|
||||
trow = ( Html("tr") +
|
||||
trow = Html("tr") + (
|
||||
Html("td", _("Step Siblings"), class_ = "ColumnAttribute", inline = True)
|
||||
)
|
||||
table += trow
|
||||
|
||||
tcell = Html("td", class_ = "ColumnValue")
|
||||
trow += tcell
|
||||
|
||||
ordered = Html("ol")
|
||||
tcell += ordered
|
||||
|
||||
@ -4163,7 +4162,7 @@ class IndividualPage(BasePage):
|
||||
|
||||
# begin families division and section title
|
||||
with Html("div", class_ = "subsection", id = "families") as section:
|
||||
section += Html("h4", _('Families'), inline = True)
|
||||
section += Html("h4", _("Families"), inline = True)
|
||||
|
||||
# begin families table
|
||||
with Html("table", class_ = "infolist") as table:
|
||||
@ -4184,8 +4183,10 @@ class IndividualPage(BasePage):
|
||||
|
||||
tcell = Html("td", class_ = "ColumnValue")
|
||||
trow += tcell
|
||||
|
||||
ordered = Html("ol")
|
||||
tcell += ordered
|
||||
|
||||
childlist = [child_ref.ref for child_ref in childlist]
|
||||
|
||||
if self.report.options['birthorder']:
|
||||
@ -4200,13 +4201,13 @@ class IndividualPage(BasePage):
|
||||
ordered += self.display_child_link(child_handle)
|
||||
|
||||
# family LDS ordinance list
|
||||
famldslist = family.get_lds_ord_list()
|
||||
famldslist = family.lds_ord_list
|
||||
if famldslist:
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", " ", class_ = "ColumnType", inline = True),
|
||||
Html("td", " ", class_ = "ColumnAttribute", inline = True),
|
||||
Html("td", self.dump_ordinance(db, family, "Family"), class_ = "ColumnValue")
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# return section to its caller
|
||||
@ -4245,6 +4246,7 @@ class IndividualPage(BasePage):
|
||||
Html("td", relstr, class_ = "ColumnAttribute", inline = True)
|
||||
)
|
||||
table += trow
|
||||
|
||||
tcell = Html("td", class_ = "ColumnValue")
|
||||
trow += tcell
|
||||
|
||||
@ -4384,8 +4386,7 @@ class IndividualPage(BasePage):
|
||||
@param: subdirs = True or False
|
||||
@param: hyp = show hyperlinked evt type or not?
|
||||
"""
|
||||
tbody += self.display_event_row(event, event_ref, True, False,
|
||||
True, False, True, True)
|
||||
tbody += self.display_event_row(event, event_ref, True, False, True, False, True, True)
|
||||
|
||||
# return table to its callers
|
||||
return table
|
||||
@ -4492,18 +4493,19 @@ class RepositoryPage(BasePage):
|
||||
repositorydetail += table
|
||||
|
||||
# repository type
|
||||
trow = [ Html("tr"),
|
||||
trow = Html("tr") + (
|
||||
Html("td", THEAD, class_ = "ColumnType", inline = True),
|
||||
Html("td", str(repo.type), class_ = "ColumnAttribute", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# GRAMPS ID
|
||||
if not self.noid and gid:
|
||||
# repo gramps id
|
||||
trow = [ Html("tr"),
|
||||
Html("td", _("GRAMPS ID"), class_ = "ColumnType", inline = True),
|
||||
trow = Html("tr") + (
|
||||
Html("td", GRAMPSID, class_ = "ColumnType", inline = True),
|
||||
Html("td", gid, class_ = "ColumnAttribute", inline = True)
|
||||
]
|
||||
)
|
||||
table += trow
|
||||
|
||||
# repository: address(es)
|
||||
@ -4676,6 +4678,9 @@ class NavWebReport(Report):
|
||||
self.inc_contact = self.options['contactnote'] or \
|
||||
self.options['contactimg']
|
||||
|
||||
# exif tags option
|
||||
self.exiftagsopt = self.options["exiftagsopt"]
|
||||
|
||||
# name format option
|
||||
self.name_format = self.options['name_format']
|
||||
|
||||
@ -4892,7 +4897,7 @@ class NavWebReport(Report):
|
||||
|
||||
# Copy the Creative Commons icon if the Creative Commons
|
||||
# license is requested???
|
||||
if 0 < self.copyright < len(_CC):
|
||||
if 0 < self.copyright <= len(_CC):
|
||||
imgs += ["somerights20.gif"]
|
||||
|
||||
# include GRAMPS favicon
|
||||
@ -4901,6 +4906,9 @@ class NavWebReport(Report):
|
||||
# we need the blank image gif neede by behaviour.css
|
||||
imgs += ["blank.gif"]
|
||||
|
||||
# add the document.png file for media other than photos
|
||||
imgs += ["document.png"]
|
||||
|
||||
# copy Ancestor Tree graphics if needed???
|
||||
if self.graph:
|
||||
imgs += ["Web_Gender_Female.png",
|
||||
@ -4908,9 +4916,9 @@ class NavWebReport(Report):
|
||||
"Web_Gender_Male.png",
|
||||
"Web_Gender_MaleFFF.png"]
|
||||
|
||||
for f in imgs:
|
||||
from_path = os.path.join(const.IMAGE_DIR, f)
|
||||
self.copy_file(from_path, f, "images")
|
||||
for fname in imgs:
|
||||
from_path = os.path.join(const.IMAGE_DIR, fname)
|
||||
self.copy_file(from_path, fname, "images")
|
||||
|
||||
def build_events(self, ind_list, event_dict):
|
||||
"""
|
||||
@ -5525,6 +5533,12 @@ class NavWebOptions(MenuReportOptions):
|
||||
menu.add_option(category_name, 'gallery', self.__gallery)
|
||||
self.__gallery.connect('value-changed', self.__gallery_changed)
|
||||
|
||||
self.__exiftags = BooleanOption(_("Whether to add exif tags to the media page or not?"), False)
|
||||
self.__exiftags.set_help(_("Do you want to add the exif data tags to the page? You will"
|
||||
" need to have the pyexiv2 library installed on your system."
|
||||
"It can be downloaded from here: http://www.exiv2.org/ ."))
|
||||
menu.add_option(category_name, "exiftagsopt", self.__exiftags)
|
||||
|
||||
self.__maxinitialimagewidth = NumberOption(_("Max width of initial image"),
|
||||
_DEFAULT_MAX_IMG_WIDTH, 0, 2000)
|
||||
self.__maxinitialimagewidth.set_help(_("This allows you to set the maximum width "
|
||||
@ -5724,9 +5738,11 @@ class NavWebOptions(MenuReportOptions):
|
||||
"""
|
||||
|
||||
if self.__gallery.get_value() == False:
|
||||
self.__exiftags.set_available(False)
|
||||
self.__maxinitialimagewidth.set_available(False)
|
||||
self.__maxinitialimageheight.set_available(False)
|
||||
else:
|
||||
self.__exiftags.set_available(True)
|
||||
self.__maxinitialimagewidth.set_available(True)
|
||||
self.__maxinitialimageheight.set_available(True)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user