0001931: add dates to pedigree gramplet; fixed bug in RelationView in displaying b. with no date
svn: r10586
This commit is contained in:
parent
ce002bf7a6
commit
fe35c2ff91
@ -983,21 +983,29 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
box.add(GrampsWidgets.BasicLabel(title))
|
box.add(GrampsWidgets.BasicLabel(title))
|
||||||
|
|
||||||
def info_string(self, handle):
|
def info_string(self, handle):
|
||||||
child = self.dbstate.db.get_person_from_handle(handle)
|
person = self.dbstate.db.get_person_from_handle(handle)
|
||||||
if not child:
|
if not person:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
birth = ReportUtils.get_birth_or_fallback(self.dbstate.db, child)
|
birth = ReportUtils.get_birth_or_fallback(self.dbstate.db, person)
|
||||||
if birth and birth.get_type != gen.lib.EventType.BIRTH:
|
if birth and birth.get_type != gen.lib.EventType.BIRTH:
|
||||||
bdate = "<i>%s</i>" % cgi.escape(DateHandler.get_date(birth))
|
sdate = DateHandler.get_date(birth)
|
||||||
|
if sdate:
|
||||||
|
bdate = "<i>%s</i>" % cgi.escape(sdate)
|
||||||
|
else:
|
||||||
|
bdate = ""
|
||||||
elif birth:
|
elif birth:
|
||||||
bdate = cgi.escape(DateHandler.get_date(birth))
|
bdate = cgi.escape(DateHandler.get_date(birth))
|
||||||
else:
|
else:
|
||||||
bdate = ""
|
bdate = ""
|
||||||
|
|
||||||
death = ReportUtils.get_death_or_fallback(self.dbstate.db, child)
|
death = ReportUtils.get_death_or_fallback(self.dbstate.db, person)
|
||||||
if death and death.get_type != gen.lib.EventType.DEATH:
|
if death and death.get_type != gen.lib.EventType.DEATH:
|
||||||
ddate = "<i>%s</i>" % cgi.escape(DateHandler.get_date(death))
|
sdate = DateHandler.get_date(death)
|
||||||
|
if sdate:
|
||||||
|
ddate = "<i>%s</i>" % cgi.escape(sdate)
|
||||||
|
else:
|
||||||
|
ddate = ""
|
||||||
elif death:
|
elif death:
|
||||||
ddate = cgi.escape(DateHandler.get_date(death))
|
ddate = cgi.escape(DateHandler.get_date(death))
|
||||||
else:
|
else:
|
||||||
|
@ -20,16 +20,18 @@ import sys
|
|||||||
import re
|
import re
|
||||||
import urllib
|
import urllib
|
||||||
import posixpath
|
import posixpath
|
||||||
|
import cgi
|
||||||
|
|
||||||
import gen.lib
|
from BasicUtils import name_displayer
|
||||||
from DataViews import register, Gramplet
|
from DataViews import register, Gramplet
|
||||||
from PluginUtils import *
|
from PluginUtils import *
|
||||||
from BasicUtils import name_displayer
|
|
||||||
from Utils import media_path_full
|
|
||||||
from QuickReports import run_quick_report_by_name
|
from QuickReports import run_quick_report_by_name
|
||||||
import DateHandler
|
from ReportBase import ReportUtils
|
||||||
from TransUtils import sgettext as _
|
from TransUtils import sgettext as _
|
||||||
|
from Utils import media_path_full
|
||||||
import Config
|
import Config
|
||||||
|
import DateHandler
|
||||||
|
import gen.lib
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hello World, in Gramps Gramplets
|
# Hello World, in Gramps Gramplets
|
||||||
@ -154,6 +156,8 @@ class LogGramplet(Gramplet):
|
|||||||
def on_load(self):
|
def on_load(self):
|
||||||
if len(self.gui.data) > 0:
|
if len(self.gui.data) > 0:
|
||||||
self.show_duplicates = self.gui.data[0]
|
self.show_duplicates = self.gui.data[0]
|
||||||
|
else:
|
||||||
|
self.show_duplicates = "no"
|
||||||
|
|
||||||
def on_save(self):
|
def on_save(self):
|
||||||
self.gui.data = [self.show_duplicates]
|
self.gui.data = [self.show_duplicates]
|
||||||
@ -454,12 +458,22 @@ class PedigreeGramplet(Gramplet):
|
|||||||
self.set_text(_("No Family Tree loaded."))
|
self.set_text(_("No Family Tree loaded."))
|
||||||
self.tooltip = _("Click name to make person active\n") + \
|
self.tooltip = _("Click name to make person active\n") + \
|
||||||
_("Right-click name to edit person")
|
_("Right-click name to edit person")
|
||||||
self.max_generations = 100
|
|
||||||
self.set_use_markup(True)
|
self.set_use_markup(True)
|
||||||
|
self.max_generations = 100
|
||||||
|
self.show_dates = 1
|
||||||
#self.set_option("max_generations",
|
#self.set_option("max_generations",
|
||||||
# NumberOption(_("Maximum generations"),
|
# NumberOption(_("Maximum generations"),
|
||||||
# 100, -1, 500))
|
# 100, -1, 500))
|
||||||
|
|
||||||
|
def on_load(self):
|
||||||
|
if len(self.gui.data) > 0:
|
||||||
|
self.max_generations = int(self.gui.data[0])
|
||||||
|
if len(self.gui.data) > 1:
|
||||||
|
self.show_dates = int(self.gui.data[1])
|
||||||
|
|
||||||
|
def on_save(self):
|
||||||
|
self.gui.data = [self.max_generations, self.show_dates]
|
||||||
|
|
||||||
def db_changed(self):
|
def db_changed(self):
|
||||||
"""
|
"""
|
||||||
If a person or family changes, the ancestors of active person might have
|
If a person or family changes, the ancestors of active person might have
|
||||||
@ -518,13 +532,18 @@ class PedigreeGramplet(Gramplet):
|
|||||||
self.append_text(boxes)
|
self.append_text(boxes)
|
||||||
self.link(name_displayer.display_name(person.get_primary_name()),
|
self.link(name_displayer.display_name(person.get_primary_name()),
|
||||||
'Person', person.handle)
|
'Person', person.handle)
|
||||||
|
if self.show_dates:
|
||||||
|
self.append_text(" ")
|
||||||
|
self.render_text(self.info_string(person))
|
||||||
self.append_text("\n")
|
self.append_text("\n")
|
||||||
if generation not in self._generations:
|
if generation not in self._generations:
|
||||||
self._generations[generation] = []
|
self._generations[generation] = []
|
||||||
self._generations[generation].append(handle)
|
self._generations[generation].append(handle)
|
||||||
elif what == "a":
|
elif what == "a":
|
||||||
self.append_text("o------")
|
self.append_text("o------")
|
||||||
self.render_text("<b>%s</b>" % name_displayer.display_name(person.get_primary_name()))
|
self.render_text("<b>%s</b> " % name_displayer.display_name(person.get_primary_name()))
|
||||||
|
if self.show_dates:
|
||||||
|
self.render_text(self.info_string(person))
|
||||||
self.append_text("\n")
|
self.append_text("\n")
|
||||||
if generation not in self._generations:
|
if generation not in self._generations:
|
||||||
self._generations[generation] = []
|
self._generations[generation] = []
|
||||||
@ -540,6 +559,44 @@ class PedigreeGramplet(Gramplet):
|
|||||||
self.process_person(mother, generation + 1, "m")
|
self.process_person(mother, generation + 1, "m")
|
||||||
self.set_box(generation, 0) # regardless, turn off line if on
|
self.set_box(generation, 0) # regardless, turn off line if on
|
||||||
|
|
||||||
|
def info_string(self, person):
|
||||||
|
birth = ReportUtils.get_birth_or_fallback(self.dbstate.db, person)
|
||||||
|
if birth and birth.get_type != gen.lib.EventType.BIRTH:
|
||||||
|
sdate = DateHandler.get_date(birth)
|
||||||
|
if sdate:
|
||||||
|
bdate = "<i>%s</i>" % cgi.escape(sdate)
|
||||||
|
else:
|
||||||
|
bdate = ""
|
||||||
|
elif birth:
|
||||||
|
bdate = cgi.escape(DateHandler.get_date(birth))
|
||||||
|
else:
|
||||||
|
bdate = ""
|
||||||
|
|
||||||
|
death = ReportUtils.get_death_or_fallback(self.dbstate.db, person)
|
||||||
|
if death and death.get_type != gen.lib.EventType.DEATH:
|
||||||
|
sdate = DateHandler.get_date(death)
|
||||||
|
if sdate:
|
||||||
|
ddate = "<i>%s</i>" % cgi.escape(sdate)
|
||||||
|
else:
|
||||||
|
ddate = ""
|
||||||
|
elif death:
|
||||||
|
ddate = cgi.escape(DateHandler.get_date(death))
|
||||||
|
else:
|
||||||
|
ddate = ""
|
||||||
|
|
||||||
|
if bdate and ddate:
|
||||||
|
value = _("b. %(birthdate)s, d. %(deathdate)s") % {
|
||||||
|
'birthdate' : bdate,
|
||||||
|
'deathdate' : ddate
|
||||||
|
}
|
||||||
|
elif bdate:
|
||||||
|
value = _("b. %s") % (bdate)
|
||||||
|
elif ddate:
|
||||||
|
value = _("d. %s") % (ddate)
|
||||||
|
else:
|
||||||
|
value = ""
|
||||||
|
return value
|
||||||
|
|
||||||
def main(self): # return false finishes
|
def main(self): # return false finishes
|
||||||
"""
|
"""
|
||||||
Generator which will be run in the background.
|
Generator which will be run in the background.
|
||||||
|
Loading…
Reference in New Issue
Block a user