I have revised and tested the patches.  The effects are as follows:

On Fri, Sep 05, 2008 at 01:31:54AM -0300, Erik Garrison wrote:
>   before, screenshots taken on these events:
>     - frame visibility
>     - tabbing start
>     - activity next tab
>     - activity previous tab
>     - zoom into activity view
>     - activity close (twice)
> 
>   after, screenshots taken on these events:
>     - activity close (once)
>     - activity keep / save

I dropped the screenshot acquisition code into Activity.copy() and
Activity.close() so that both user-initated 'keep' (==copy) and 'close'
events (both keyboard initiated and frame-click initiated) will take
screenshots for use in the journal.

The patches are attached to this email.  Should I make a new track
ticket for this issue to log the introduction?

Any objections or thoughts?

Erik
diff --git a/src/view/Shell.py b/src/view/Shell.py
index bfaa72e..30ccd5c 100644
--- a/src/view/Shell.py
+++ b/src/view/Shell.py
@@ -191,8 +191,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:
@@ -209,7 +207,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())
 
@@ -217,7 +214,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):
@@ -229,7 +225,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 f34553d..dcfeb1f 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):
@@ -813,6 +812,7 @@ class Activity(Window, gtk.Container):
         copy work that needs to be done in write_file()
         """
         logging.debug('Activity.copy: %r' % self._jobject.object_id)
+        self.take_screenshot()
         self.save()
         self._jobject.object_id = None
 
@@ -968,6 +968,7 @@ class Activity(Window, gtk.Container):
         write_file() to do any state saving instead. If the application wants
         to control wether it can close, it should override can_close().
         """
+        self.take_screenshot()
 
         if not self.can_close():
             return
_______________________________________________
Sugar mailing list
[email protected]
http://lists.laptop.org/listinfo/sugar

Reply via email to