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: r9077
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 Benny Malengier <benny.malengier@gramps-project.org>
|
||||
* src/plugins/Check.py: add remove empty objects. This needs testing...
|
||||
|
||||
|
@ -106,6 +106,10 @@ class Bookmarks :
|
||||
self.uistate.uimanager.remove_action_group(self.action_group)
|
||||
self.active = DISABLED
|
||||
|
||||
def redraw_and_report_change(self):
|
||||
self.dbstate.db.report_bm_change()
|
||||
self.redraw()
|
||||
|
||||
def redraw(self):
|
||||
"""Create the pulldown menu"""
|
||||
f = StringIO()
|
||||
@ -153,7 +157,7 @@ class Bookmarks :
|
||||
"""appends the person to the bottom of the bookmarks"""
|
||||
if person_handle not in self.bookmarks.get():
|
||||
self.bookmarks.append(person_handle)
|
||||
self.redraw()
|
||||
self.redraw_and_report_change()
|
||||
|
||||
def remove_handles(self, handle_list):
|
||||
"""
|
||||
@ -169,7 +173,7 @@ class Bookmarks :
|
||||
self.bookmarks.remove(handle)
|
||||
modified = True
|
||||
if modified:
|
||||
self.redraw()
|
||||
self.redraw_and_report_change()
|
||||
|
||||
def draw_window(self):
|
||||
"""Draws the bookmark dialog box"""
|
||||
@ -233,7 +237,7 @@ class Bookmarks :
|
||||
if self.response == gtk.RESPONSE_HELP:
|
||||
self.help_clicked()
|
||||
if self.modified:
|
||||
self.redraw()
|
||||
self.redraw_and_report_change()
|
||||
self.top.destroy()
|
||||
|
||||
def delete_clicked(self,obj):
|
||||
|
@ -303,6 +303,7 @@ class GrampsDbBase(GrampsDBCallback):
|
||||
self.path = ""
|
||||
self.name_group = {}
|
||||
self.surname_list = []
|
||||
self._bm_changes = 0
|
||||
|
||||
def rebuild_secondary(self, callback):
|
||||
pass
|
||||
@ -2182,6 +2183,13 @@ class GrampsDbBase(GrampsDBCallback):
|
||||
cursor.close()
|
||||
|
||||
return
|
||||
|
||||
def report_bm_change(self):
|
||||
self._bm_changes += 1;
|
||||
|
||||
def db_has_bm_changes(self):
|
||||
return self._bm_changes > 0
|
||||
|
||||
|
||||
class Transaction:
|
||||
"""
|
||||
|
@ -69,8 +69,7 @@ class GrampsGEDDB(GrampsInMemDB):
|
||||
def close(self):
|
||||
if not self.db_is_open:
|
||||
return
|
||||
if (not self.readonly) and ((len(self.undodb)>0) or
|
||||
not self.abort_possible):
|
||||
if self.db_is_changed():
|
||||
writer = GedcomWriter(self,self.get_default_person())
|
||||
writer.export_data(self.full_name)
|
||||
self.db_is_open = False
|
||||
|
@ -365,3 +365,9 @@ class GrampsInMemDB(GrampsDbBase):
|
||||
obj.unserialize(data)
|
||||
return obj
|
||||
return None
|
||||
|
||||
def db_is_changed(self):
|
||||
return not self.readonly and \
|
||||
(len(self.undodb) > 0 or
|
||||
not self.abort_possible)
|
||||
|
||||
|
@ -72,8 +72,7 @@ class GrampsXMLDB(GrampsInMemDB):
|
||||
def close(self):
|
||||
if not self.db_is_open:
|
||||
return
|
||||
if (not self.readonly) and ((len(self.undodb)>0) or
|
||||
not self.abort_possible):
|
||||
if self.db_is_changed() or self.db_has_bm_changes():
|
||||
quick_write(self,self.full_name)
|
||||
self.db_is_open = False
|
||||
GrampsInMemDB.close(self)
|
||||
|
Reference in New Issue
Block a user