Internationalization fixes, support for PDF generation

svn: r45
This commit is contained in:
Don Allingham
2001-05-22 22:30:13 +00:00
parent 175f7224a8
commit 0432e0998e
30 changed files with 454 additions and 199 deletions

View File

@@ -27,10 +27,19 @@ import re
import sort
import string
import utils
import intl
_ = intl.gettext
from TextDoc import *
from OpenOfficeDoc import *
from HtmlDoc import *
try:
import reportlab.platypus.tables
from PdfDoc import *
no_pdf = 0
except:
no_pdf = 1
from gtk import *
from gnome.ui import *
@@ -157,7 +166,7 @@ class FamilyGroup:
def setup(self):
self.doc.open(self.output)
self.doc.start_paragraph('Title')
self.doc.write_text("Family Group Record")
self.doc.write_text(_("Family Group Record"))
self.doc.end_paragraph()
def end(self):
@@ -186,7 +195,7 @@ class FamilyGroup:
self.doc.start_row()
self.doc.start_cell("TextContents")
self.doc.start_paragraph('Normal')
self.doc.write_text("Birth")
self.doc.write_text(_("Birth"))
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.start_cell("TextContents")
@@ -204,7 +213,7 @@ class FamilyGroup:
self.doc.start_row()
self.doc.start_cell("TextContents")
self.doc.start_paragraph('Normal')
self.doc.write_text("Death")
self.doc.write_text(_("Death"))
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.start_cell("TextContents")
@@ -232,7 +241,7 @@ class FamilyGroup:
self.doc.start_row()
self.doc.start_cell("TextContents")
self.doc.start_paragraph('Normal')
self.doc.write_text("Father")
self.doc.write_text(_("Father"))
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.start_cell("TextContentsEnd",2)
@@ -245,7 +254,7 @@ class FamilyGroup:
self.doc.start_row()
self.doc.start_cell("TextContents")
self.doc.start_paragraph('Normal')
self.doc.write_text("Mother")
self.doc.write_text(_("Mother"))
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.start_cell("TextContentsEnd",2)
@@ -258,6 +267,12 @@ class FamilyGroup:
self.doc.end_table()
def dump_child_event(self,text,name,event):
if event:
date = event.getDate()
place = event.getPlace()
else:
date = ""
place = ""
self.doc.start_row()
self.doc.start_cell(text)
self.doc.start_paragraph('Normal')
@@ -270,12 +285,12 @@ class FamilyGroup:
self.doc.end_cell()
self.doc.start_cell('TextContents')
self.doc.start_paragraph('Normal')
self.doc.write_text(event.getDate())
self.doc.write_text(date)
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.start_cell('TextContentsEnd')
self.doc.start_paragraph('Normal')
self.doc.write_text(event.getPlace())
self.doc.write_text(place)
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.end_row()
@@ -307,6 +322,7 @@ class FamilyGroup:
index = 1
for family in person.getFamilyList():
m = family.getMarriage()
if person == family.getFather():
spouse =family.getMother()
else:
@@ -318,7 +334,7 @@ class FamilyGroup:
self.doc.end_cell()
self.doc.start_cell('TextContents')
self.doc.start_paragraph('Normal')
self.doc.write_text("Spouse")
self.doc.write_text(_("Spouse"))
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.start_cell('TextContentsEnd',2)
@@ -328,11 +344,10 @@ class FamilyGroup:
self.doc.end_cell()
self.doc.end_row()
m = family.getMarriage()
if index == families:
self.dump_child_event('TextChild2','Married',m)
self.dump_child_event('TextChild2',_("Married"),m)
else:
self.dump_child_event('TextChild1','Death',m)
self.dump_child_event('TextChild1',_("Married"),m)
#--------------------------------------------------------------------
#
@@ -353,7 +368,7 @@ class FamilyGroup:
self.doc.start_row()
self.doc.start_cell('ParentHead',4)
self.doc.start_paragraph('ParentName')
self.doc.write_text('Children')
self.doc.write_text(_("Children"))
self.doc.end_paragraph()
self.doc.end_cell()
self.doc.end_row()
@@ -388,7 +403,10 @@ def report(database,person):
family_list = person.getFamilyList()
label = topDialog.get_widget("labelTitle")
label.set_text("Family Group chart for " + name)
if no_pdf == 1:
topDialog.get_widget("pdf").set_sensitive(0)
label.set_text(_("Family Group chart for %s") % name)
topDialog.signal_autoconnect({
"destroy_passed_object" : utils.destroy_passed_object,
"on_save_clicked" : on_save_clicked,
@@ -400,7 +418,7 @@ def report(database,person):
frame = topDialog.get_widget("spouse")
option_menu = topDialog.get_widget("spouse_menu")
if len(family_list) > 1:
frame.show()
else:
@@ -449,8 +467,10 @@ def on_save_clicked(obj):
if topDialog.get_widget("html").get_active():
template = topDialog.get_widget("htmlfile").get_text()
doc = HtmlDoc(template)
else:
elif topDialog.get_widget("openoffice").get_active():
doc = OpenOfficeDoc(paper,orien)
else:
doc = PdfDoc(paper,orien)
MyReport = FamilyGroup(db,family,outputName,doc)
@@ -465,9 +485,10 @@ def on_save_clicked(obj):
#
#------------------------------------------------------------------------
def get_description():
return "Creates a family group report, showing information on "\
"a set of parents and their children."
return _("Creates a family group report, showing information on a set of parents and their children.")
def get_name():
return _("Generate files/Family Group Report")