* src/EditPlace.py: use monitored widgets
* src/EditSource.py: use monitored widgets * src/EventEdit.py: use monitored widgets * src/GrampsWidgets.py: start of monitored place * src/GrampsDb/_GrampsDbBase.py: monitor place changes svn: r5975
This commit is contained in:
@@ -1991,6 +1991,28 @@ class DbState(GrampsDBCallback):
|
||||
self.db = GrampsDbBase()
|
||||
self.open = False
|
||||
self.active = None
|
||||
self.places = {}
|
||||
|
||||
def _place_rebuild(self):
|
||||
self.places.clear()
|
||||
cursor = self.db.get_place_cursor()
|
||||
data = cursor.next()
|
||||
while data:
|
||||
if data[1][2]:
|
||||
self.places[data[1][2]] = data[0]
|
||||
data = cursor.next()
|
||||
cursor.close()
|
||||
|
||||
def _place_add(self,handle):
|
||||
place = self.db.get_place_from_handle(handle)
|
||||
self.places[place.get_title()] = handle
|
||||
|
||||
def _place_update(self,handle):
|
||||
place = self.db.get_place_from_handle(handle)
|
||||
self.places[handle] = place.get_title()
|
||||
|
||||
def _place_delete(self,handle):
|
||||
del self.places[handle]
|
||||
|
||||
def change_active_person(self,person):
|
||||
self.active = person
|
||||
@@ -2009,6 +2031,10 @@ class DbState(GrampsDBCallback):
|
||||
def change_database(self,db):
|
||||
self.db.close()
|
||||
self.db = db
|
||||
self.db.connect('place-add',self._place_add)
|
||||
self.db.connect('place-update',self._place_update)
|
||||
self.db.connect('place-delete',self._place_delete)
|
||||
self.db.connect('place-rebuild',self._place_rebuild)
|
||||
self.active = None
|
||||
self.open = True
|
||||
self.emit('database-changed',(self.db,))
|
||||
|
||||
Reference in New Issue
Block a user