2007-10-05 James G. Sack <jgsack@san.rr.com>
* src/GrampsDb/_GrampsDbBase.py: * src/GrampsDb/_GrampsGEDDB.py: * src/GrampsDb/_GrampsXMLDB.py: * src/GrampsDb/_GrampsInMemDB.py: * src/Bookmarks.py: issue #1261: creating bookmark does not lead to save of xml svn: r9078
This commit is contained in:
@@ -1,3 +1,11 @@
|
|||||||
|
2007-10-05 James G. Sack <jgsack@san.rr.com>
|
||||||
|
* src/GrampsDb/_GrampsDbBase.py:
|
||||||
|
* src/GrampsDb/_GrampsGEDDB.py:
|
||||||
|
* src/GrampsDb/_GrampsXMLDB.py:
|
||||||
|
* src/GrampsDb/_GrampsInMemDB.py:
|
||||||
|
* src/Bookmarks.py:
|
||||||
|
issue #1261: creating bookmark does not lead to save of xml
|
||||||
|
|
||||||
2007-10-03 Brian Matherly <brian@gramps-project.org>
|
2007-10-03 Brian Matherly <brian@gramps-project.org>
|
||||||
* src/plugins/NarrativeWeb.py: 0001238: Web report: sort references for
|
* src/plugins/NarrativeWeb.py: 0001238: Web report: sort references for
|
||||||
places and media (use remove case sensitive sort and use normalized strings
|
places and media (use remove case sensitive sort and use normalized strings
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ class Bookmarks :
|
|||||||
def display(self):
|
def display(self):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
Redraw teh display
|
Redraw the display
|
||||||
"""
|
"""
|
||||||
self.redraw()
|
self.redraw()
|
||||||
|
|
||||||
@@ -122,6 +122,11 @@ class Bookmarks :
|
|||||||
self.uistate.uimanager.remove_action_group(self.action_group)
|
self.uistate.uimanager.remove_action_group(self.action_group)
|
||||||
self.active = DISABLED
|
self.active = DISABLED
|
||||||
|
|
||||||
|
def redraw_and_report_change(self):
|
||||||
|
"""Create the pulldown menu and set bookmarks to changed"""
|
||||||
|
self.dbstate.db.report_bm_change()
|
||||||
|
self.redraw()
|
||||||
|
|
||||||
def redraw(self):
|
def redraw(self):
|
||||||
"""Create the pulldown menu"""
|
"""Create the pulldown menu"""
|
||||||
text = StringIO()
|
text = StringIO()
|
||||||
@@ -166,7 +171,7 @@ class Bookmarks :
|
|||||||
"""appends the person to the bottom of the bookmarks"""
|
"""appends the person to the bottom of the bookmarks"""
|
||||||
if person_handle not in self.bookmarks.get():
|
if person_handle not in self.bookmarks.get():
|
||||||
self.bookmarks.append(person_handle)
|
self.bookmarks.append(person_handle)
|
||||||
self.redraw()
|
self.redraw_and_report_change()
|
||||||
|
|
||||||
def remove_handles(self, handle_list):
|
def remove_handles(self, handle_list):
|
||||||
"""
|
"""
|
||||||
@@ -182,7 +187,7 @@ class Bookmarks :
|
|||||||
self.bookmarks.remove(handle)
|
self.bookmarks.remove(handle)
|
||||||
modified = True
|
modified = True
|
||||||
if modified:
|
if modified:
|
||||||
self.redraw()
|
self.redraw_and_report_change()
|
||||||
|
|
||||||
def draw_window(self):
|
def draw_window(self):
|
||||||
"""Draws the bookmark dialog box"""
|
"""Draws the bookmark dialog box"""
|
||||||
@@ -246,7 +251,7 @@ class Bookmarks :
|
|||||||
if self.response == gtk.RESPONSE_HELP:
|
if self.response == gtk.RESPONSE_HELP:
|
||||||
self.help_clicked()
|
self.help_clicked()
|
||||||
if self.modified:
|
if self.modified:
|
||||||
self.redraw()
|
self.redraw_and_report_change()
|
||||||
self.top.destroy()
|
self.top.destroy()
|
||||||
|
|
||||||
def delete_clicked(self, obj):
|
def delete_clicked(self, obj):
|
||||||
|
|||||||
@@ -260,6 +260,7 @@ class GrampsDbBase(GrampsDBCallback):
|
|||||||
self.repo_bookmarks = GrampsDbBookmarks()
|
self.repo_bookmarks = GrampsDbBookmarks()
|
||||||
self.media_bookmarks = GrampsDbBookmarks()
|
self.media_bookmarks = GrampsDbBookmarks()
|
||||||
self.note_bookmarks = GrampsDbBookmarks()
|
self.note_bookmarks = GrampsDbBookmarks()
|
||||||
|
self._bm_changes = 0
|
||||||
self.path = ""
|
self.path = ""
|
||||||
self.name_group = {}
|
self.name_group = {}
|
||||||
self.surname_list = []
|
self.surname_list = []
|
||||||
@@ -2322,6 +2323,12 @@ class GrampsDbBase(GrampsDBCallback):
|
|||||||
cursor.close()
|
cursor.close()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def report_bm_change(self):
|
||||||
|
self._bm_changes += 1;
|
||||||
|
|
||||||
|
def db_has_bm_changes(self):
|
||||||
|
return self._bm_changes > 0
|
||||||
|
|
||||||
class Transaction:
|
class Transaction:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -90,8 +90,7 @@ class GrampsGEDDB(GrampsInMemDB):
|
|||||||
log.warning("Failed to load Gedcom writer", exc_info=True)
|
log.warning("Failed to load Gedcom writer", exc_info=True)
|
||||||
raise GrampsDbException("Failed to load Gedcom writer")
|
raise GrampsDbException("Failed to load Gedcom writer")
|
||||||
|
|
||||||
if (not self.readonly) and ((len(self.undodb)>0) or
|
if self.db_is_changed():
|
||||||
not self.abort_possible):
|
|
||||||
writer = GedcomWriter(self,self.get_default_person())
|
writer = GedcomWriter(self,self.get_default_person())
|
||||||
writer.export_data(self.full_name)
|
writer.export_data(self.full_name)
|
||||||
self.db_is_open = False
|
self.db_is_open = False
|
||||||
|
|||||||
@@ -378,3 +378,8 @@ class GrampsInMemDB(GrampsDbBase):
|
|||||||
obj.unserialize(data)
|
obj.unserialize(data)
|
||||||
return obj
|
return obj
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def db_is_changed(self):
|
||||||
|
return not self.readonly and \
|
||||||
|
(len(self.undodb) > 0 or
|
||||||
|
not self.abort_possible)
|
||||||
|
|||||||
@@ -94,8 +94,7 @@ class GrampsXMLDB(GrampsInMemDB):
|
|||||||
log.warning("Failed to load XML writer", exc_info=True)
|
log.warning("Failed to load XML writer", exc_info=True)
|
||||||
raise GrampsDbException("Failed to load XML writer")
|
raise GrampsDbException("Failed to load XML writer")
|
||||||
|
|
||||||
if (not self.readonly) and ((len(self.undodb)>0) or
|
if self.db_is_changed() or self.db_has_bm_changes():
|
||||||
not self.abort_possible):
|
|
||||||
quick_write(self,self.full_name)
|
quick_write(self,self.full_name)
|
||||||
self.db_is_open = False
|
self.db_is_open = False
|
||||||
GrampsInMemDB.close(self)
|
GrampsInMemDB.close(self)
|
||||||
|
|||||||
Reference in New Issue
Block a user