diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 6f7f0022d..89a5f5791 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,3 +1,8 @@ +2007-02-06 Don Allingham + * src/GrampsDb/_ReadGedcom.py: fix cal/est parsing + * src/DisplayTabs/_ButtonTab.py: catch window already being open + * example/gedcom/sample.ged: Add est/cal samples + 2007-02-04 Don Allingham * src/DataViews/_RelationView.py: default Relationship buttons to insenstive. Setting an active person will reenable them. diff --git a/gramps2/example/gedcom/sample.ged b/gramps2/example/gedcom/sample.ged index 6bdc88f86..196b4d147 100755 --- a/gramps2/example/gedcom/sample.ged +++ b/gramps2/example/gedcom/sample.ged @@ -68,7 +68,7 @@ 2 FORM jpeg 2 FILE O0.jpg 1 BIRT Edwin Michael Smith's Birth event -2 DATE 24 MAY 1961 +2 DATE EST 24 MAY 1961 2 PLAC San Jose, Santa Clara Co., CA 3 FORM city, county, state 2 FAMC @F02@ @@ -78,7 +78,7 @@ 2 DATE BET. 1979 - 1984 2 PLAC UC Berkeley 1 RESI -2 DATE 1 JAN 1985 +2 DATE CAL 1 JAN 1985 2 ADDR Address Line 0 3 ADR1 Adr1 line 3 ADR2 Adr2 line diff --git a/gramps2/src/DisplayTabs/_ButtonTab.py b/gramps2/src/DisplayTabs/_ButtonTab.py index 00a78ccd5..f57d7f267 100644 --- a/gramps2/src/DisplayTabs/_ButtonTab.py +++ b/gramps2/src/DisplayTabs/_ButtonTab.py @@ -41,6 +41,7 @@ import gtk #------------------------------------------------------------------------- from GrampsWidgets import SimpleButton from _GrampsTab import GrampsTab +import Errors #------------------------------------------------------------------------- # @@ -124,7 +125,10 @@ class ButtonTab(GrampsTab): the Edit button handler is called """ if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1: - self.edit_button_clicked(obj) + try: + self.edit_button_clicked(obj) + except Errors.WindowActiveError: + pass def add_button_clicked(self, obj): """ diff --git a/gramps2/src/GrampsDb/_ReadGedcom.py b/gramps2/src/GrampsDb/_ReadGedcom.py index db94d911b..ecd5e6f4b 100644 --- a/gramps2/src/GrampsDb/_ReadGedcom.py +++ b/gramps2/src/GrampsDb/_ReadGedcom.py @@ -2390,12 +2390,13 @@ class GedcomParser(UpdateCallback): int_val = False match = modRegexp.match(text) + qual = None if match: (mod, text) = match.groups() if mod == "CAL": - dateobj.set_quality(RelLib.Date.QUAL_CALCULATED) + qual = RelLib.Date.QUAL_CALCULATED elif mod == "EST": - dateobj.set_quality(RelLib.Date.QUAL_ESTIMATED) + qual = RelLib.Date.QUAL_ESTIMATED match = rangeRegexp.match(text) if match: @@ -2418,6 +2419,8 @@ class GedcomParser(UpdateCallback): start.get_start_date() + stop.get_start_date()) if int_val: dateobj.set_text_value(comment) + if qual: + dateobj.set_quality(qual) return dateobj match = spanRegexp.match(text) @@ -2441,6 +2444,8 @@ class GedcomParser(UpdateCallback): start.get_start_date() + stop.get_start_date()) if int_val: dateobj.set_text_value(comment) + if qual: + dateobj.set_quality(qual) return dateobj match = calRegexp.match(text) @@ -2453,11 +2458,15 @@ class GedcomParser(UpdateCallback): dateobj.set_calendar(RelLib.Date.CAL_JULIAN) elif cal == "HEBREW": dateobj.set_calendar(RelLib.Date.CAL_HEBREW) + if qual: + dateobj.set_quality(qual) return dateobj else: dval = self.dp.parse(text) if int_val: dateobj.set_text_value(comment) + if qual: + dateobj.set_quality(qual) return dval except IOError: return self.dp.set_text(text)