* src/GrampsDb/_GrampsDbBase.py: add note_bookmarks.
	* src/DataViews/_NoteView.py: 'add' and 'remove' functionalities added.
	* src/Editors/_EditNote.py: DeleteNoteQuery added.
	* src/DisplayTabs/_NoteModel.pya: unnecessary delete_tags call removed.
	* src/Utils.py: get_referents() and get_note_referents added();
	get_source_referents() and get_media_referents() rewritten.



svn: r8326
This commit is contained in:
Zsolt Foldvari
2007-03-27 18:28:26 +00:00
parent 2151ad9780
commit cbd230e24b
6 changed files with 141 additions and 105 deletions

View File

@@ -247,3 +247,59 @@ class EditNote(EditPrimary):
Config.set(Config.NOTE_WIDTH, width)
Config.set(Config.NOTE_HEIGHT, height)
Config.sync()
class DeleteNoteQuery:
def __init__(self, dbstate, uistate, note, the_lists):
self.note = note
self.db = dbstate.db
self.uistate = uistate
self.the_lists = the_lists
def query_response(self):
trans = self.db.transaction_begin()
self.db.disable_signals()
(person_list, family_list, event_list, place_list, source_list,
media_list, repo_list) = self.the_lists
note_handle = self.note.get_handle()
for handle in person_list:
person = self.db.get_person_from_handle(handle)
person.remove_note(note_handle)
self.db.commit_person(person,trans)
for handle in family_list:
family = self.db.get_family_from_handle(handle)
family.remove_note(note_handle)
self.db.commit_family(family,trans)
for handle in event_list:
event = self.db.get_event_from_handle(handle)
event.remove_note(note_handle)
self.db.commit_event(event,trans)
for handle in place_list:
place = self.db.get_place_from_handle(handle)
place.remove_note(note_handle)
self.db.commit_place(place,trans)
for handle in source_list:
source = self.db.get_source_from_handle(handle)
source.remove_note(note_handle)
self.db.commit_source(source,trans)
for handle in media_list:
media = self.db.get_object_from_handle(handle)
media.remove_note(note_handle)
self.db.commit_media_object(media,trans)
for handle in repo_list:
repo = self.db.get_repository_from_handle(handle)
repo.remove_note(note_handle)
self.db.commit_repository(repo,trans)
self.db.enable_signals()
self.db.remove_note(note_handle, trans)
self.db.transaction_commit(
trans,_("Delete Source (%s)") % self.note.get_gramps_id())