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