diff --git a/src/EditPerson.glade b/src/EditPerson.glade
index d91723589..7b4c1d251 100644
--- a/src/EditPerson.glade
+++ b/src/EditPerson.glade
@@ -539,7 +539,7 @@
GtkCombo
- dbcombo
+ dpcombo
250
False
True
@@ -1357,7 +1357,7 @@
GtkTable
table10
- 5
+ 6
3
False
0
@@ -1532,8 +1532,8 @@
0
1
- 4
- 5
+ 5
+ 6
0
0
False
@@ -1558,8 +1558,8 @@
2
3
- 4
- 5
+ 5
+ 6
3
3
False
@@ -1662,8 +1662,8 @@
1
2
- 4
- 5
+ 5
+ 6
0
0
False
@@ -1704,7 +1704,7 @@
GtkLabel
label268
-
+
GTK_JUSTIFY_CENTER
False
1
@@ -1729,7 +1729,7 @@
GtkLabel
- name_type
+ alt_title
GTK_JUSTIFY_CENTER
False
@@ -1752,6 +1752,84 @@
False
+
+
+ GtkLabel
+ label271
+
+ GTK_JUSTIFY_CENTER
+ False
+ 1
+ 0.5
+ 5
+ 3
+
+ 0
+ 1
+ 4
+ 5
+ 0
+ 0
+ False
+ False
+ False
+ False
+ True
+ False
+
+
+
+
+ GtkLabel
+ label272
+
+ GTK_JUSTIFY_CENTER
+ False
+ 0
+ 0.5
+ 0
+ 3
+
+ 1
+ 2
+ 4
+ 5
+ 0
+ 0
+ False
+ False
+ False
+ False
+ True
+ False
+
+
+
+
+ GtkLabel
+ name_type
+
+ GTK_JUSTIFY_CENTER
+ False
+ 0
+ 0.5
+ 0
+ 0
+
+ 2
+ 3
+ 4
+ 5
+ 3
+ 3
+ False
+ False
+ False
+ False
+ True
+ False
+
+
@@ -5509,7 +5587,7 @@
GtkTable
table23
- 6
+ 7
2
False
0
@@ -5584,8 +5662,8 @@
1
2
- 5
- 6
+ 6
+ 7
3
3
False
@@ -5618,8 +5696,8 @@
0
1
- 5
- 6
+ 6
+ 7
0
0
False
@@ -5639,8 +5717,8 @@
1
2
- 4
- 5
+ 5
+ 6
0
0
False
@@ -5817,8 +5895,8 @@
0
1
- 3
- 4
+ 4
+ 5
0
0
False
@@ -5844,8 +5922,8 @@
1
2
- 3
- 4
+ 4
+ 5
3
3
True
@@ -5867,6 +5945,56 @@
+
+
+ GtkLabel
+ label270
+
+ GTK_JUSTIFY_CENTER
+ False
+ 1
+ 0.5
+ 5
+ 8
+
+ 0
+ 1
+ 3
+ 4
+ 0
+ 0
+ False
+ False
+ False
+ False
+ True
+ False
+
+
+
+
+ GtkEntry
+ alt_title
+ True
+ True
+ True
+ 0
+
+
+ 1
+ 2
+ 3
+ 4
+ 3
+ 3
+ True
+ False
+ False
+ False
+ True
+ False
+
+
diff --git a/src/EditPerson.py b/src/EditPerson.py
index 006a0d7b5..587cdfa90 100644
--- a/src/EditPerson.py
+++ b/src/EditPerson.py
@@ -173,6 +173,7 @@ class EditPerson:
self.name_frame = self.get_widget("name_frame")
self.alt_given_field = self.get_widget("alt_given")
self.alt_last_field = self.get_widget("alt_last")
+ self.alt_title_field = self.get_widget("alt_title")
self.alt_suffix_field = self.get_widget("alt_suffix")
self.name_type_field = self.get_widget("name_type")
self.surname_field = self.get_widget("surname")
@@ -184,7 +185,7 @@ class EditPerson:
self.bdate = self.get_widget("birthDate")
self.bplace = self.get_widget("birthPlace")
self.bpcombo = self.get_widget("bpcombo")
- self.dpcombo = self.get_widget("bpcombo")
+ self.dpcombo = self.get_widget("dpcombo")
self.sncombo = self.get_widget("sncombo")
self.ddate = self.get_widget("deathDate")
self.dplace = self.get_widget("deathPlace")
@@ -223,8 +224,7 @@ class EditPerson:
self.window.editable_enters(self.dplace);
self.autoplace = AutoComp.AutoCombo(self.bpcombo,self.pmap.keys())
-
- AutoComp.AutoCombo(self.dpcombo,self.pmap.keys(),self.autoplace)
+ self.autodeath = AutoComp.AutoCombo(self.dpcombo,self.pmap.keys(),self.autoplace)
self.comp = AutoComp.AutoCombo(self.sncombo,const.surnames)
self.gid.set_text(person.getId())
@@ -258,12 +258,12 @@ class EditPerson:
self.get_widget("lds_tab").show()
self.get_widget("lds_page").show()
- self.write_primary_name()
types = const.NameTypesMap.keys()
types.sort()
self.ntype_field.set_popdown_strings(types)
self.autotype = AutoComp.AutoEntry(self.ntype_field.entry,types)
+ self.write_primary_name()
if person.getGender() == Person.male:
self.is_male.set_active(1)
@@ -975,6 +975,7 @@ class EditPerson:
name = obj.get_row_data(row)
self.name_frame.set_label(name.getName())
self.alt_given_field.set_text(name.getFirstName())
+ self.alt_title_field.set_text(name.getTitle())
self.alt_last_field.set_text(name.getSurname())
self.alt_suffix_field.set_text(name.getSuffix())
self.name_type_field.set_text(name.getType())
@@ -1351,6 +1352,7 @@ class EditPerson:
self.nlist.append(old)
self.redraw_name_list()
self.pname = Name(new)
+ self.lists_changed = 1
self.write_primary_name()
def write_primary_name(self):
diff --git a/src/NameEdit.py b/src/NameEdit.py
index ffc47a24d..f3628c895 100644
--- a/src/NameEdit.py
+++ b/src/NameEdit.py
@@ -51,6 +51,7 @@ class NameEditor:
self.top = libglade.GladeXML(const.editPersonFile, "name_edit")
self.window = self.top.get_widget("name_edit")
self.given_field = self.top.get_widget("alt_given")
+ self.title_field = self.top.get_widget("alt_title")
self.surname_field = self.top.get_widget("alt_last")
self.suffix_field = self.top.get_widget("alt_suffix")
self.type_field = self.top.get_widget("name_type")
@@ -78,11 +79,13 @@ class NameEditor:
self.window.editable_enters(self.given_field)
self.window.editable_enters(self.surname_field)
self.window.editable_enters(self.suffix_field)
+ self.window.editable_enters(self.title_field)
self.window.editable_enters(self.type_field.entry)
if name != None:
self.given_field.set_text(name.getFirstName())
self.surname_field.set_text(name.getSurname())
+ self.title_field.set_text(name.getTitle())
self.suffix_field.set_text(name.getSuffix())
self.type_field.entry.set_text(_(name.getType()))
self.priv.set_active(name.getPrivacy())
@@ -104,6 +107,7 @@ class NameEditor:
def on_name_edit_ok_clicked(self,obj):
first = self.given_field.get_text()
last = self.surname_field.get_text()
+ title = self.title_field.get_text()
suffix = self.suffix_field.get_text()
note = self.note_field.get_chars(0,-1)
priv = self.priv.get_active()
@@ -120,13 +124,13 @@ class NameEditor:
self.name.setSourceRefList(self.srcreflist)
self.parent.nlist.append(self.name)
- self.update_name(first,last,suffix,type,note,priv)
+ self.update_name(first,last,suffix,title,type,note,priv)
self.parent.lists_changed = 1
self.parent.redraw_name_list()
Utils.destroy_passed_object(obj)
- def update_name(self,first,last,suffix,type,note,priv):
+ def update_name(self,first,last,suffix,title,type,note,priv):
if self.name.getFirstName() != first:
self.name.setFirstName(first)
@@ -143,6 +147,10 @@ class NameEditor:
self.name.setSuffix(suffix)
self.parent.lists_changed = 1
+ if self.name.getTitle() != title:
+ self.name.setTitle(title)
+ self.parent.lists_changed = 1
+
if self.name.getType() != type:
self.name.setType(type)
self.parent.lists_changed = 1
diff --git a/src/docgen/PdfDoc.py b/src/docgen/PdfDoc.py
index b398d7abb..8fb5af057 100644
--- a/src/docgen/PdfDoc.py
+++ b/src/docgen/PdfDoc.py
@@ -260,9 +260,9 @@ class PdfDoc(TextDoc):
self.col = self.col + self.span
- def add_photo(self,name,pos,x,y):
+ def add_photo(self,name,pos,x_cm,y_cm):
img = ImgManip.ImgManip(name)
- nx,ny = img.size()
+ x,y = img.size()
ratio = float(x_cm)*float(y)/(float(y_cm)*float(x))
diff --git a/src/plugins/AncestorReport.py b/src/plugins/AncestorReport.py
index 671e2a907..b094f90c9 100644
--- a/src/plugins/AncestorReport.py
+++ b/src/plugins/AncestorReport.py
@@ -307,56 +307,85 @@ def report(database,person):
#------------------------------------------------------------------------
def get_xpm_image():
return [
- "48 48 4 1",
+ "48 48 33 1",
" c None",
- ". c #FFFFFF",
- "+ c #C0C0C0",
- "@ c #000000",
+ ". 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 ",
" ",
" ",
" "]
diff --git a/src/plugins/DescendReport.py b/src/plugins/DescendReport.py
index a0252befe..22bf44633 100644
--- a/src/plugins/DescendReport.py
+++ b/src/plugins/DescendReport.py
@@ -208,56 +208,85 @@ def report(database,person):
#------------------------------------------------------------------------
def get_xpm_image():
return [
- "48 48 4 1",
+ "48 48 33 1",
" c None",
- ". c #FFFFFF",
- "+ c #C0C0C0",
- "@ c #000000",
+ ". c #1A1A1A",
+ "+ c #6A665E",
+ "@ c #A6A6A6",
+ "# c #BABAB6",
+ "$ c #E9D9C0",
+ "% c #E6E6E6",
+ "& c #7A7262",
+ "* c #867A6E",
+ "= c #C2C2BE",
+ "- c #5C5854",
+ "; c #898783",
+ "> c #EEEEEC",
+ ", c #B2966E",
+ "' c #4E4E4E",
+ ") c #BCA076",
+ "! c #FAFAFA",
+ "~ c #CECBC1",
+ "{ c #E2CBA5",
+ "] c #DAD6D1",
+ "^ c #D2D1D0",
+ "/ c #9E9286",
+ "( c #ECE1D1",
+ "_ c #423E3E",
+ ": c #A29E96",
+ "< c #B7AC9A",
+ "[ c #DAD2C6",
+ "} c #E6E2E2",
+ "| c #E1DFDC",
+ "1 c #322E2A",
+ "2 c #E6D2B6",
+ "3 c #F5F2EF",
+ "4 c #F1EADE",
" ",
" ",
- " ",
- " ++++++++++++++++++++++++++++++++++ ",
- " +................................+ ",
- " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +...@@@@@@@@@@@..................+ ",
- " +................................+ ",
- " +................................+ ",
- " +......@@@@@@@@@@@...............+ ",
- " +................................+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@............+ ",
- " +................................+ ",
- " +................................+ ",
- " +......@@@@@@@@@@@...............+ ",
- " +................................+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@............+ ",
- " +................................+ ",
- " +................................+ ",
- " +.............@@@@@@@@@@@........+ ",
- " +................................+ ",
- " +................................+ ",
- " +.............@@@@@@@@@@@........+ ",
- " +................................+ ",
- " +................................+ ",
- " +......@@@@@@@@@@@...............+ ",
- " +................................+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@............+ ",
- " +................................+ ",
- " +................................+ ",
- " +............@@@@@@@@@@@.........+ ",
- " +................................+ ",
- " +................................+ ",
- " +................@@@@@@@@@@......+ ",
- " +................................+ ",
- " +................................+ ",
- " +................@@@@@@@@@@......+ ",
- " +................................+ ",
- " +................................+ ",
- " ++++++++++++++++++++++++++++++++++ ",
+ " ;*;*****&&&+&++++---+& ",
+ " *##############<#<:;--& ",
+ " *#!!!!!!!!!!!!!!4}^#;;/' ",
+ " ;#!!!!!!!!!!!!!!!3}^@&~/_ ",
+ " *#!!!!!!!!!!!!!!!!3}^-%~;1 ",
+ " *#!!!!@@@@@@@@@@@@@@@'!}~;1 ",
+ " *#!!!!!!!!!!!!!!!!3!3'!!}~;1 ",
+ " *#!!!!!!!!!!!!!!!!!!!'4!!|~;_ ",
+ " *#!!!!3!!!!!!!!!!!!!!'}4!!}~/' ",
+ " !!!!@@:@:@:@:@@@!!3'~}3!!}#/+ ",
+ " !!!!!!!!!!!!!!!!!!!'..1_'-&*+& ",
+ " *#!!!!!!!!@@@@@:@@@@%!3#@:;*+-_+ ",
+ " !!!!!!!!!!!!!!!!!!!!>|~=:;;*'_ ",
+ " !!!!!!!!@:@@@@:@@@^|>%^~#::;+_ ",
+ " !!!!!!!!!!!!!!!!!!!!3%>^~#@:&1 ",
+ " !!!!!!!!@@@@@@@@@@%>3%|~^~#@*1 ",
+ " &>]=~<;1 ",
+ " +#!!!!@@@@@:@@@:@]%33>>>>>[~~~;1 ",
+ " +#!!!!!!!!!!!!!!!!!33333>}^[=#;1 ",
+ " +#!!!!!!!!@@@@@@:@@@]>>>44]2{[/1 ",
+ " +#!!!!!!!!!!!!!!!33333444}(([~/1 ",
+ " +#!!!!33!3@@@@@@:@::]}|}||[2^{:1 ",
+ " +#!!!!!!!!!!!!!!>3333>4}44$[2~,1 ",
+ " +#!!!!!!!!33!>@@@@@@@@@@^}|${[/1 ",
+ " +#!!!!!!!!!!!!33334444(((44$2[,1 ",
+ " -#!!!!3333333%:::::::::/]||$2^,1 ",
+ " +#!!!!!!!!!3333>>44|(((((4($2{:1 ",
+ " -#!!!!!!!!:@@:::::::~]}}|$$$22,1 ",
+ " +#!!!!!!!!33333(44}44(44((($22/1 ",
+ " -#!!!!@@@:@::::::]}|||$||$]222)1 ",
+ " -#!!!!!33333(>4}444((($$$22222,1 ",
+ " -#!!!!!!!!::::::/://]$$$$($2{2,1 ",
+ " -#!!!333333444|((((($$$$[2$22{)1 ",
+ " -#!!!33334::/:::////[[]$2$22{{)1 ",
+ " '#!33333334}(((((($$$2222$22{{,1 ",
+ " -#33333333:::///////{2[{2[{{{{)1 ",
+ " '#3333%44}4((4(($$$$2222222{{{,1 ",
+ " '#33334444(((((2$$222222{{{{{{,1 ",
+ " '<334444((((($$$2$222{{2{{{{{{,1 ",
+ " -@3444444((($4$$$$2222{{{{{{{{,1 ",
+ " '#4444(((4$($$$$2$2${2{{{{{{{{,1 ",
+ " '<##<<<<<<<)))<)))))),,,,,,,,,,1 ",
+ " 11111111111111111111111111.11111 ",
" ",
" ",
" "]
diff --git a/src/plugins/DetAncestralReport.py b/src/plugins/DetAncestralReport.py
index 469edf6c0..058fbc118 100644
--- a/src/plugins/DetAncestralReport.py
+++ b/src/plugins/DetAncestralReport.py
@@ -541,56 +541,84 @@ def report(database,person):
#------------------------------------------------------------------------
def get_xpm_image():
return [
- "48 48 4 1",
+ "48 48 32 1",
" c None",
- ". c #FFFFFF",
- "+ c #C0C0C0",
- "@ c #000000",
+ ". c #968977",
+ "+ c #847B6E",
+ "@ c #7A7062",
+ "# c #6A655C",
+ "$ c #5C5854",
+ "% c #BAB9B6",
+ "& c #B7AC9C",
+ "* c #A19C95",
+ "= c #868686",
+ "- c #FAFAF9",
+ "; c #F1EADF",
+ "> c #E4E3E3",
+ ", c #D1D1D0",
+ "' c #9D9385",
+ ") c #55524C",
+ "! c #F6F2ED",
+ "~ c #A6A5A4",
+ "{ c #CDC8BF",
+ "] c #413F3F",
+ "^ c #322E2B",
+ "/ c #4F4E4C",
+ "( c #1A1A1A",
+ "_ c #D8D1C5",
+ ": c #E6D3B4",
+ "< c #E2C8A1",
+ "[ c #E9DAC2",
+ "} c #EEE2D0",
+ "| c #B3966E",
+ "1 c #B89C73",
+ "2 c #BEA27B",
+ "3 c #BAA488",
" ",
" ",
- " ",
- " ++++++++++++++++++++++++++++++++++ ",
- " +................................+ ",
- " +................................+ ",
- " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +...@@@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +........@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +........@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +.....@@@@@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +.........@@@@@@@@@@@@@@@@@@@@...+ ",
- " +................................+ ",
- " +................................+ ",
- " +................................+ ",
- " +................................+ ",
- " ++++++++++++++++++++++++++++++++++ ",
+ " .+.+++++@@@#@####$$$#@ ",
+ " +%%%%%%%%%%%%%%&%&*=$$@ ",
+ " +%--------------;>,%==') ",
+ " =%---------------!>,~@{'] ",
+ " +%----------------!>,$>{=^ ",
+ " +%----~~~~~~~~~~~~~~~/->{=^ ",
+ " +%------------------!/-->{=^ ",
+ " +%-------------------/;-->{=] ",
+ " +%-------------------/>;-->{') ",
+ " @%----~~~~~~~~~~~~~~~/{>!-->%'# ",
+ " @%-------------------/((^]/$@+#@ ",
+ " +%--------~~~~~~~~~~~~%%~*=+#$]# ",
+ " @%-------------------->,%%*==+/] ",
+ " @%----~~~~~~~~~~~~~~~~~~~~%~*=#] ",
+ " @%--------------------!>>,{%~*@^ ",
+ " @%--------~~~~~~~~~~~~~~=',{%~+^ ",
+ " @%------------------!!!!>>,{{&=^ ",
+ " #%----~~~~~~~~~~~~~~~~***'.{{{=^ ",
+ " #%-----------------!!!!!;>,_{%.^ ",
+ " #%--------~~~~~~~~~~~*****':<_'^ ",
+ " #%---------------!!!!!;;;>>[,{'^ ",
+ " #%----~~~~~~~~~~*~********':_<*^ ",
+ " #%--------------!!!!!;;>}}[_:{|^ ",
+ " #%--------~~~~~~~~~~~~~~~~~[:_'^ ",
+ " #%------------!!!!;;;;}}}}}[:_|^ ",
+ " $%----~~~~~~~*~********'*''[:_|^ ",
+ " #%---------!!!!!!;;>}}}}}}[[:<*^ ",
+ " $%--------*~~**********''''[::|^ ",
+ " #%--------!!!!!>;;>}}[}[[[[[::'^ ",
+ " $%----~~~*~*********''''''':::1^ ",
+ " $%-----!!!!!>!;>}}}}}[[[[:::::|^ ",
+ " $%--------********''''''.'.:<:1^ ",
+ " $%---!!!!!!;;;>}}}}}[[[[:::::<1^ ",
+ " $%---!~~~~******'''''''.'..:<<2^ ",
+ " )%-!!!!!!!;>}}}}}[[[[:::::<:<<1^ ",
+ " )%!!!!!!!!***'''''''.|.....<<<1^ ",
+ " )%!!!!>;;>;}}}}}[[[[:::::<<<<<|^ ",
+ " /%!!!!;;;;}}}}}:[[::::::<:<<<<1^ ",
+ " /&!!;;;;}}}}}[[[:[:::<<:<<<<<<|^ ",
+ " )~!;;;;;;}}}[}[:[[::::<<<<<<<<|^ ",
+ " /%;;;;}}}}[}[[[[::::<:<<<<<<<<|^ ",
+ " /&%%&&&&&&&3323222222121|||||||^ ",
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ",
" ",
" ",
" "]
diff --git a/src/plugins/FamilyGroup.py b/src/plugins/FamilyGroup.py
index 93a1147c2..0b2a8d2aa 100644
--- a/src/plugins/FamilyGroup.py
+++ b/src/plugins/FamilyGroup.py
@@ -446,6 +446,96 @@ class FamilyGroupDialog(TextReportDialog):
def report(database,person):
FamilyGroupDialog(database,person)
+#------------------------------------------------------------------------
+#
+#
+#
+#------------------------------------------------------------------------
+def get_xpm_image():
+ return [
+ "48 48 33 1",
+ " c None",
+ ". c #1A1A1A",
+ "+ c #6A665E",
+ "@ c #A6A6A6",
+ "# c #BABAB6",
+ "$ c #D2D2D2",
+ "% c #EDE2D2",
+ "& c #7A7262",
+ "* c #F1EADF",
+ "= c #867A6E",
+ "- c #56524E",
+ "; c #868686",
+ "> c #E2CAA2",
+ ", c #F2EEE2",
+ "' c #4E4E4E",
+ ") c #B2966E",
+ "! c #FAFAFA",
+ "~ c #A29E96",
+ "{ c #BEA27A",
+ "] c #CECABE",
+ "^ c #968A76",
+ "/ c #DAD2C6",
+ "( c #423E3E",
+ "_ c #BA9E72",
+ ": c #B7AC9A",
+ "< c #E9DAC3",
+ "[ c #E6E2E2",
+ "} c #322E2A",
+ "| c #9E9286",
+ "1 c #E6D2B6",
+ "2 c #F2EEE9",
+ "3 c #5E5A56",
+ "4 c #F6F2EE",
+ " ",
+ " ",
+ " ^=^=====&&&+&++++333+& ",
+ " =##############:#:~;33& ",
+ " =#!!!!!!!!!!!!!!*[$#;;|- ",
+ " ;#!!!!!!!!!!!!!!!2[$@&]|( ",
+ " =#!!!!!!!!!!!!!!!!2[$-[];} ",
+ " =#!!!!@@@@@@@@!!!!![4'![];} ",
+ " =#!!!!!!4!!4!!!!!!!!4'!![];} ",
+ " =#!!!!!!!!!!!!!!!!!!!'*!![];( ",
+ " =#!!!!!!!!!!!!!!!!!!!'[*!![]|- ",
+ " !!!!@@~@@@~@@~@@@@@'][4!![#|+ ",
+ " !4!!!!!!!!!!!!!4!!!'..}('3&=+& ",
+ " =#!!!!@@@@@@@@@@@@@@@@##@~;=+3(+ ",
+ " !!!!!!!!!!!!!!!!!!!![$##~;;='( ",
+ " !!!!@@@@@~@@@~@@@@~@@@@@#~~;+( ",
+ " !!!!!!!!!!!!!!!!!!!!444[]#@~&} ",
+ " !!!!!!!!!!!!!!!!!!4442[[$]#@=} ",
+ " !!!!!!!!!!!!!!!!!!4444[[$]]:;} ",
+ " +#!!!!@~@@@@@@@@~@@@@@~~~|;]]];} ",
+ " +#!!!!!!!!!!!!!!!!!44444,[$/]:^} ",
+ " +#!!!!@@@~@@@@@@@@~@~~~~~~|1>$|} ",
+ " +#!!!!!!!!!!!!!!!44442[*%[[<$]|} ",
+ " +#!!!!@@@@~@@@@~~@~~~~~~~~|1/>~} ",
+ " +#!!!!!!!!!!!!!!44444**[%%1])} ",
+ " +#!!!!!!!!!!!!!4422******%%<1/|} ",
+ " +#!!!!!!!!!!!!!!4,*,**2***%<1/)} ",
+ " 3#!!!!@@@@@~,442,*,*,2**,,[<1/)} ",
+ " +#!!!!!!4!!444444**[%%%%%%<<1>~} ",
+ " 3#!!!!@@4*@@@~~~~~~~~~~||||<11)} ",
+ " +#4!!4444444,24[[*[<%<%<<<<<11|} ",
+ " 3#!!!44,,,@~~~~~~~~~|||||||111_} ",
+ " 3#!!!!!44444[4[[%%%%%<<<<11111)} ",
+ " 3#!!!!~@,*~~~~~~~~||||||^|^1>1_} ",
+ " 3#!!!444442%**[%<%%%<<<<11111>_} ",
+ " 3#!!!4***[~~~~~~|||||||^|^^1>>{} ",
+ " -#!444444**[%<%%%<<<<11111>1>>_} ",
+ " -#4444~~[[~~~|||||||^)^^^^^>>>_} ",
+ " -#4444[**[%%%%%%<<<<11111>>>>>)} ",
+ " '#4444****%%%%%<<<111<11>>>>>>_} ",
+ " ':44****%%%%%<<<1<1<1>>1>>>>>>)} ",
+ " -@4******%%%<%<1<<1111>>>>>>>>)} ",
+ " '#****%%%%<%<<<<1<11>1>>>>>>>>)} ",
+ " ':##:::::::{{{{{{__{___))^)))))} ",
+ " }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ",
+ " ",
+ " ",
+ " "]
+
#------------------------------------------------------------------------
#
#
@@ -458,6 +548,7 @@ register_report(
_("Family Group Report"),
category=_("Text Reports"),
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()
)
diff --git a/src/plugins/IndivSummary.py b/src/plugins/IndivSummary.py
index ec34c00ab..fa98debee 100644
--- a/src/plugins/IndivSummary.py
+++ b/src/plugins/IndivSummary.py
@@ -418,6 +418,96 @@ class IndivSummaryDialog(TextReportDialog):
def report(database,person):
IndivSummaryDialog(database,person)
+#------------------------------------------------------------------------
+#
+#
+#
+#------------------------------------------------------------------------
+def get_xpm_image():
+ return [
+ "48 48 33 1",
+ " c None",
+ ". c #312D2A",
+ "+ c #4773AA",
+ "@ c #A8A7A5",
+ "# c #BABAB6",
+ "$ c #CECECE",
+ "% c #ECDECB",
+ "& c #5C5C60",
+ "* c #7C7262",
+ "= c #F2EADE",
+ "- c #867A6F",
+ "; c #8E887E",
+ "> c #E2CAA2",
+ ", c #565354",
+ "' c #4C4E51",
+ ") c #6D655E",
+ "! c #B69970",
+ "~ c #F6F2EE",
+ "{ c #9E9286",
+ "] c #416CA3",
+ "^ c #3D4557",
+ "/ c #A29E96",
+ "( c #FAFAFA",
+ "_ c #BA7458",
+ ": c #C67C5E",
+ "< c #BDA37E",
+ "[ c #CECABE",
+ "} c #A26E62",
+ "| c #E6E2E2",
+ "1 c #423E43",
+ "2 c #966A60",
+ "3 c #D2D2D2",
+ "4 c #E5D2B8",
+ " ",
+ " ",
+ " ;-;-----***)*))))&,&)* ",
+ " -##############@#@/;&,* ",
+ " -#((((((((((((((=|$#;;{, ",
+ " ;#(((((((((((((((~|3/*[{1 ",
+ " -#((((((((((((((((~|3,|[;. ",
+ " -#((((((((@/@@@@@@/@/'(|[;. ",
+ " -#((((((((((((((((((~'((|[;. ",
+ " -#(((((((((((]+]+]]+('=((|[;1 ",
+ " -#(((((((((((]+]}2&+('|=((|[{, ",
+ " *#(((((((((((]+}<:-+('[|~((|#{) ",
+ " *#(((((((((((+]2_:)+('...1'&*-)* ",
+ " -#(((((((((((]&1(_&+(3@#//--)&1) ",
+ " *#~((((((((((+]1}/^]((|$##/;--'1 ",
+ " *#(((((((((((]]^)11,(((|$[#@/;)1 ",
+ " *#(((((((((((]^.^^&&((~=|$[#@/*. ",
+ " *#(((((((((((((~(((((((|$[$[#/-. ",
+ " *#~(((((((((((((((((~~~~||$[[@;. ",
+ " )#((((@@@@@@/@@/@/@@@@///{;[[[;. ",
+ " )#(((((((((((((((((~~~~==|$$[#;. ",
+ " )#((((@/@@/@@@@@@@@@//////{4>3{. ",
+ " )#(((((((((((((((~~~~==|=||%$[{. ",
+ " )#((((@@@@@/@@@///////////{43>/. ",
+ " )#((((((((((((((~~~~~==|||%>4[!. ",
+ " )#((((@/@@@@@//~~~~======%%%43{. ",
+ " )#((((((((((((~~~~=|==||=%%%44!. ",
+ " ,#((((@@/@@/@/@////////{/{{%4$!. ",
+ " )#~((((((((~~~~~~==||%=%=%%44>/. ",
+ " ,#((((/@@//@///////////{{{{%4>!. ",
+ " )#((((((((~~~=~||=|%%%%%4%%%44{. ",
+ " ,#((((@@@/@/////////{{{{{{{444!. ",
+ " (((((~~~~~|~|||%%|%%%%44444%!. ",
+ " ,#(((~/@//////////{{{{{{;{;4>4!. ",
+ " ,#(((~~~~=~|==|%|=%%%4%%44444>!. ",
+ " (((~//////////{{{{{{{;{;{4>><. ",
+ " ,#(~~~~~~==||%|%%%%%%44444>4>>!. ",
+ " '#~~~~///////{{{{{{{;!;{;;;>>>!. ",
+ " ,#~~~~||=||%|%=%%4%444>44>>>>>!. ",
+ " '#~~~~====%=%=%4%%444444>>>>>>!. ",
+ " '@~~====|%=%%%%%4%444>>4>>>>>>!. ",
+ " ,@~======%%%%%%>%%4444>>>>>>>>!. ",
+ " '#====||=%%%%4%44444>4>>>>>>>>!. ",
+ " ,@##@<#<<#@<<<<<<<<< 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!!!!!^!^^^^|^^|^|||||||||||||'. ",
+ " :++++++=+======================:. ",
+ " ............................. ",
+ " ",
+ " ",
+ " "]
+
+
#-------------------------------------------------------------------------
#
#
@@ -1068,6 +1159,7 @@ register_report(
_("Generate Web Site"),
category=_("Web Page"),
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()
)