* src/GrampsCfg.py: remove unused options

* src/gramps.glade: remove unused panels in preferences
* src/Plugins.py: removed xpm images
* src/EventEdit.py: get full event list
* src/plugins/AncestorChart.py: remove xpm image
* src/plugins/AncestorChart2.py: remove xpm image
* src/plugins/AncestorReport.py: remove xpm image
* src/plugins/Ancestors.py: remove xpm image
* src/plugins/BookReport.py: remove xpm image
* src/plugins/CustomBookText.py: remove xpm image
* src/plugins/DesGraph.py: remove xpm image
* src/plugins/DescendReport.py: remove xpm image
* src/plugins/DetAncestralReport.py: remove xpm image
* src/plugins/DetDescendantReport.py: remove xpm image
* src/plugins/FamilyGroup.py: remove xpm image
* src/plugins/FtmStyleAncestors.py: remove xpm image
* src/plugins/FtmStyleDescendants.py: remove xpm image
* src/plugins/IndivComplete.py: remove xpm image
* src/plugins/IndivSummary.py: remove xpm image
* src/plugins/Makefile.in: remove xpm image
* src/plugins/SimpleBookTitle.py: remove xpm image
* src/plugins/WebPage.py: remove xpm image
* src/RelLib.py: secondary index for event names


svn: r3158
This commit is contained in:
Don Allingham 2004-05-12 03:58:14 +00:00
parent a0aaf83b0c
commit d43745dc97
29 changed files with 100 additions and 1051 deletions

View File

@ -1,3 +1,28 @@
2004-05-11 Don Allingham <donaldallingham@users.sourceforge.net>
* src/GrampsCfg.py: remove unused options
* src/gramps.glade: remove unused panels in preferences
* src/Plugins.py: removed xpm images
* src/EventEdit.py: get full event list
* src/plugins/AncestorChart.py: remove xpm image
* src/plugins/AncestorChart2.py: remove xpm image
* src/plugins/AncestorReport.py: remove xpm image
* src/plugins/Ancestors.py: remove xpm image
* src/plugins/BookReport.py: remove xpm image
* src/plugins/CustomBookText.py: remove xpm image
* src/plugins/DesGraph.py: remove xpm image
* src/plugins/DescendReport.py: remove xpm image
* src/plugins/DetAncestralReport.py: remove xpm image
* src/plugins/DetDescendantReport.py: remove xpm image
* src/plugins/FamilyGroup.py: remove xpm image
* src/plugins/FtmStyleAncestors.py: remove xpm image
* src/plugins/FtmStyleDescendants.py: remove xpm image
* src/plugins/IndivComplete.py: remove xpm image
* src/plugins/IndivSummary.py: remove xpm image
* src/plugins/Makefile.in: remove xpm image
* src/plugins/SimpleBookTitle.py: remove xpm image
* src/plugins/WebPage.py: remove xpm image
* src/RelLib.py: secondary index for event names
2004-05-11 Alex Roitman <shura@alex.neuro.umn.edu> 2004-05-11 Alex Roitman <shura@alex.neuro.umn.edu>
* src/plugins/EventCmp.py: Remove extra code. * src/plugins/EventCmp.py: Remove extra code.
* src/plugins/eventcmp.glade: Remove extra widgets. * src/plugins/eventcmp.glade: Remove extra widgets.

View File

@ -16,4 +16,5 @@
* Now that the completeness flag exists, create filters that are using it * Now that the completeness flag exists, create filters that are using it
(both individual and family). (both individual and family).
* Add autofill feature for City, Church parish, County, State and Country? * Add autofill feature for City, Church parish, County, State and Country?
* Move LDS temple info out of const.py and into an XML file
* And a whole lot more.... * And a whole lot more....

View File

@ -57,7 +57,7 @@ from QuestionDialog import WarningDialog
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
class EventEditor: class EventEditor:
def __init__(self,parent,name,list,trans,event,def_placename,read_only,cb, def __init__(self,parent,name,elist,trans,event,def_placename,read_only,cb,
def_event=None): def_event=None):
self.parent = parent self.parent = parent
self.db = self.parent.db self.db = self.parent.db
@ -75,7 +75,16 @@ class EventEditor:
self.callback = cb self.callback = cb
self.plist = [] self.plist = []
self.pmap = {} self.pmap = {}
self.elist = list
values = {}
for v in elist:
values[v] = 1
for v in self.db.get_eventnames():
print v
values[v] = 1
self.elist = values.keys()
self.elist.sort()
for key in self.parent.db.get_place_id_keys(): for key in self.parent.db.get_place_id_keys():
p = self.parent.db.get_place_display(key) p = self.parent.db.get_place_display(key)
@ -91,7 +100,7 @@ class EventEditor:
# add the name to the list if it is not already there. This tends to occur # add the name to the list if it is not already there. This tends to occur
# in translated languages with the 'Death' event, which is a partial match # in translated languages with the 'Death' event, which is a partial match
# to other events # to other events
if not transname in list: if not transname in elist:
list.append(transname) list.append(transname)
else: else:
self.srcreflist = [] self.srcreflist = []
@ -151,7 +160,7 @@ class EventEditor:
self.top.get_widget('edit_witness'), self.top.get_widget('edit_witness'),
self.top.get_widget('del_witness')) self.top.get_widget('del_witness'))
AutoComp.AutoCombo(self.event_menu,list) AutoComp.AutoCombo(self.event_menu,self.elist)
AutoComp.AutoEntry(self.place_field,self.pmap.keys()) AutoComp.AutoEntry(self.place_field,self.pmap.keys())
if event != None: if event != None:

View File

@ -107,18 +107,16 @@ _name_format_list = [
panellist = [ panellist = [
(_("Database"), (_("Database"),
[( _("General"), 1), [( _("General"), 1),
( _("Media Objects"), 9), ( _("Media Objects"), 7),
( _("GRAMPS internal IDs"), 10), ( _("GRAMPS internal IDs"), 8)]),
( _("Revision Control"),2)]),
(_("Display"), (_("Display"),
[( _("General"), 5), [( _("General"), 3),
( _("Dates and Calendars"), 6), ( _("Dates and Calendars"), 4),
( _("Toolbar and Statusbar"), 4)]), ( _("Toolbar and Statusbar"), 2)]),
(_("Usage"), (_("Usage"),
[( _("Find"), 3), [( _("Report Preferences"), 6),
( _("Report Preferences"), 8), ( _("Researcher Information"), 5),
( _("Researcher Information"), 7), ( _("Data Guessing"), 9)]),
( _("Data Guessing"), 11)]),
] ]
@ -134,12 +132,7 @@ sprefix = "S%04d"
pprefix = "P%04d" pprefix = "P%04d"
fprefix = "F%04d" fprefix = "F%04d"
autoload = 0 autoload = 0
autosave_int = 0
uselds = 0 uselds = 0
autocomp = 1
usevc = 0
vc_comment = 0
uncompress = 0
lastfile = None lastfile = None
nameof = Utils.normal_name nameof = Utils.normal_name
display_name = Utils.normal_name display_name = Utils.normal_name
@ -198,18 +191,13 @@ def make_path(path):
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
def loadConfig(call): def loadConfig(call):
global autoload global autoload
global autosave_int
global uselds global uselds
global autocomp
global calendar global calendar
global usevc
global iprefix global iprefix
global fprefix global fprefix
global pprefix global pprefix
global oprefix global oprefix
global sprefix global sprefix
global vc_comment
global uncompress
global id_edit global id_edit
global index_visible global index_visible
global lastfile global lastfile
@ -237,14 +225,10 @@ def loadConfig(call):
_callback = call _callback = call
lastfile = get_string("/apps/gramps/recent-file") lastfile = get_string("/apps/gramps/recent-file")
uselds = get_bool("/apps/gramps/use-lds") uselds = get_bool("/apps/gramps/use-lds")
ac = get_bool("/apps/gramps/disable-auto-complete",0)
mediaref = get_bool("/apps/gramps/make-reference",1) mediaref = get_bool("/apps/gramps/make-reference",1)
globalprop = get_bool("/apps/gramps/media-global",1) globalprop = get_bool("/apps/gramps/media-global",1)
localprop = get_bool("/apps/gramps/media-local",1) localprop = get_bool("/apps/gramps/media-local",1)
calendar = get_bool("/apps/gramps/show-calendar") calendar = get_bool("/apps/gramps/show-calendar")
usevc = get_bool("/apps/gramps/version-control")
vc_comment = get_bool("/apps/gramps/use-comment")
uncompress = get_bool("/apps/gramps/dont-compress-xml")
id_edit = get_bool("/apps/gramps/id-edit") id_edit = get_bool("/apps/gramps/id-edit")
index_visible = get_bool("/apps/gramps/index-visible") index_visible = get_bool("/apps/gramps/index-visible")
status_bar = get_int("/apps/gramps/statusbar") status_bar = get_int("/apps/gramps/statusbar")
@ -265,7 +249,6 @@ def loadConfig(call):
familyview = get_int("/apps/gramps/familyview") familyview = get_int("/apps/gramps/familyview")
autoload = get_bool("/apps/gramps/autoload",0) autoload = get_bool("/apps/gramps/autoload",0)
autosave_int = get_int("/apps/gramps/auto-save-interval")
dateFormat = get_int("/apps/gramps/date-format") dateFormat = get_int("/apps/gramps/date-format")
dateEntry = get_int("/apps/gramps/date-entry") dateEntry = get_int("/apps/gramps/date-entry")
paper_preference = get_string("/apps/gramps/paper-preference") paper_preference = get_string("/apps/gramps/paper-preference")
@ -319,8 +302,6 @@ def loadConfig(call):
if oprefix == None: if oprefix == None:
oprefix = "O" oprefix = "O"
autocomp = not ac
Calendar.set_format_code(dateFormat) Calendar.set_format_code(dateFormat)
Calendar.Calendar.ENTRYCODE = dateEntry Calendar.Calendar.ENTRYCODE = dateEntry
@ -577,25 +558,18 @@ class GrampsPreferences:
def build(self): def build(self):
auto = self.top.get_widget("autoload") auto = self.top.get_widget("autoload")
asave_int = self.top.get_widget("autosave_interval")
idedit = self.top.get_widget("gid_edit") idedit = self.top.get_widget("gid_edit")
# cap = self.top.get_widget('capitalize') # cap = self.top.get_widget('capitalize')
index_vis = self.top.get_widget("show_child_id") index_vis = self.top.get_widget("show_child_id")
lds = self.top.get_widget("uselds") lds = self.top.get_widget("uselds")
ac = self.top.get_widget("autocomp")
mr = self.top.get_widget("mediaref") mr = self.top.get_widget("mediaref")
mc = self.top.get_widget("mediacopy") mc = self.top.get_widget("mediacopy")
dg = self.top.get_widget("globalprop") dg = self.top.get_widget("globalprop")
dl = self.top.get_widget("localprop") dl = self.top.get_widget("localprop")
cal = self.top.get_widget("calendar") cal = self.top.get_widget("calendar")
vc = self.top.get_widget("use_vc")
vcom = self.top.get_widget("vc_comment")
compress = self.top.get_widget("uncompress")
auto.set_active(autoload) auto.set_active(autoload)
asave_int.set_value(int(autosave_int))
lds.set_active(uselds) lds.set_active(uselds)
ac.set_active(autocomp)
if mediaref: if mediaref:
mr.set_active(1) mr.set_active(1)
else: else:
@ -603,9 +577,6 @@ class GrampsPreferences:
dg.set_active(globalprop) dg.set_active(globalprop)
dl.set_active(localprop) dl.set_active(localprop)
cal.set_active(calendar) cal.set_active(calendar)
vc.set_active(usevc)
vcom.set_active(vc_comment)
compress.set_active(uncompress)
idedit.set_active(id_edit) idedit.set_active(id_edit)
# cap.set_active(capitalize) # cap.set_active(capitalize)
index_vis.set_active(index_visible) index_vis.set_active(index_visible)
@ -820,20 +791,15 @@ class GrampsPreferences:
global display_name global display_name
global display_surname global display_surname
global uselds global uselds
global autocomp
global autosave_int
global mediaref global mediaref
global globalprop global globalprop
global localprop global localprop
global calendar global calendar
global usevc
global iprefix global iprefix
global fprefix global fprefix
global pprefix global pprefix
global sprefix global sprefix
global oprefix global oprefix
global vc_comment
global uncompress
global id_edit global id_edit
global index_visible global index_visible
global status_bar global status_bar
@ -851,16 +817,11 @@ class GrampsPreferences:
global autoload global autoload
autoload = self.top.get_widget("autoload").get_active() autoload = self.top.get_widget("autoload").get_active()
autosave_int = self.top.get_widget("autosave_interval").get_value_as_int()
uselds = self.top.get_widget("uselds").get_active() uselds = self.top.get_widget("uselds").get_active()
autocomp = self.top.get_widget("autocomp").get_active()
mediaref = self.top.get_widget("mediaref").get_active() mediaref = self.top.get_widget("mediaref").get_active()
localprop = self.top.get_widget("localprop").get_active() localprop = self.top.get_widget("localprop").get_active()
globalprop = self.top.get_widget("globalprop").get_active() globalprop = self.top.get_widget("globalprop").get_active()
calendar = self.top.get_widget("calendar").get_active() calendar = self.top.get_widget("calendar").get_active()
usevc = self.top.get_widget("use_vc").get_active()
vc_comment = self.top.get_widget("vc_comment").get_active()
uncompress = self.top.get_widget("uncompress").get_active()
id_edit = self.top.get_widget("gid_edit").get_active() id_edit = self.top.get_widget("gid_edit").get_active()
index_visible = self.top.get_widget("show_child_id").get_active() index_visible = self.top.get_widget("show_child_id").get_active()
@ -923,14 +884,10 @@ class GrampsPreferences:
goutput_preference = goutput_obj.get_data(DATA) goutput_preference = goutput_obj.get_data(DATA)
set_bool("/apps/gramps/use-lds",uselds) set_bool("/apps/gramps/use-lds",uselds)
set_bool("/apps/gramps/disable-auto-complete",not autocomp)
set_bool("/apps/gramps/make-reference",mediaref) set_bool("/apps/gramps/make-reference",mediaref)
set_bool("/apps/gramps/media-global",globalprop) set_bool("/apps/gramps/media-global",globalprop)
set_bool("/apps/gramps/media-local",localprop) set_bool("/apps/gramps/media-local",localprop)
set_bool("/apps/gramps/show-calendar",calendar) set_bool("/apps/gramps/show-calendar",calendar)
set_bool("/apps/gramps/version-control",usevc)
set_bool("/apps/gramps/use-comment",vc_comment)
set_bool("/apps/gramps/dont-compress-xml",uncompress)
set_bool("/apps/gramps/id-edit",id_edit) set_bool("/apps/gramps/id-edit",id_edit)
set_bool("/apps/gramps/index-visible",index_visible) set_bool("/apps/gramps/index-visible",index_visible)
set_int("/apps/gramps/statusbar",status_bar) set_int("/apps/gramps/statusbar",status_bar)
@ -941,12 +898,6 @@ class GrampsPreferences:
set_string("/apps/gramps/output-preference",output_preference) set_string("/apps/gramps/output-preference",output_preference)
set_string("/apps/gramps/goutput-preference",goutput_preference) set_string("/apps/gramps/goutput-preference",goutput_preference)
set_bool("/apps/gramps/autoload",autoload) set_bool("/apps/gramps/autoload",autoload)
set_int("/apps/gramps/auto-save-interval",autosave_int)
if autosave_int != 0:
Utils.enable_autosave(None,autosave_int)
else:
Utils.disable_autosave()
set_string("/apps/gramps/report-directory",report_dir) set_string("/apps/gramps/report-directory",report_dir)
set_string("/apps/gramps/website-directory",web_dir) set_string("/apps/gramps/website-directory",web_dir)

View File

@ -151,7 +151,6 @@ class PluginDialog:
self.tree.append_column(col) self.tree.append_column(col)
self.tree.set_model(self.store) self.tree.set_model(self.store)
self.img = self.dialog.get_widget("image")
self.description = self.dialog.get_widget("description") self.description = self.dialog.get_widget("description")
if label: if label:
self.description.set_text(label) self.description.set_text(label)
@ -228,18 +227,16 @@ class PluginDialog:
title = data[0] title = data[0]
task = data[1] task = data[1]
doc = data[2] doc = data[2]
xpm = data[3] status = data[3]
status = data[4] author = data[4]
author = data[5] email = data[5]
email = data[6]
self.description.set_text(doc) self.description.set_text(doc)
self.status.set_text(status) self.status.set_text(status)
self.title.set_text(title) self.title.set_text('<span weight="bold" size="larger">%s</span>' % title)
self.title.set_use_markup(1)
self.author_name.set_text(author) self.author_name.set_text(author)
self.author_email.set_text(email) self.author_email.set_text(email)
self.title.set_text(title)
self.run_tool = task self.run_tool = task
def build_tree(self,list): def build_tree(self,list):
@ -257,7 +254,7 @@ class PluginDialog:
# build the tree items and group together based on the category name # build the tree items and group together based on the category name
item_hash = {} item_hash = {}
for report in list: for report in list:
t = (report[2],report[0],report[3],report[4],report[5],report[6],report[7]) t = (report[2],report[0],report[3],report[4],report[5],report[6])
if item_hash.has_key(report[1]): if item_hash.has_key(report[1]):
item_hash[report[1]].append(t) item_hash[report[1]].append(t)
else: else:
@ -481,9 +478,6 @@ def register_report(task, name,
): ):
"""Register a report with the plugin system""" """Register a report with the plugin system"""
if xpm == None:
xpm = no_image()
del_index = -1 del_index = -1
for i in range(0,len(_reports)): for i in range(0,len(_reports)):
val = _reports[i] val = _reports[i]
@ -491,19 +485,16 @@ def register_report(task, name,
del_index = i del_index = i
if del_index != -1: if del_index != -1:
del _reports[del_index] del _reports[del_index]
_reports.append((task, category, name, description, xpm, status, author_name, author_email)) _reports.append((task, category, name, description, status, author_name, author_email))
def register_tool(task, name, def register_tool(task, name,
category=_("Uncategorized"), category=_("Uncategorized"),
description=_unavailable, description=_unavailable,
xpm=None,
status=_("Unknown"), status=_("Unknown"),
author_name=_("Unknown"), author_name=_("Unknown"),
author_email=_("Unknown") author_email=_("Unknown")
): ):
"""Register a tool with the plugin system""" """Register a tool with the plugin system"""
if xpm == None:
xpm = no_image()
del_index = -1 del_index = -1
for i in range(0,len(_tools)): for i in range(0,len(_tools)):
val = _tools[i] val = _tools[i]
@ -511,7 +502,7 @@ def register_tool(task, name,
del_index = i del_index = i
if del_index != -1: if del_index != -1:
del _tools[del_index] del _tools[del_index]
_tools.append((task, category, name, description, xpm, status, author_name, author_name)) _tools.append((task, category, name, description, status, author_name, author_name))
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
@ -800,66 +791,3 @@ def get_draw_doc_menu(main_menu,callback=None,obj=None):
callback(menuitem) callback(menuitem)
index = index + 1 index = index + 1
main_menu.set_menu(myMenu) main_menu.set_menu(myMenu)
#-------------------------------------------------------------------------
#
# no_image
#
#-------------------------------------------------------------------------
def no_image():
"""Returns XPM data for basic 48x48 icon"""
return [
"48 48 5 1",
" c None",
". c #999999",
"+ c #FFFFCC",
"@ c #000000",
"# c #CCCCCC",
" ",
" ",
" ",
" ",
" ",
" ",
" .......... ",
" .++++++++. ",
" .++++++++. ",
" @@@.++++++++. ",
" @##.++++++++. ",
" @# .++++++++. ",
" .......... @# .......... ",
" .++++++++. @# ",
" .++++++++. @# ",
" @@@.++++++++.@@@@# ",
" @##.++++++++.###@# .......... ",
" @# .++++++++. @# .++++++++. ",
" @# .......... @# .++++++++. ",
" @# @@@.++++++++. ",
" @# ##.++++++++. ",
" @# .++++++++. ",
" .......... @# .......... ",
" .++++++++. @# ",
" .++++++++. @# ",
" .++++++++.@@@@# ",
" .++++++++.###@# ",
" .++++++++. @# .......... ",
" .......... @# .++++++++. ",
" @# .++++++++. ",
" @# @@@.++++++++. ",
" @# @##.++++++++. ",
" @# .......... @# .++++++++. ",
" @# .++++++++. @# .......... ",
" @# .++++++++. @# ",
" @@@.++++++++.@@@@# ",
" ##.++++++++.###@# ",
" .++++++++. @# .......... ",
" .......... @# .++++++++. ",
" @# .++++++++. ",
" @@@.++++++++. ",
" ##.++++++++. ",
" .++++++++. ",
" .......... ",
" ",
" ",
" ",
" "]

View File

@ -2366,6 +2366,9 @@ except ImportError: # try python2.2
def find_surname(key,data): def find_surname(key,data):
return str(data[2].get_surname()) return str(data[2].get_surname())
def find_eventname(key,data):
return str(data[1])
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# GrampsDB # GrampsDB
@ -2397,6 +2400,7 @@ class GrampsDB:
self.media_map = None self.media_map = None
self.event_map = None self.event_map = None
self.surnames = None self.surnames = None
self.eventnames = None
self.metadata = None self.metadata = None
def load(self,name,callback): def load(self,name,callback):
@ -2420,7 +2424,13 @@ class GrampsDB:
self.surnames.set_flags(db.DB_DUP) self.surnames.set_flags(db.DB_DUP)
self.surnames.open(name, "surnames", db.DB_HASH, flags=db.DB_CREATE) self.surnames.open(name, "surnames", db.DB_HASH, flags=db.DB_CREATE)
self.eventnames = db.DB(self.env)
self.eventnames.set_flags(db.DB_DUP)
self.eventnames.open(name, "eventnames", db.DB_HASH, flags=db.DB_CREATE)
self.person_map.associate(self.surnames, find_surname, db.DB_CREATE) self.person_map.associate(self.surnames, find_surname, db.DB_CREATE)
self.event_map.associate(self.eventnames, find_eventname, db.DB_CREATE)
self.bookmarks = self.metadata.get('bookmarks') self.bookmarks = self.metadata.get('bookmarks')
if self.bookmarks == None: if self.bookmarks == None:
self.bookmarks = [] self.bookmarks = []
@ -2454,6 +2464,7 @@ class GrampsDB:
self.metadata['bookmarks'] = self.bookmarks self.metadata['bookmarks'] = self.bookmarks
self.metadata.close() self.metadata.close()
self.surnames.close() self.surnames.close()
self.eventnames.close()
self.env.close() self.env.close()
self.person_map = None self.person_map = None
@ -2697,7 +2708,16 @@ class GrampsDB:
names = self.surnames.keys() names = self.surnames.keys()
a = {} a = {}
for name in names: for name in names:
a[name] = 1 a[unicode(name)] = 1
vals = a.keys()
vals.sort()
return vals
def get_eventnames(self):
names = self.eventnames.keys()
a = {}
for name in names:
a[unicode(name)] = 1
vals = a.keys() vals = a.keys()
vals.sort() vals.sort()
return vals return vals

View File

@ -57,46 +57,11 @@ from gettext import gettext as _
# modified flag # modified flag
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
_modifiedFlag = 0
_history_brokenFlag = 0 _history_brokenFlag = 0
_autotime_val = 1
_autosave_fun = None
_autosave_tim = None
_autosave_val = None
LISTOBJ = "s" LISTOBJ = "s"
OBJECT = "o" OBJECT = "o"
#-------------------------------------------------------------------------
#
# Sets the modified flag, which is used to determine if the database
# needs to be saved. Anytime a routine modifies data, it should call
# this routine.
#
#-------------------------------------------------------------------------
def modified():
global _modifiedFlag, _autosave_tim
if _autosave_fun and not _autosave_tim:
_autosave_tim = gtk.timeout_add(60000*_autotime_val,_autosave_fun)
_modifiedFlag = 1
def enable_autosave(fun,value):
global _autosave_fun
global _autosave_val
if fun != None:
_autosave_fun = fun
_autosave_val = value
def disable_autosave():
global _autosave_fun
_autosave_fun = None
def clear_timer():
global _autosave_tim
if _autosave_tim:
gtk.timeout_remove(_autosave_tim)
_autosave_tim = None
def history_broken(): def history_broken():
global _history_brokenFlag global _history_brokenFlag
_history_brokenFlag = 1 _history_brokenFlag = 1
@ -119,22 +84,10 @@ def force_unicode(n):
# Clears the modified flag. Should be called after data is saved. # Clears the modified flag. Should be called after data is saved.
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
def clearModified():
global _modifiedFlag
_modifiedFlag = 0
def clearHistory_broken(): def clearHistory_broken():
global _history_brokenFlag global _history_brokenFlag
_history_brokenFlag = 0 _history_brokenFlag = 0
#-------------------------------------------------------------------------
#
# Returns the modified flag
#
#-------------------------------------------------------------------------
def wasModified():
return _modifiedFlag
def wasHistory_broken(): def wasHistory_broken():
return _history_brokenFlag return _history_brokenFlag
@ -211,14 +164,6 @@ def destroy_passed_object(obj):
while gtk.events_pending(): while gtk.events_pending():
gtk.main_iteration() gtk.main_iteration()
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def get_detail_flags(obj,priv=1):
return ""
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# #
@ -331,61 +276,6 @@ def strip_id(text):
text = string.rstrip(text) text = string.rstrip(text)
return text return text
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def attach_places(values,combo,place):
l = gtk.Label("")
l.show()
l.set_alignment(0,0.5)
c = gtk.ListItem()
c.add(l)
c.set_data(LISTOBJ,None)
c.show()
sel_child = c
list = [c]
mymap = {}
placenamemap = {}
for src in values:
placenamemap["%s [%s]" % (src.get_title(),src.get_id())] = src
placenames = placenamemap.keys()
placenames.sort()
for key in placenames:
src = placenamemap[key]
l = gtk.Label(key)
l.show()
l.set_alignment(0,0.5)
c = gtk.ListItem()
c.add(l)
c.set_data(LISTOBJ,src)
c.show()
list.append(c)
if src == place:
sel_child = c
mymap[src] = c
combo.disable_activate()
combo.list.clear_items(0,-1)
combo.list.append_items(list)
combo.list.select_child(sel_child)
for v in mymap.keys():
combo.set_item_string(mymap[v],v.get_title())
#-------------------------------------------------------------------------
#
#
#
#-------------------------------------------------------------------------
def get_place_from_list(obj):
select = obj.list.get_selection()
if len(select) == 0:
return None
else:
return select[0].get_data(LISTOBJ)
def nautilus_icon(icon,type): def nautilus_icon(icon,type):
import GrampsCfg import GrampsCfg
@ -446,16 +336,9 @@ def get_mime_description(type):
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# Short hand function to return either the person's birthday, or an empty #
# string if the person is None
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
def birthday(person):
if person:
return person.get_birth().get_quote_date()
else:
return ""
def thumb_path(dir,mobj): def thumb_path(dir,mobj):
type = mobj.get_mime_type() type = mobj.get_mime_type()
@ -646,92 +529,3 @@ def unbold_label(label):
label.set_text(text) label.set_text(text)
label.set_use_markup(0) label.set_use_markup(0)
#------------------------------------------------------------------------
#
# XPM Image for reports and tools
#
#------------------------------------------------------------------------
def get_xpm_image():
return [
"48 48 33 1",
" c None",
". c #1A1A1A",
"+ c #847B6E",
"@ c #B7AC9C",
"# c #D1D1D0",
"$ c #EEE2D0",
"% c #6A655C",
"& c #868686",
"* c #F1EADF",
"= c #5C5854",
"- c #B89C73",
"; c #E2C8A1",
"> c #55524C",
", c #F5EEE6",
"' c #4F4E4C",
") c #A19C95",
"! c #B3966E",
"~ c #CDC8BF",
"{ c #F6F2ED",
"] c #A6A5A4",
"^ c #413F3F",
"/ c #D8D1C5",
"( c #968977",
"_ c #BAB9B6",
": c #FAFAF9",
"< c #BEA27B",
"[ c #E9DAC2",
"} c #9D9385",
"| c #E4E3E3",
"1 c #7A7062",
"2 c #E6D3B4",
"3 c #BAA488",
"4 c #322E2B",
" ",
" ",
" (+(+++++111%1%%%%===%1 ",
" +______________@_@)&==1 ",
" +_::::::::::::::*|#_&&}> ",
" &_:::::::::::::::{|#]1~}^ ",
" +_::::::::::::::::{|#=|~&4 ",
" +_::::]]]]]]]]:::::|{':|~&4 ",
" +_::::::::::::::::::{'::|~&4 ",
" +_:::::::::::::::::::'*::|~&^ ",
" +_:::::::::::::::::::'|*::|~}> ",
" 1_::::]]]]]]]]]]]]:::'~|{::|_}% ",
" 1_:::::::::::::::::::'..4^'=1+%1 ",
" +_::::]]]]]]]]]]]]:::|__])&+%=^% ",
" 1_::::::::::::::::::::|#__)&&+'^ ",
" 1_::::]]]]]]]]]::::::::|#~_])&%^ ",
" 1_::::::::::::::::::::{||#~_])14 ",
" 1_::::]]]]]]]]]]]]]]]]]]&}#~_]+4 ",
" 1_::::::::::::::::::{{{{||#~~@&4 ",
" %_::::]]]]]]]]]]]]]]]])))}(~~~&4 ",
" %_:::::::::::::::::{{{{{*|#/~_(4 ",
" %_::::]]]]]]]]]]]]]]])))))}2;/}4 ",
" %_:::::::::::::::{{{{{***||[#~}4 ",
" %_::::]]]]]]]]]])]))))))))}2/;)4 ",
" %_::::::::::::::{{{{{**|$$[/2~!4 ",
" %_::::]]]]]]]]){{{{******$$[2/}4 ",
" %_::::::::::::{{{{****$$$$$[2/!4 ",
" =_::::]]]]]]])]))))))))})}}[2/!4 ",
" %_:::::::::{{{{{{**|$$$$$$[[2;)4 ",
" =_::::]]]])]]))))))))))}}}}[22!4 ",
" %_::::::::{{{{{|**|$$[$[[[[[22}4 ",
" =_::::]]])])))))))))}}}}}}}222-4 ",
" =_:::::{{{{{|{*|$$$$$[[[[22222!4 ",
" =_::::)]])))))))))}}}}}}(}(2;2-4 ",
" =_:::{{{{{{***|$$$$$[[[[22222;-4 ",
" =_:::{])))))))))}}}}}}}(}((2;;<4 ",
" >_:{{{{{{**|$$$$$[[[[22222;2;;-4 ",
" >_{{{{)))))))}}}}}}}(!(((((;;;-4 ",
" >_{{{{|**|*$$$$$[[[[22222;;;;;!4 ",
" '_{{{{****$$$$$2[[222222;2;;;;-4 ",
" '@{{****$$$$$[[[2[222;;2;;;;;;!4 ",
" >]{******$$$[$[2[[2222;;;;;;;;!4 ",
" '_****$$$$[$[[[[2222;2;;;;;;;;!4 ",
" '@__@@@@@@@33<3<<<<<<-<-!!!!!!!4 ",
" 44444444444444444444444444444444 ",
" ",
" ",
" "]

View File

@ -1,19 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="the package."
(test -f $srcdir/configure.in) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level directory"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
USE_GNOME2_MACROS=1 . gnome-autogen.sh

View File

@ -17941,58 +17941,12 @@
<widget class="GtkTable" id="table11"> <widget class="GtkTable" id="table11">
<property name="border_width">12</property> <property name="border_width">12</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="n_rows">5</property> <property name="n_rows">3</property>
<property name="n_columns">4</property> <property name="n_columns">4</property>
<property name="homogeneous">False</property> <property name="homogeneous">False</property>
<property name="row_spacing">6</property> <property name="row_spacing">6</property>
<property name="column_spacing">12</property> <property name="column_spacing">12</property>
<child>
<widget class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="label" translatable="yes">A_utosave interval:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">autosave_interval</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="autosave_interval">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="climb_rate">1</property>
<property name="digits">0</property>
<property name="numeric">True</property>
<property name="update_policy">GTK_UPDATE_ALWAYS</property>
<property name="snap_to_ticks">False</property>
<property name="wrap">False</property>
<property name="adjustment">0 0 100 1 10 10</property>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="y_options"></property>
</packing>
</child>
<child> <child>
<widget class="GtkLabel" id="label4"> <widget class="GtkLabel" id="label4">
<property name="visible">True</property> <property name="visible">True</property>
@ -18011,32 +17965,8 @@
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">4</property> <property name="top_attach">2</property>
<property name="bottom_attach">5</property> <property name="bottom_attach">3</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label121">
<property name="visible">True</property>
<property name="label" translatable="yes">minutes</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">fill</property> <property name="x_options">fill</property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
@ -18094,30 +18024,8 @@
<packing> <packing>
<property name="left_attach">2</property> <property name="left_attach">2</property>
<property name="right_attach">4</property> <property name="right_attach">4</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="uncompress">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Do not compress XML data file</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="bottom_attach">3</property> <property name="bottom_attach">3</property>
<property name="x_options">fill</property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
</child> </child>
@ -18176,245 +18084,6 @@
</packing> </packing>
</child> </child>
<child>
<widget class="GtkVBox" id="vbox14">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkTable" id="table12">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="n_rows">3</property>
<property name="n_columns">3</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<widget class="GtkLabel" id="label122">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Revision control&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">3</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="use_vc">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Use revision control</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="vc_comment">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Prompt for comment on save</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkOptionMenu" id="optionmenu1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">0</property>
<child internal-child="menu">
<widget class="GtkMenu" id="convertwidget3">
<property name="visible">True</property>
<child>
<widget class="GtkMenuItem" id="convertwidget4">
<property name="visible">True</property>
<property name="label" translatable="yes">RCS</property>
<property name="use_underline">True</property>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label90">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">tab</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox15">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkTable" id="table13">
<property name="border_width">12</property>
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">3</property>
<property name="homogeneous">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<widget class="GtkLabel" id="label123">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Find&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">3</property>
<property name="top_attach">0</property>
<property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkCheckButton" id="autocomp">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Enable autocompletion</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">True</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_object_toggled" object="propertybox"/>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label89">
<property name="visible">True</property>
<property name="label" translatable="yes"></property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">tab</property>
</packing>
</child>
<child> <child>
<widget class="GtkVBox" id="vbox16"> <widget class="GtkVBox" id="vbox16">
<property name="visible">True</property> <property name="visible">True</property>

View File

@ -757,8 +757,7 @@ class Gramps:
if self.find_person: if self.find_person:
self.find_person.show() self.find_person.show()
else: else:
self.find_person = Find.FindPerson(self.find_goto_person,self.db, self.find_person = Find.FindPerson(self.find_goto_person,self.db,None)
self.people_view.id2col)
def on_findname_activate(self,obj): def on_findname_activate(self,obj):
"""Display the find box""" """Display the find box"""
@ -1575,39 +1574,6 @@ class Gramps:
self.setup_bookmarks() self.setup_bookmarks()
try:
mylist = self.db.get_person_event_types()
for type in mylist:
ntype = const.display_pevent(type)
if ntype not in const.personalEvents:
const.personalEvents.append(ntype)
mylist = self.db.get_family_event_types()
for type in mylist:
ntype = const.display_fevent(type)
if ntype not in const.marriageEvents:
const.marriageEvents.append(ntype)
mylist = self.db.get_person_attribute_types()
for type in mylist:
ntype = const.display_pattr(type)
if ntype not in const.personalAttributes:
const.personalAttributes.append(ntype)
mylist = self.db.get_family_attribute_types()
for type in mylist:
ntype = const.display_fattr(type)
if ntype not in const.familyAttributes:
const.familyAttributes.append(ntype)
mylist = self.db.get_family_relation_types()
for type in mylist:
ntype = const.display_frel(type)
if ntype not in const.familyRelations:
const.familyRelations.append(ntype)
except:
pass
GrampsCfg.save_last_file(name) GrampsCfg.save_last_file(name)
self.gtop.get_widget("filter").set_text("") self.gtop.get_widget("filter").set_text("")

View File

@ -13,6 +13,11 @@
<property name="resizable">True</property> <property name="resizable">True</property>
<property name="destroy_with_parent">False</property> <property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property> <property name="icon">gramps.png</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="has_separator">False</property> <property name="has_separator">False</property>
<child internal-child="vbox"> <child internal-child="vbox">
@ -34,6 +39,7 @@
<property name="label">gtk-cancel</property> <property name="label">gtk-cancel</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="response_id">0</property> <property name="response_id">0</property>
<signal name="clicked" handler="on_close_clicked" last_modification_time="Thu, 12 Sep 2002 03:21:32 GMT"/> <signal name="clicked" handler="on_close_clicked" last_modification_time="Thu, 12 Sep 2002 03:21:32 GMT"/>
</widget> </widget>
@ -63,6 +69,8 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="editable">False</property> <property name="editable">False</property>
<property name="overwrite">False</property>
<property name="accepts_tab">True</property>
<property name="justification">GTK_JUSTIFY_LEFT</property> <property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_NONE</property> <property name="wrap_mode">GTK_WRAP_NONE</property>
<property name="cursor_visible">False</property> <property name="cursor_visible">False</property>
@ -97,6 +105,11 @@
<property name="resizable">True</property> <property name="resizable">True</property>
<property name="destroy_with_parent">False</property> <property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property> <property name="icon">gramps.png</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<signal name="delete_event" handler="on_delete_event" last_modification_time="Sat, 28 Feb 2004 03:40:16 GMT"/> <signal name="delete_event" handler="on_delete_event" last_modification_time="Sat, 28 Feb 2004 03:40:16 GMT"/>
<child> <child>
@ -119,6 +132,7 @@
<property name="label">gtk-close</property> <property name="label">gtk-close</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="destroy_passed_object" object="report"/> <signal name="clicked" handler="destroy_passed_object" object="report"/>
</widget> </widget>
</child> </child>
@ -132,6 +146,7 @@
<property name="label" translatable="yes"></property> <property name="label" translatable="yes"></property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_report_apply_clicked" object="report"/> <signal name="clicked" handler="on_report_apply_clicked" object="report"/>
</widget> </widget>
</child> </child>
@ -232,17 +247,6 @@
</packing> </packing>
</child> </child>
<child>
<widget class="GtkHSeparator" id="hseparator20">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child> <child>
<widget class="GtkLabel" id="description"> <widget class="GtkLabel" id="description">
<property name="visible">True</property> <property name="visible">True</property>

View File

@ -49,7 +49,6 @@ import Errors
import FontScale import FontScale
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from SubstKeywords import SubstKeywords from SubstKeywords import SubstKeywords
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
_BORN = _('b.') _BORN = _('b.')
@ -424,7 +423,6 @@ register_report(
category=_("Graphical Reports"), category=_("Graphical Reports"),
status=(_("Beta")), status=(_("Beta")),
description=_("Produces a graphical ancestral tree graph"), description=_("Produces a graphical ancestral tree graph"),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"
) )

View File

@ -46,7 +46,6 @@ import Errors
import FontScale import FontScale
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from SubstKeywords import SubstKeywords from SubstKeywords import SubstKeywords
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
_BORN = _('b.') _BORN = _('b.')
@ -709,7 +708,6 @@ register_report(
category=_("Graphical Reports"), category=_("Graphical Reports"),
status=(_("Beta")), status=(_("Beta")),
description=_("Produces a graphical ancestral tree graph"), description=_("Produces a graphical ancestral tree graph"),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"
) )

View File

@ -39,7 +39,6 @@ import Report
import BaseDoc import BaseDoc
import RelLib import RelLib
import Errors import Errors
from Utils import get_xpm_image
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from gettext import gettext as _ from gettext import gettext as _
@ -446,7 +445,6 @@ register_report(
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), status=(_("Beta")),
description= _("Produces a textual ancestral report"), description= _("Produces a textual ancestral report"),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"
) )

View File

@ -34,7 +34,6 @@ import BaseDoc
import RelLib import RelLib
import Errors import Errors
import Plugins import Plugins
from Utils import get_xpm_image
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from gettext import gettext as _ from gettext import gettext as _
@ -1099,7 +1098,6 @@ register_report(
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), status=(_("Beta")),
description= _("Produces a detailed ancestral report."), description= _("Produces a detailed ancestral report."),
xpm=get_xpm_image(),
author_name="Tim Waugh", author_name="Tim Waugh",
author_email="twaugh@redhat.com" author_email="twaugh@redhat.com"
) )

View File

@ -996,7 +996,6 @@ Plugins.register_report(
category=_("Books"), category=_("Books"),
status=(_("Unstable")), status=(_("Unstable")),
description=_("Creates a book containing several reports."), description=_("Creates a book containing several reports."),
xpm=Utils.get_xpm_image(),
author_name="Alex Roitman", author_name="Alex Roitman",
author_email="shura@alex.neuro.umn.edu" author_email="shura@alex.neuro.umn.edu"
) )

View File

@ -275,96 +275,6 @@ def write_book_item(database,person,doc,options,newpage=0):
import DisplayTrace import DisplayTrace
DisplayTrace.DisplayTrace() DisplayTrace.DisplayTrace()
#------------------------------------------------------------------------
#
#
#
#------------------------------------------------------------------------
def get_xpm_image():
return [
"48 48 33 1",
" c None",
". c #1A1A1A",
"+ c #847B6E",
"@ c #B7AC9C",
"# c #D1D1D0",
"$ c #EEE2D0",
"% c #6A655C",
"& c #868686",
"* c #F1EADF",
"= c #5C5854",
"- c #B89C73",
"; c #E2C8A1",
"> c #55524C",
", c #F5EEE6",
"' c #4F4E4C",
") c #A19C95",
"! c #B3966E",
"~ c #CDC8BF",
"{ c #F6F2ED",
"] c #A6A5A4",
"^ c #413F3F",
"/ c #D8D1C5",
"( c #968977",
"_ c #BAB9B6",
": c #FAFAF9",
"< c #BEA27B",
"[ c #E9DAC2",
"} c #9D9385",
"| c #E4E3E3",
"1 c #7A7062",
"2 c #E6D3B4",
"3 c #BAA488",
"4 c #322E2B",
" ",
" ",
" (+(+++++111%1%%%%===%1 ",
" +______________@_@)&==1 ",
" +_::::::::::::::*|#_&&}> ",
" &_:::::::::::::::{|#]1~}^ ",
" +_::::::::::::::::{|#=|~&4 ",
" +_::::]]]]]]]]:::::|{':|~&4 ",
" +_::::::::::::::::::{'::|~&4 ",
" +_:::::::::::::::::::'*::|~&^ ",
" +_:::::::::::::::::::'|*::|~}> ",
" 1_::::]]]]]]]]]]]]:::'~|{::|_}% ",
" 1_:::::::::::::::::::'..4^'=1+%1 ",
" +_::::]]]]]]]]]]]]:::|__])&+%=^% ",
" 1_::::::::::::::::::::|#__)&&+'^ ",
" 1_::::]]]]]]]]]::::::::|#~_])&%^ ",
" 1_::::::::::::::::::::{||#~_])14 ",
" 1_::::]]]]]]]]]]]]]]]]]]&}#~_]+4 ",
" 1_::::::::::::::::::{{{{||#~~@&4 ",
" %_::::]]]]]]]]]]]]]]]])))}(~~~&4 ",
" %_:::::::::::::::::{{{{{*|#/~_(4 ",
" %_::::]]]]]]]]]]]]]]])))))}2;/}4 ",
" %_:::::::::::::::{{{{{***||[#~}4 ",
" %_::::]]]]]]]]]])]))))))))}2/;)4 ",
" %_::::::::::::::{{{{{**|$$[/2~!4 ",
" %_::::]]]]]]]]){{{{******$$[2/}4 ",
" %_::::::::::::{{{{****$$$$$[2/!4 ",
" =_::::]]]]]]])]))))))))})}}[2/!4 ",
" %_:::::::::{{{{{{**|$$$$$$[[2;)4 ",
" =_::::]]]])]]))))))))))}}}}[22!4 ",
" %_::::::::{{{{{|**|$$[$[[[[[22}4 ",
" =_::::]]])])))))))))}}}}}}}222-4 ",
" =_:::::{{{{{|{*|$$$$$[[[[22222!4 ",
" =_::::)]])))))))))}}}}}}(}(2;2-4 ",
" =_:::{{{{{{***|$$$$$[[[[22222;-4 ",
" =_:::{])))))))))}}}}}}}(}((2;;<4 ",
" >_:{{{{{{**|$$$$$[[[[22222;2;;-4 ",
" >_{{{{)))))))}}}}}}}(!(((((;;;-4 ",
" >_{{{{|**|*$$$$$[[[[22222;;;;;!4 ",
" '_{{{{****$$$$$2[[222222;2;;;;-4 ",
" '@{{****$$$$$[[[2[222;;2;;;;;;!4 ",
" >]{******$$$[$[2[[2222;;;;;;;;!4 ",
" '_****$$$$[$[[[[2222;2;;;;;;;;!4 ",
" '@__@@@@@@@33<3<<<<<<-<-!!!!!!!4 ",
" 44444444444444444444444444444444 ",
" ",
" ",
" "]
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# #

View File

@ -48,7 +48,6 @@ import BaseDoc
import Errors import Errors
from SubstKeywords import SubstKeywords from SubstKeywords import SubstKeywords
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
@ -500,7 +499,6 @@ register_report(
category=_("Graphical Reports"), category=_("Graphical Reports"),
description=_("Generates a graph of descendants of the active person"), description=_("Generates a graph of descendants of the active person"),
status=(_("Alpha")), status=(_("Alpha")),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"
) )

View File

@ -39,7 +39,6 @@ import BaseDoc
import Errors import Errors
import Date import Date
import Sort import Sort
from Utils import get_xpm_image
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from gettext import gettext as _ from gettext import gettext as _
@ -334,7 +333,6 @@ register_report(
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), status=(_("Beta")),
description=_("Generates a list of descendants of the active person"), description=_("Generates a list of descendants of the active person"),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"
) )

View File

@ -28,7 +28,6 @@ import Errors
from gettext import gettext as _ from gettext import gettext as _
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from Utils import get_xpm_image
import Report import Report
import BaseDoc import BaseDoc
@ -1218,7 +1217,6 @@ register_report(
status=(_("Beta")), status=(_("Beta")),
category=_("Text Reports"), category=_("Text Reports"),
description= _("Produces a detailed ancestral report"), description= _("Produces a detailed ancestral report"),
xpm= get_xpm_image(),
author_name="Bruce DeGrasse", author_name="Bruce DeGrasse",
author_email="bdegrasse1@attbi.com" author_email="bdegrasse1@attbi.com"
) )

View File

@ -27,7 +27,6 @@ import os
import Errors import Errors
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
import Report import Report
@ -1230,7 +1229,6 @@ register_report(
status=(_("Beta")), status=(_("Beta")),
category=_("Text Reports"), category=_("Text Reports"),
description= _("Produces a detailed descendant report"), description= _("Produces a detailed descendant report"),
xpm= get_xpm_image(),
author_name="Bruce DeGrasse", author_name="Bruce DeGrasse",
author_email="bdegrasse1@attbi.com" author_email="bdegrasse1@attbi.com"
) )

View File

@ -40,7 +40,6 @@ import Report
import BaseDoc import BaseDoc
import Errors import Errors
import Utils import Utils
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
@ -725,7 +724,6 @@ register_report(
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), status=(_("Beta")),
description=_("Creates a family group report, showing information on a set of parents and their children."), description=_("Creates a family group report, showing information on a set of parents and their children."),
xpm=get_xpm_image()
) )
# (name,category,options_dialog,write_book_item,options,style_name,style_file,make_default_style) # (name,category,options_dialog,write_book_item,options,style_name,style_file,make_default_style)

View File

@ -38,7 +38,6 @@ import BaseDoc
import RelLib import RelLib
import Errors import Errors
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -1241,7 +1240,6 @@ register_report(
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), status=(_("Beta")),
description= _("Produces a textual ancestral report similar to Family Tree Maker."), description= _("Produces a textual ancestral report similar to Family Tree Maker."),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"
) )

View File

@ -45,7 +45,6 @@ import RelLib
import Errors import Errors
import Utils import Utils
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -1675,7 +1674,6 @@ register_report(
category=_("Text Reports"), category=_("Text Reports"),
status=(_("Beta")), status=(_("Beta")),
description= _("Produces a textual descendant report similar to Family Tree Maker."), description= _("Produces a textual descendant report similar to Family Tree Maker."),
xpm=get_xpm_image(),
author_name="Alex Roitman", author_name="Alex Roitman",
author_email="shura@alex.neuro.umn.edu" author_email="shura@alex.neuro.umn.edu"
) )

View File

@ -39,7 +39,6 @@ import StyleEditor
import Report import Report
import GenericFilter import GenericFilter
import Errors import Errors
from Utils import get_xpm_image
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from gettext import gettext as _ from gettext import gettext as _
@ -755,7 +754,6 @@ register_report(
status=(_("Beta")), status=(_("Beta")),
category=_("Text Reports"), category=_("Text Reports"),
description=_("Produces a complete report on the selected people."), description=_("Produces a complete report on the selected people."),
xpm=get_xpm_image()
) )
register_book_item( register_book_item(

View File

@ -48,7 +48,6 @@ import StyleEditor
import Report import Report
import Errors import Errors
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
from Utils import get_xpm_image
from gettext import gettext as _ from gettext import gettext as _
#------------------------------------------------------------------------ #------------------------------------------------------------------------
@ -560,7 +559,6 @@ register_report(
status=(_("Beta")), status=(_("Beta")),
category=_("Text Reports"), category=_("Text Reports"),
description=_("Produces a detailed report on the selected person."), description=_("Produces a detailed report on the selected person."),
xpm=get_xpm_image(),
author_name="Donald N. Allingham", author_name="Donald N. Allingham",
author_email="dallingham@users.sourceforge.net" author_email="dallingham@users.sourceforge.net"

View File

@ -141,7 +141,7 @@ pkgpython_PYTHON = \
BookReport.py\ BookReport.py\
ChangeTypes.py\ ChangeTypes.py\
Check.py\ Check.py\
count_anc.py\ CountAncestors.py\
Desbrowser.py\ Desbrowser.py\
DescendReport.py\ DescendReport.py\
DesGraph.py\ DesGraph.py\
@ -163,7 +163,7 @@ pkgpython_PYTHON = \
ReadNative.py\ ReadNative.py\
RelCalc.py\ RelCalc.py\
ReorderIds.py\ ReorderIds.py\
soundgen.py\ SoundGen.py\
Summary.py\ Summary.py\
TimeLine.py\ TimeLine.py\
Verify.py\ Verify.py\
@ -173,8 +173,8 @@ pkgpython_PYTHON = \
WritePkg.py\ WritePkg.py\
WriteCD.py\ WriteCD.py\
rel_ru.py\ rel_ru.py\
eval.py\ Eval.py\
leak.py\ Leak.py\
SimpleBookTitle.py\ SimpleBookTitle.py\
CustomBookText.py\ CustomBookText.py\
RelGraph.py\ RelGraph.py\

View File

@ -461,96 +461,6 @@ def write_book_item(database,person,doc,options,newpage=0):
import DisplayTrace import DisplayTrace
DisplayTrace.DisplayTrace() DisplayTrace.DisplayTrace()
#------------------------------------------------------------------------
#
#
#
#------------------------------------------------------------------------
def get_xpm_image():
return [
"48 48 33 1",
" c None",
". c #1A1A1A",
"+ c #847B6E",
"@ c #B7AC9C",
"# c #D1D1D0",
"$ c #EEE2D0",
"% c #6A655C",
"& c #868686",
"* c #F1EADF",
"= c #5C5854",
"- c #B89C73",
"; c #E2C8A1",
"> c #55524C",
", c #F5EEE6",
"' c #4F4E4C",
") c #A19C95",
"! c #B3966E",
"~ c #CDC8BF",
"{ c #F6F2ED",
"] c #A6A5A4",
"^ c #413F3F",
"/ c #D8D1C5",
"( c #968977",
"_ c #BAB9B6",
": c #FAFAF9",
"< c #BEA27B",
"[ c #E9DAC2",
"} c #9D9385",
"| c #E4E3E3",
"1 c #7A7062",
"2 c #E6D3B4",
"3 c #BAA488",
"4 c #322E2B",
" ",
" ",
" (+(+++++111%1%%%%===%1 ",
" +______________@_@)&==1 ",
" +_::::::::::::::*|#_&&}> ",
" &_:::::::::::::::{|#]1~}^ ",
" +_::::::::::::::::{|#=|~&4 ",
" +_::::]]]]]]]]:::::|{':|~&4 ",
" +_::::::::::::::::::{'::|~&4 ",
" +_:::::::::::::::::::'*::|~&^ ",
" +_:::::::::::::::::::'|*::|~}> ",
" 1_::::]]]]]]]]]]]]:::'~|{::|_}% ",
" 1_:::::::::::::::::::'..4^'=1+%1 ",
" +_::::]]]]]]]]]]]]:::|__])&+%=^% ",
" 1_::::::::::::::::::::|#__)&&+'^ ",
" 1_::::]]]]]]]]]::::::::|#~_])&%^ ",
" 1_::::::::::::::::::::{||#~_])14 ",
" 1_::::]]]]]]]]]]]]]]]]]]&}#~_]+4 ",
" 1_::::::::::::::::::{{{{||#~~@&4 ",
" %_::::]]]]]]]]]]]]]]]])))}(~~~&4 ",
" %_:::::::::::::::::{{{{{*|#/~_(4 ",
" %_::::]]]]]]]]]]]]]]])))))}2;/}4 ",
" %_:::::::::::::::{{{{{***||[#~}4 ",
" %_::::]]]]]]]]]])]))))))))}2/;)4 ",
" %_::::::::::::::{{{{{**|$$[/2~!4 ",
" %_::::]]]]]]]]){{{{******$$[2/}4 ",
" %_::::::::::::{{{{****$$$$$[2/!4 ",
" =_::::]]]]]]])]))))))))})}}[2/!4 ",
" %_:::::::::{{{{{{**|$$$$$$[[2;)4 ",
" =_::::]]]])]]))))))))))}}}}[22!4 ",
" %_::::::::{{{{{|**|$$[$[[[[[22}4 ",
" =_::::]]])])))))))))}}}}}}}222-4 ",
" =_:::::{{{{{|{*|$$$$$[[[[22222!4 ",
" =_::::)]])))))))))}}}}}}(}(2;2-4 ",
" =_:::{{{{{{***|$$$$$[[[[22222;-4 ",
" =_:::{])))))))))}}}}}}}(}((2;;<4 ",
" >_:{{{{{{**|$$$$$[[[[22222;2;;-4 ",
" >_{{{{)))))))}}}}}}}(!(((((;;;-4 ",
" >_{{{{|**|*$$$$$[[[[22222;;;;;!4 ",
" '_{{{{****$$$$$2[[222222;2;;;;-4 ",
" '@{{****$$$$$[[[2[222;;2;;;;;;!4 ",
" >]{******$$$[$[2[[2222;;;;;;;;!4 ",
" '_****$$$$[$[[[[2222;2;;;;;;;;!4 ",
" '@__@@@@@@@33<3<<<<<<-<-!!!!!!!4 ",
" 44444444444444444444444444444444 ",
" ",
" ",
" "]
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# #

View File

@ -1597,97 +1597,6 @@ class MiniTree:
def report(database,person): def report(database,person):
WebReportDialog(database,person) WebReportDialog(database,person)
#------------------------------------------------------------------------
#
#
#
#------------------------------------------------------------------------
def get_xpm_image():
return [
"48 48 33 1",
" c None",
". c #191B1E",
"+ c #746F5F",
"@ c #6EA2C9",
"# c #F2E8DA",
"$ c #B4A766",
"% c #2F383A",
"& c #9F8F53",
"* c #BBB774",
"= c #6E614B",
"- c #506E8C",
"; c #2B559A",
"> c #E1CB95",
", c #5992CD",
"' c #5A584F",
") c #86827D",
"! c #CBCAC7",
"~ c #294A76",
"{ c #E3D0B6",
"] c #7B7D7C",
"^ c #D5BE97",
"/ c #FBFAF8",
"( c #EADECB",
"_ c #4E84C7",
": c #474943",
"< c #95A992",
"[ c #ADA69B",
"} c #3F72B7",
"| c #C4A985",
"1 c #9B9383",
"2 c #213C60",
"3 c #BBB9AF",
"4 c #7F959D",
" )11)1))))))]]+++=='='' ",
" 13!!!{!!!!^!!!!!33[<]')= ",
" 1!////////////#/##!![]<4: ",
" 1!////////////////#(![[3): ",
" )!////////////////##(33(3]% ",
" 1!//////////////////#3</!3]% ",
" 1!///////////////////3[//{3]% ",
" )[<<33<3#////////////!4///(3)% ",
" ::';__]}-)+[//////////!1(#//{3): ",
" =$$&1$<<_}}::2!#///////{-:::'-]]': ",
" :)&^^^^**<__};-:~-(////////{!331]]:% ",
" ~=|^^>>>$4,4<,};;~2-#///////#!!331)=: ",
" ;-$>>>>>>><@4<*];}~22;!///////#!!33[]' ",
" ;_@>>##((>>*@4$*<-;;~2%-!#/////#((!33):. ",
" ~},<(##(##(>>*$*$+-;;~22%[##/////#(!!^1'. ",
" -_@!(####(>>>>**$-}};;2222!(#////#(({3['. ",
" ;}_,!##//#(>(>**&&]}}};2222)!(#/#/##{!![=. ",
" ;_,@>/#//##>>>^$)}}}};;~22%;!!(/#/##({^['. ",
" ;_,@!#///#>>>>*&__}}};;;22.:<!!##/##((![=. ",
" ';_,@>###/#>>>*&___}_};;~22%%+3!(####({{|'. ",
" ~}_,@@(###><<<$4,_,_}}};;22%.+[!{###(({{[=. ",
" 2},,,@*#((@@@@4,_,___};;~22%%+[3!(###({{|=. ",
" ~}_,,@@*(><@<@@4,,_}}};;~2.2.-[3!{(##({{[=. ",
" 2;_,,,@@*>*<*,,,____}};~~2.%%'[[!{((#({{|=. ",
" ~}__,@,@,<*!<,___}}}};;~~22..-[[3{((((({[=. ",
" ;}_,,,@@@,<<<_}}}}}};;~2222%+[[!{(((({{|=. ",
" ~}}_,,,@,,,,<}]44};;;;222..:11[^!((({{{|=. ",
" ;;}_,,,,@@@,,$&&&)-;22222.2'1[[^{{{(({{|=. ",
" ;}}___,,,,_)&<&&+='~222..211[[^{({{({>|=. ",
" ~;}}____,__&&&&+++'22.2.%=11[3^{({({{>|=. ",
" ;}}}}}}}}}]&&]+=:::22..2)11|3{{{{{{{{|=. ",
" ;;}}}}}}}=]]+='::%%.2%)11[|^{{({{{>>|=. ",
" ;;;;;};;;=''::::%.%.)11[[|!>{{>{>>>|=. ",
" ;;;};;;~%::%%:%%%%1111[|^{{({{>{>>|=. ",
" ~~;~;~~2%:%%%%.=]11[[|3{{{{{{{>>^|=. ",
" '~~~~%%:%%.')1111[[^^>{{{{>>>>^|=. ",
" :+-''::'&111[1[||3{{{{{>>>>^>^|=. ",
" '1*$[$[1[1[1[[[3^^{{{{{>{>^>^^|=. ",
" '<333[[[[[[||3^^{{{{{{>>>^>^^^|=. ",
" '3({!!^^3^3^^!{{{{{{{>>>>^>^^^|=. ",
" =3((({!{!{!{{{{{{{{{>>>^^>^^^^|=. ",
" '3###((({(({((({{{{{>{>>^^^^^^|=. ",
" =3!!!!!^!^^^^|^^|^|||||||||||||'. ",
" :++++++=+======================:. ",
" ............................. ",
" ",
" ",
" "]
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# #
@ -1701,6 +1610,5 @@ register_report(
category=_("Web Page"), category=_("Web Page"),
status=(_("Beta")), status=(_("Beta")),
description=_("Generates web (HTML) pages for individuals, or a set of individuals."), description=_("Generates web (HTML) pages for individuals, or a set of individuals."),
xpm=get_xpm_image()
) )