4198: Person view does not remove a row correctly when two people are merged.
svn: r16069
This commit is contained in:
parent
d69552e4c1
commit
afefbad431
@ -244,3 +244,4 @@ class MergeEventQuery(object):
|
|||||||
self.database.remove_event(old_handle, trans)
|
self.database.remove_event(old_handle, trans)
|
||||||
self.database.commit_event(self.phoenix, trans)
|
self.database.commit_event(self.phoenix, trans)
|
||||||
self.database.transaction_commit(trans, _("Merge Event Objects"))
|
self.database.transaction_commit(trans, _("Merge Event Objects"))
|
||||||
|
self.database.emit('event-rebuild')
|
||||||
|
@ -241,6 +241,7 @@ class MergeFamilies(ManagedWindow.ManagedWindow):
|
|||||||
# TODO: rollback
|
# TODO: rollback
|
||||||
else:
|
else:
|
||||||
database.transaction_commit(trans, _('Merge family'))
|
database.transaction_commit(trans, _('Merge family'))
|
||||||
|
self.database.emit('family-rebuild')
|
||||||
self.uistate.viewmanager.active_page.selection.unselect_path(
|
self.uistate.viewmanager.active_page.selection.unselect_path(
|
||||||
unselect_path)
|
unselect_path)
|
||||||
self.uistate.set_busy_cursor(False)
|
self.uistate.set_busy_cursor(False)
|
||||||
|
@ -213,3 +213,4 @@ class MergeMediaQuery(object):
|
|||||||
self.database.remove_object(old_handle, trans)
|
self.database.remove_object(old_handle, trans)
|
||||||
self.database.commit_media_object(self.phoenix, trans)
|
self.database.commit_media_object(self.phoenix, trans)
|
||||||
self.database.transaction_commit(trans, _("Merge Media Objects"))
|
self.database.transaction_commit(trans, _("Merge Media Objects"))
|
||||||
|
self.database.emit('media-rebuild')
|
||||||
|
@ -236,3 +236,4 @@ class MergeNoteQuery(object):
|
|||||||
self.database.remove_note(old_handle, trans)
|
self.database.remove_note(old_handle, trans)
|
||||||
self.database.commit_note(self.phoenix, trans)
|
self.database.commit_note(self.phoenix, trans)
|
||||||
self.database.transaction_commit(trans, _("Merge Notes"))
|
self.database.transaction_commit(trans, _("Merge Notes"))
|
||||||
|
self.database.emit('note-rebuild')
|
||||||
|
@ -448,3 +448,4 @@ class MergePersonQuery(object):
|
|||||||
self.database.commit_person(self.phoenix, trans)
|
self.database.commit_person(self.phoenix, trans)
|
||||||
if need_commit:
|
if need_commit:
|
||||||
self.database.transaction_commit(trans, _('Merge Person'))
|
self.database.transaction_commit(trans, _('Merge Person'))
|
||||||
|
self.database.emit('person-rebuild')
|
||||||
|
@ -229,3 +229,4 @@ class MergePlaceQuery(object):
|
|||||||
self.database.remove_place(old_handle, trans)
|
self.database.remove_place(old_handle, trans)
|
||||||
self.database.commit_place(self.phoenix, trans)
|
self.database.commit_place(self.phoenix, trans)
|
||||||
self.database.transaction_commit(trans, _("Merge Places"))
|
self.database.transaction_commit(trans, _("Merge Places"))
|
||||||
|
self.database.emit('place-rebuild')
|
||||||
|
@ -179,3 +179,4 @@ class MergeRepoQuery(object):
|
|||||||
self.database.remove_repository(old_handle, trans)
|
self.database.remove_repository(old_handle, trans)
|
||||||
self.database.commit_repository(self.phoenix, trans)
|
self.database.commit_repository(self.phoenix, trans)
|
||||||
self.database.transaction_commit(trans, _("Merge Repositories"))
|
self.database.transaction_commit(trans, _("Merge Repositories"))
|
||||||
|
self.database.emit('repository-rebuild')
|
||||||
|
@ -236,3 +236,4 @@ class MergeSourceQuery(object):
|
|||||||
self.database.remove_source(old_handle, trans)
|
self.database.remove_source(old_handle, trans)
|
||||||
self.database.commit_source(self.phoenix, trans)
|
self.database.commit_source(self.phoenix, trans)
|
||||||
self.database.transaction_commit(trans, _("Merge Sources"))
|
self.database.transaction_commit(trans, _("Merge Sources"))
|
||||||
|
self.database.emit('source-rebuild')
|
||||||
|
@ -735,8 +735,19 @@ class ListView(NavigationView):
|
|||||||
"""
|
"""
|
||||||
self.dirty = True
|
self.dirty = True
|
||||||
if self.active:
|
if self.active:
|
||||||
|
# Save the currently selected handles, if any:
|
||||||
|
selected_ids = self.selected_handles()
|
||||||
self.bookmarks.redraw()
|
self.bookmarks.redraw()
|
||||||
self.build_tree()
|
self.build_tree()
|
||||||
|
# Reselect one, if it still exists after rebuild:
|
||||||
|
nav_type = self.navigation_type()
|
||||||
|
lookup_handle = self.dbstate.db.get_table_metadata(nav_type)['handle_func']
|
||||||
|
for handle in selected_ids:
|
||||||
|
# Still exist?
|
||||||
|
if lookup_handle(handle):
|
||||||
|
# Select it, and stop selecting:
|
||||||
|
self.change_active(handle)
|
||||||
|
break
|
||||||
|
|
||||||
def _button_press(self, obj, event):
|
def _button_press(self, obj, event):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user