Devs,
The previous patches were incomplete, as they only screenshot saving via
the close and keep click callbacks. If the user initated a close or
save via the keyboard, the screenshots would not be saved. The attached
patches should resolve this issue. The modified patch is to activity.py
in sugar-toolkit.
Erik
diff --git a/src/view/Shell.py b/src/view/Shell.py
index a53ee93..b6ffbfe 100644
--- a/src/view/Shell.py
+++ b/src/view/Shell.py
@@ -190,8 +190,6 @@ class Shell(gobject.GObject):
if level == self._model.get_zoom_level():
return
- self.take_activity_screenshot()
-
if level == shellmodel.ShellModel.ZOOM_ACTIVITY:
host = self.get_current_activity()
if host is not None:
@@ -208,7 +206,6 @@ class Shell(gobject.GObject):
home_model = self._model.get_home()
previous_activity = home_model.get_previous_activity()
if previous_activity:
- self.take_activity_screenshot()
previous_activity.get_window().activate(
gtk.get_current_event_time())
@@ -216,7 +213,6 @@ class Shell(gobject.GObject):
home_model = self._model.get_home()
next_activity = home_model.get_next_activity()
if next_activity:
- self.take_activity_screenshot()
next_activity.get_window().activate(gtk.get_current_event_time())
def close_current_activity(self):
@@ -228,7 +224,6 @@ class Shell(gobject.GObject):
if active_activity.is_journal():
return
- self.take_activity_screenshot()
self.get_current_activity().close()
def get_current_activity(self):
diff --git a/src/view/frame/frame.py b/src/view/frame/frame.py
index 6009e7f..c3f0de9 100644
--- a/src/view/frame/frame.py
+++ b/src/view/frame/frame.py
@@ -146,8 +146,6 @@ class Frame(object):
if self._animator:
self._animator.stop()
- view.Shell.get_instance().take_activity_screenshot()
-
self.mode = mode
self._animator = animator.Animator(0.5)
diff --git a/src/view/tabbinghandler.py b/src/view/tabbinghandler.py
index 03ce275..e3153b0 100644
--- a/src/view/tabbinghandler.py
+++ b/src/view/tabbinghandler.py
@@ -58,7 +58,6 @@ class TabbingHandler(object):
self._tabbing = False
else:
shell = view.Shell.get_instance()
- shell.take_activity_screenshot()
self._frame.show(self._frame.MODE_NON_INTERACTIVE)
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py
index 73eeea7..0746135 100644
--- a/src/sugar/activity/activity.py
+++ b/src/sugar/activity/activity.py
@@ -174,7 +174,6 @@ class ActivityToolbar(gtk.Toolbar):
self._activity.copy()
def __stop_clicked_cb(self, button):
- self._activity.take_screenshot()
self._activity.close()
def __jobject_updated_cb(self, jobject):
@@ -812,6 +811,7 @@ class Activity(Window, gtk.Container):
Activities should not override this method. Instead, like save() do any
copy work that needs to be done in write_file()
"""
+ self._activity.take_screenshot()
logging.debug('Activity.copy: %r' % self._jobject.object_id)
self.save()
self._jobject.object_id = None
@@ -969,6 +969,8 @@ class Activity(Window, gtk.Container):
to control wether it can close, it should override can_close().
"""
+ self._activity.take_screenshot()
+
if not self.can_close():
return
_______________________________________________
Sugar mailing list
[email protected]
http://lists.laptop.org/listinfo/sugar