diff --git a/src/data/Web_Visually.css b/src/data/Web_Visually.css index d87f471e3..952acb49c 100644 --- a/src/data/Web_Visually.css +++ b/src/data/Web_Visually.css @@ -88,22 +88,33 @@ img { background:none; } .content { + width:965px; + margin:0 auto; + padding-bottom:.5em; background-color:#FFF; color:#000; } .content div.snapshot { - float:right; - margin:1.6em; + margin:0; padding:0; background:none; } .content div.snapshot div.thumbnail { margin:0; - padding:0; + padding:2em 0 0 0; background:none; } -.content div.snapshot div.thumbnail p { - display: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 @@ -115,12 +126,11 @@ h2 { display:none; } h3 { - width:80%; font:normal 2em/1.2em serif; - text-align:left; + text-align:center; margin:0; padding:.5em 20px .2em 20px; - border-bottom:double 4px #453619; + border-bottom:double 4px #000; } h4 { font:normal 1.2em/1.2em serif; @@ -128,7 +138,7 @@ h4 { margin:0; padding:.2em 0 .2em 20px; background-color:#453619; - border-bottom:solid 1px #6AF364; + border-bottom:solid 2px #6AF364; } h5, h6 { font:normal 1em/1.2em serif; @@ -276,6 +286,7 @@ p#user_header { padding:0 0 0 9px; background-color:#6AF364; border-bottom:solid 2px #000; + border-top:solid 2px #000; } #alphabet ul li.letters { margin:0; @@ -291,6 +302,7 @@ p#user_header { color:#000; margin:0; padding:5px 5px; + text-decoration:none; } #alphabet ul li.letters a:hover { background-color:#22822A; @@ -358,7 +370,7 @@ table.infolist { padding:0; background-color:#FFF; } -table.infolist tr th { +table.infolist thead tr th { font:normal 1.1em/1.2em serif; color:#000; margin:0; @@ -366,12 +378,12 @@ table.infolist tr th { background-color:#6AF364; border-bottom:solid 1px #000; } -table.infolist tr th a { +table.infolist thead tr th a { + background-color:#6AF364; color:#000; } -table.infolist tr th a:hover { +table.infolist thead tr th a:hover { background-color:#C1B398; - color:#000; } table.infolist tr td { font:normal 1.1em/1.4em serif; @@ -425,15 +437,14 @@ table.infolist tbody tr td.ColumnParents span.mother:before { ----------------------------------------------------- */ #Surnames { } #SurnameDetail p#description { padding-top:0; } -table.surnamelist tr thead th.ColumnSurname, #Surnames table.surnamelist tbody tr td.ColumnSurname { +table.surnamelist thead tr th.ColumnSurname, #Surnames table.surnamelist tbody tr td.ColumnSurname { width:50%; } -table.surnamelist tr th { +table.surnamelist thead tr th { padding:0; } -table.surnamelist tr th a, table.surnamelist tr th a:visited { +table.surnamelist thead tr th a, table.surnamelist thead tr th a:visited { display:block; - color:#FFF; text-align:left; text-decoration:none; padding:.2em 10px; @@ -466,10 +477,10 @@ table.surnamelist tbody tr td.ColumnSurname:hover, table#SortByName tbody tr td. background-color:#C1B398; } table.surname { - border-bottom:solid 1px #453619; + border-bottom:solid 1px #000; } table.surname tbody tr td { - border-bottom:dashed 1px #453619; + border-bottom:dashed 1px #000; } table.surname thead tr th.ColumnName { width:20%; @@ -484,9 +495,8 @@ table.surname tbody tr td.ColumnName a { display:block; padding:.6em 10px .6em 20px; } -table.surname tbody tr td.ColumnName a span.grampsid { - display:none; -} +table.surname tbody tr td.ColumnName a span.grampsid { } + table.surname tbody tr td.ColumnName:hover { background-color:#C1B398; } @@ -739,6 +749,8 @@ div.subsection table.infolist { ----------------------------------------------------- */ div#events { padding-bottom:0; + height:3cm; + overflow:auto; } div#events h4 { margin-bottom:0; @@ -874,6 +886,10 @@ div#narrative { /* Subsections : Source References ----------------------------------------------------- */ +div#sourcerefs { + height:2.5cm; +overflow:auto; +} div#sourcerefs ol { list-style-type:decimal; } @@ -1206,9 +1222,8 @@ body#WebCal { .calendar tbody tr td ul li span.yearsmarried em { color:#453619; } -.calendar tbody tr td.highlight { +.calendar tbody tr td.highlight { } -} .calendar tbody tr td.highlight div.date { color:#0A65B5; background-color:#C2E1FE; diff --git a/src/plugins/textreport/BirthdayReport.py b/src/plugins/textreport/BirthdayReport.py index 2c540d04d..96919bf8f 100644 --- a/src/plugins/textreport/BirthdayReport.py +++ b/src/plugins/textreport/BirthdayReport.py @@ -2,6 +2,7 @@ # # Copyright (C) 2000-2007 Donald N. Allingham # Copyright (C) 2008-2009 Brian G. Matherly +# Copyright (C) 2009 Rob G. Healey # # 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 @@ -27,8 +28,7 @@ #------------------------------------------------------------------------ from gettext import gettext as _ from gettext import ngettext -import datetime -import time +import datetime, time #------------------------------------------------------------------------ # @@ -36,7 +36,7 @@ import time # #------------------------------------------------------------------------ import BaseDoc -from BasicUtils import name_displayer +from BasicUtils import name_displayer as _nd from gen.plug import PluginManager from ReportBase import Report, ReportUtils, MenuReportOptions, CATEGORY_TEXT from gen.plug.menu import BooleanOption, StringOption, NumberOption, \ @@ -59,24 +59,24 @@ class CalendarReport(Report): def __init__(self, database, options_class): Report.__init__(self, database, options_class) menu = options_class.menu + mgobn = lambda name:options_class.menu.get_option_by_name(name).get_value() - self.titletext = menu.get_option_by_name('titletext').get_value() - self.relationships = \ - menu.get_option_by_name('relationships').get_value() - self.year = menu.get_option_by_name('year').get_value() - self.name_format = menu.get_option_by_name('name_format').get_value() - self.country = menu.get_option_by_name('country').get_value() - self.anniversaries = menu.get_option_by_name('anniversaries').get_value() - self.start_dow = menu.get_option_by_name('start_dow').get_value() - self.maiden_name = menu.get_option_by_name('maiden_name').get_value() - self.alive = menu.get_option_by_name('alive').get_value() - self.birthdays = menu.get_option_by_name('birthdays').get_value() - self.text1 = menu.get_option_by_name('text1').get_value() - self.text2 = menu.get_option_by_name('text2').get_value() - self.text3 = menu.get_option_by_name('text3').get_value() + self.titletext = mgobn('titletext') + self.relationships = mgobn('relationships') + self.year = mgobn('year') + self.name_format = mgobn('name_format') + self.country = mgobn('country') + self.anniversaries = mgobn('anniversaries') + self.start_dow = mgobn('start_dow') + self.maiden_name = mgobn('maiden_name') + self.alive = mgobn('alive') + self.birthdays = mgobn('birthdays') + self.text1 = mgobn('text1') + self.text2 = mgobn('text2') + self.text3 = mgobn('text3') self.filter_option = menu.get_option_by_name('filter') self.filter = self.filter_option.get_filter() - pid = menu.get_option_by_name('pid').get_value() + pid = mgobn('pid') self.center_person = database.get_person_from_gramps_id(pid) def get_name(self, person, maiden_name = None): @@ -102,7 +102,7 @@ class CalendarReport(Report): else: name = gen.lib.Name(primary_name) name.set_display_as(self.name_format) - return name_displayer.display_name(name) + return _nd.display_name(name) def add_day_item(self, text, month, day): """ Add an item to a day. """ @@ -152,7 +152,7 @@ class CalendarReport(Report): if self.relationships: name = self.center_person.get_primary_name() self.doc.start_paragraph('BIR-Text3style') - self.doc.write_text(_("Relationships shown are to %s") % name_displayer.display_name(name)) + self.doc.write_text(_("Relationships shown are to %s") % _nd.display_name(name)) self.doc.end_paragraph() self.progress.set_pass(_('Formatting months...'), 12) for month in range(1, 13): @@ -350,7 +350,7 @@ class CalendarOptions(MenuReportOptions): # We must figure out the value of the first option before we can # create the EnumeratedListOption - fmt_list = name_displayer.get_name_format() + fmt_list = _nd.get_name_format() name_format = EnumeratedListOption(_("Name format"), fmt_list[0][0]) for num, name, fmt_str, act in fmt_list: name_format.add_item(num, name) diff --git a/src/plugins/webreport/NarrativeWeb.py b/src/plugins/webreport/NarrativeWeb.py index d16ce610b..6c45eab5c 100644 --- a/src/plugins/webreport/NarrativeWeb.py +++ b/src/plugins/webreport/NarrativeWeb.py @@ -288,6 +288,9 @@ class BasePage: def alphabet_navigation(self, of, db, handle_list, key): """ Will create the alphabetical navigation bar... + + handle_list -- a list of people's or Places' handles + key -- _PERSON or _PLACE """ sorted_set = {} @@ -301,24 +304,34 @@ class BasePage: sorted_first_letter = sorted_set.keys() sorted_first_letter.sort(locale.strcoll) + # remove a comma as a letter in Places at the least? + sorted_first_letter = [(ltr) for ltr in sorted_first_letter + if ltr != ','] + num_ltrs = len(sorted_first_letter) if num_ltrs <= 26: - of.write('\t