Implement Activity.can_close(), #5493

This commit is contained in:
Reinier Heeres 2008-01-10 17:55:57 +01:00
parent 6c5025bd74
commit 802267cd21

View File

@ -838,12 +838,24 @@ class Activity(Window, gtk.Container):
if response_id == gtk.RESPONSE_OK: if response_id == gtk.RESPONSE_OK:
self.close(skip_save=True) self.close(skip_save=True)
def close(self, skip_save=False): def can_close(self):
"""Activities should override this function if they want to perform
extra checks before actually closing."""
return True
def close(self, force=False, skip_save=False):
"""Request that the activity be stopped and saved to the Journal """Request that the activity be stopped and saved to the Journal
Activities should not override this method, but should implement write_file() to Activities should not override this method, but should implement write_file() to
do any state saving instead. do any state saving instead. If the application wants to control wether it can
close, it should override can_close().
""" """
if not force:
if not self.can_close():
return
try: try:
if not skip_save: if not skip_save:
self.save() self.save()