From 8fca6769f9e92103efd9359db700cdff22a48aac Mon Sep 17 00:00:00 2001 From: Doug Blank Date: Wed, 26 Dec 2007 15:48:51 +0000 Subject: [PATCH] 2007-12-26 Douglas S. Blank * src/ViewManager.py: added __delete_pages called on quit * src/PageView.py: added on_delete method called on quit svn: r9588 --- ChangeLog | 4 ++++ src/PageView.py | 7 +++++++ src/ViewManager.py | 10 ++++++++++ 3 files changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0e36a5c04..12f61abda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-12-26 Douglas S. Blank + * src/ViewManager.py: added __delete_pages called on quit + * src/PageView.py: added on_delete method called on quit + 2007-12-24 Brian Matherly * src/const.py.in: Move the entire Gramps dir under "Application Data" in Windows. diff --git a/src/PageView.py b/src/PageView.py index 189f5c590..7c1496932 100644 --- a/src/PageView.py +++ b/src/PageView.py @@ -293,6 +293,13 @@ class PageView: else: return None + def on_delete(self): + """ + Method called on shutdown. Data views should put code here + that should be called when quiting the main application. + """ + pass + class BookMarkView(PageView): def __init__(self, title, state, uistate, bookmarks, bm_type): diff --git a/src/ViewManager.py b/src/ViewManager.py index 6c9f5d149..c5abab75c 100644 --- a/src/ViewManager.py +++ b/src/ViewManager.py @@ -626,6 +626,9 @@ class ViewManager: self.__backup() self.state.db.close() + # have each page save anything, if they need to: + self.__delete_pages() + # save the current window size (width, height) = self.window.get_size() Config.set(Config.WIDTH, width) @@ -794,6 +797,13 @@ class ViewManager: else: self.tips.enable() + def __delete_pages(self): + """ + Calls on_delete() for each view + """ + for page in self.pages: + page.on_delete() + def __create_pages(self): """ Creates the Views