Implement Activity.can_close(), #5493
This commit is contained in:
parent
6c5025bd74
commit
802267cd21
@ -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()
|
||||||
|
Loading…
Reference in New Issue
Block a user