Re: [Sugar-devel] Free Scratch
On Tue, May 24, 2011 at 01:31:13AM -0400, Chris Leonard wrote: On Tue, May 24, 2011 at 12:55 AM, Kevin Mark kevin.m...@verizon.net wrote: I heard today that about a year ago, the license was changed to something that might make it non-free by some FLOSS definition. no derivatives? non-commerial use? no access to scratch community site for uploads? http://info.scratch.mit.edu/Terms_of_use All projects shared on the Scratch website, as well as the Scratch support materials, are shared under the Creative Commons license with the conditions: Attribution - Share Alike. The Scratch software is completely free of charge and its source code is available under the Scratch License. The software behind the Scratch website is under the General Public License version 2. http://info.scratch.mit.edu/Scratch_License http://info.scratch.mit.edu/Scratch_License/1.4License http://info.scratch.mit.edu/Source_Code That seems to be what they were referring to, the source code license, not the binary from MIT. -- | .''`. == Debian GNU/Linux ==.| http://kevix.myopenid.com..| | : :' : The Universal OS| mysite.verizon.net/kevin.mark/.| | `. `' http://www.debian.org/.| http://counter.li.org [#238656]| |___`-Unless I ask to be CCd,.assume I am subscribed._| The grass is always greener on the other side of your sunglasses. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [DESIGN] Re: [PATCH 3/3] better wording #1508 + pep8 fixes
On 05/21/2011 03:13 PM, Sascha Silbe wrote: Excerpts from Rafael Ortiz's message of Fri May 20 22:36:09 +0200 2011: This patch proposes a better wording for cancel/stop buttons while exiting browse activity plus pep8 fixes for downloadmanager.py Your patch doesn't apply to current mainline master (even with git am -3). However I've fixed everything complained about by the pep8 tool now, including the ones you fixed. As for the string changes, I'd like the Design Team to comment on that before pushing them to mainline. @Gary, Walter: Context is SL#1508 [1] confusing wording on download from Browse. Rafael proposes to change Cancel to Continue Download and Stop to Cancel Download. Please have in mind the additional space that is needed for this change. Especially in languages like Mongolian etc. Maybe we can as well come up with an icon and add secondary text that is more verbose. Regards, Simon ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH sugar] Fix invitations from a non sugar client (empathy), part of OLPC #10814
This does bring back the 'invitation from a non-sugar client' functionality based on the 0.84 code. I did remove the part where we claim to handle as well video invitations for now, as we can not handle them. Signed-off-by: Simon Schampijer si...@laptop.org --- src/jarabe/model/invites.py | 154 +++ src/jarabe/model/telepathyclient.py | 11 ++- 2 files changed, 111 insertions(+), 54 deletions(-) diff --git a/src/jarabe/model/invites.py b/src/jarabe/model/invites.py index d2a2e0c..100ec57 100644 --- a/src/jarabe/model/invites.py +++ b/src/jarabe/model/invites.py @@ -17,16 +17,15 @@ import logging from functools import partial +import simplejson import gobject import dbus +import gconf from telepathy.interfaces import CHANNEL, \ CHANNEL_DISPATCHER, \ CHANNEL_DISPATCH_OPERATION, \ CHANNEL_TYPE_CONTACT_LIST, \ - CHANNEL_TYPE_DBUS_TUBE, \ - CHANNEL_TYPE_STREAMED_MEDIA, \ - CHANNEL_TYPE_STREAM_TUBE, \ CHANNEL_TYPE_TEXT, \ CLIENT from telepathy.constants import HANDLE_TYPE_ROOM @@ -45,25 +44,51 @@ CONNECTION_INTERFACE_ACTIVITY_PROPERTIES = \ _instance = None -class ActivityInvite(object): -Invitation to a shared activity. -def __init__(self, dispatch_operation_path, handle, handler, - activity_properties): +class BaseInvite(object): +Invitation to shared activity or private 1-1 Telepathy channel +def __init__(self, dispatch_operation_path, handle, handler): self.dispatch_operation_path = dispatch_operation_path self._handle = handle self._handler = handler -if activity_properties is not None: -self._activity_properties = activity_properties -else: -self._activity_properties = {} - def get_bundle_id(self): if CLIENT in self._handler: return self._handler[len(CLIENT + '.'):] else: return None +def _call_handle_with(self): +bus = dbus.Bus() +obj = bus.get_object(CHANNEL_DISPATCHER, self.dispatch_operation_path) +dispatch_operation = dbus.Interface(obj, CHANNEL_DISPATCH_OPERATION) +dispatch_operation.HandleWith(self._handler, + reply_handler=self._handle_with_reply_cb, + error_handler=self._handle_with_reply_cb) + +def _handle_with_reply_cb(self, error=None): +if error is not None: +raise error +else: +logging.debug('_handle_with_reply_cb') + +def _name_owner_changed_cb(self, name, old_owner, new_owner): +logging.debug('BaseInvite._name_owner_changed_cb %r %r %r', name, + new_owner, old_owner) +if name == self._handler and new_owner and not old_owner: +self._call_handle_with() + + +class ActivityInvite(BaseInvite): +Invitation to a shared activity. +def __init__(self, dispatch_operation_path, handle, handler, + activity_properties): +BaseInvite.__init__(self, dispatch_operation_path, handle, handler) + +if activity_properties is not None: +self._activity_properties = activity_properties +else: +self._activity_properties = {} + def get_color(self): color = self._activity_properties.get('color', None) return XoColor(color) @@ -76,37 +101,47 @@ class ActivityInvite(object): bundle = registry.get_bundle(bundle_id) if bundle is None: self._call_handle_with() +return + +bus = dbus.SessionBus() +bus.add_signal_receiver(self._name_owner_changed_cb, +'NameOwnerChanged', +'org.freedesktop.DBus', +arg0=self._handler) + +model = neighborhood.get_model() +activity_id = model.get_activity_by_room(self._handle).activity_id +misc.launch(bundle, color=self.get_color(), invited=True, +activity_id=activity_id) + + +class PrivateInvite(BaseInvite): +def __init__(self, dispatch_operation_path, handle, handler, + private_channel): +BaseInvite.__init__(self, dispatch_operation_path, handle, handler) + +self._private_channel = private_channel + +def get_color(self): +client = gconf.client_get_default() +return XoColor(client.get_string('/desktop/sugar/user/color')) + +def join(self): +logging.error('PrivateInvite.join handler %r', self._handler) + +registry = bundleregistry.get_registry() +bundle_id = self.get_bundle_id() +bundle = registry.get_bundle(bundle_id) +if bundle is
[Sugar-devel] [PATCH sugar-toolkit] Fix invitations from a non sugar client (empathy), part of OLPC #10814
This differentiates between sugar and non sugar invitations using the handle type. For non-sugar invitations we use the activity id to determine which activity to join. Signed-off-by: Simon Schampijer si...@laptop.org --- src/sugar/activity/activity.py | 38 ++ 1 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py index 09ba3cc..b8603c5 100644 --- a/src/sugar/activity/activity.py +++ b/src/sugar/activity/activity.py @@ -280,6 +280,7 @@ class Activity(Window, gtk.Container): self._active = False self._activity_id = handle.activity_id self.shared_activity = None +self._client_handler = None self._join_id = None self._updating_jobject = False self._closing = False @@ -370,7 +371,9 @@ class Activity(Window, gtk.Container): # There's already an instance on the mesh, join it logging.debug('*** Act %s joining existing mesh instance %r', self._activity_id, mesh_instance) -self._client_handler = _ClientHandler(self.get_bundle_id(), None) +if self._client_handler is None: +self._client_handler = _ClientHandler(self.get_bundle_id(), + None) self.shared_activity = mesh_instance self.shared_activity.connect('notify::private', self.__privacy_changed_cb) @@ -392,17 +395,25 @@ class Activity(Window, gtk.Container): else: logging.debug('Unknown share scope %r', share_scope) -def __got_channel_cb(self, wait_loop, connection_path, channel_path): +def __got_channel_cb(self, wait_loop, connection_path, channel_path, + handle_type): logging.debug('Activity.__got_channel_cb') -connection_name = connection_path.replace('/', '.')[1:] - -bus = dbus.SessionBus() -channel = bus.get_object(connection_name, channel_path) -room_handle = channel.Get(CHANNEL, 'TargetHandle') pservice = presenceservice.get_instance() -mesh_instance = pservice.get_activity_by_handle(connection_path, -room_handle) + +if handle_type == CONNECTION_HANDLE_TYPE_ROOM: +connection_name = connection_path.replace('/', '.')[1:] + +bus = dbus.SessionBus() +channel = bus.get_object(connection_name, channel_path) +room_handle = channel.Get(CHANNEL, 'TargetHandle') + +mesh_instance = pservice.get_activity_by_handle(connection_path, +room_handle) +else: +mesh_instance = pservice.get_activity(self._activity_id, + warn_if_none=False) + self._set_up_sharing(mesh_instance, SCOPE_PRIVATE) wait_loop.quit() @@ -954,13 +965,16 @@ class _ClientHandler(dbus.service.Object, DBusProperties): logging.debug('HandleChannels\n\t%r\n\t%r\n\t%r\n\t%r\n\t%r\n\t%r', account, connection, channels, requests_satisfied, user_action_time, handler_info) + +if self._got_channel_cb is None: +return + try: for object_path, properties in channels: channel_type = properties[CHANNEL + '.ChannelType'] handle_type = properties[CHANNEL + '.TargetHandleType'] -if channel_type == CHANNEL_TYPE_TEXT and \ - handle_type == CONNECTION_HANDLE_TYPE_ROOM: -self._got_channel_cb(connection, object_path) +if channel_type == CHANNEL_TYPE_TEXT: +self._got_channel_cb(connection, object_path, handle_type) except Exception, e: logging.exception(e) -- 1.7.4 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [DESIGN] copy-to-option in Journal (part of removing the keep button)
On 05/20/2011 04:02 PM, Walter Bender wrote: On Fri, May 20, 2011 at 5:39 AM, Simon Schampijersi...@schampijer.dewrote: Hi, at the EduJam we discussed the need to remove the 'Keep'/'Keep as' button from the activity toolbar. Part of that removal is an option to easily copy a Journal entry / make a duplicate of a Journal entry. While preparing a patch for that I came over a few cleanups which I would like to share with the design team first before finishing up the patch and sending for review. Thanks for diving into this. I think it will make a huge difference, First I want to describe what the situation is now: [0] The copy option in the palette in the Journal list view will trigger a 'copy to clipboard'. [1] In the detail view of a Journal entry clicking on the button will do a 'copy to clipboard' and the secondary option in the palette will let you copy to a storage device if available. [2] The palette of an entry of a storage device lets you 'copy to clipboard'. [3] In the detail view of a storage device entry clicking on the button will do a 'copy to clipboard' and the secondary option in the palette will let you copy to the Journal. Following the design idea in http://wiki.sugarlabs.org/go/File:Journal-04.jpeg I think it would be great to introduce a copy-to option to make things clearer. [4] The copy option in the palette in the Journal list view will be called 'Copy to' and the secondary options will contain: 'Clipboard', 'Journal' and storage devices if available. +1 [5] In the detail view of a Journal entry the secondary option in the palette will let you copy to the Journal and to a storage device if available. The option will be renamed to 'Copy to'. Not part of the screenshot: I would add here as well the option for copying to the Clipboard (first) and when clicking on the button reveal the palette to show the options. +1 [6] The copy option in the palette in the storage view will be called 'Copy to' and the secondary options will contain: 'Clipboard' and 'Journal'. Not part of the screenshot: I guess we could add here as well the option of making a copy of the item and save it to the storage device(s) (would be consistent with the option in the Journal list view). +1 [7] In the detail view of a the storage device entry the secondary option in the palette will let you copy to the Journal. The option will be renamed to 'Copy to'. Not part of the screenshot: I would add here as well the option for copying to the Clipboard (first) and when clicking on the button reveal the palette to show the options. I guess we could add here as well the option of making a copy of the item and save it to the storage device(s) (would be consistent with the option in the Journal detail view). +1 Let me know if this makes sense, other ideas. The one thing I am confused about is what exactly gets copied. In the case of the Journal or the storage device, presumably the entire Journal entry, but also when copying to the clipboard? That is the current behavior, but I am not sure what it means to copy an activity itself to the clipboard as opposed to copying the activity data. Is there a common use-case? regards. -walter Thanks for that hint. At the moment the behavior is that you can copy any entry to the clipboard, but you can not open it then with any activity if you for example copy a Memorize activity entry to the clipboard. If there is an associated file (terminal activity entry) you can copy this to the clipboard and then open the textfile in another activity. I would suggest that we handle it like we do when we copy to an external device: if the entry has no file associated with it, display an error message and do not copy it (screenshot attached). Regards, Simon attachment: Pantallazo-Ventana sin título.png___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Free Scratch
On Tue, May 24, 2011 at 1:16 AM, Kevin Mark kevin.m...@verizon.net wrote: On Tue, May 24, 2011 at 01:31:13AM -0400, Chris Leonard wrote: On Tue, May 24, 2011 at 12:55 AM, Kevin Mark kevin.m...@verizon.net wrote: I heard today that about a year ago, the license was changed to something that might make it non-free by some FLOSS definition. no derivatives? non-commerial use? no access to scratch community site for uploads? http://info.scratch.mit.edu/Terms_of_use All projects shared on the Scratch website, as well as the Scratch support materials, are shared under the Creative Commons license with the conditions: Attribution - Share Alike. The Scratch software is completely free of charge and its source code is available under the Scratch License. The software behind the Scratch website is under the General Public License version 2. http://info.scratch.mit.edu/Scratch_License http://info.scratch.mit.edu/Scratch_License/1.4License http://info.scratch.mit.edu/Source_Code That seems to be what they were referring to, the source code license, not the binary from MIT. Err..This was meant to go locally (local labs address is very similar to sugar-devel), because I don't know yet exactly what plans Walter has for free scratch ;). but I guess it's o.k now that you translate it. -- | .''`. == Debian GNU/Linux ==.| http://kevix.myopenid.com..| | : :' : The Universal OS| mysite.verizon.net/kevin.mark/.| | `. `' http://www.debian.org/.| http://counter.li.org [#238656]| |___`-Unless I ask to be CCd,.assume I am subscribed._| The grass is always greener on the other side of your sunglasses. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Backwards compatibility for new activity versions
On 24 May 2011, at 03:07, Rafael Ortiz raf...@activitycentral.com wrote: On Mon, May 23, 2011 at 8:59 PM, Walter Bender walter.ben...@gmail.com wrote: On Mon, May 23, 2011 at 9:54 PM, Sridhar Dhanapalan srid...@laptop.org.au wrote: Sugar 0.86 introduced a change in the toolbar API. While beneficial overall, this change means that activities coded for the new API do not run on older versions of Sugar. Since most XOs out there use Sugar 0.84 or earlier, this poses a considerable problem. Is there a recommended path for developers to make their code work with both the old and the new toolbar API? I've had some developers approach me about coding for our XOs and I have to give them two options[0]: 1. code for newer versions of Sugar if they're happy with the code not running on our XOs for the next year (it'll take a while for our Dextrose-based release to actually be implemented in the field by teachers) 2. code for Sugar 0.84 , then consider updating the code later It would be nice if I could give them one clear answer that works regardless of the version of Sugar. 3. Code for both. It is little extra work. Right now we have about a 50-50 split in the community re old- vs new-style toolbars. It would be a shame to exclude 1 million kids, A simple activity that codes for both is Portfolio. (git.sugarlabs.org/portfolio). I also recommend to code for both, Gonzalo ,Sebastian and Walter have been coding to add backward compatibility for the most important activities, there are various examples you can look at. Among them stopwatch, distance and maze. +1 on coding support for both, some more examples are Moon, Calculate, Labyrinth. --Gary -walter Thanks, Sridhar [0] http://dev.laptop.org.au/projects/xo-au/wiki/Development Sridhar Dhanapalan Technical Manager One Laptop per Child Australia M: +61 425 239 701 E: srid...@laptop.org.au A: G.P.O. Box 731 Sydney, NSW 2001 W: www.laptop.org.au ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Sunrise and ByJove [Sugar-devel Digest, Vol 31, Issue 69]
Message: 8 Date: Mon, 23 May 2011 16:58:38 +1000 From: James Cameron qu...@laptop.org To: sugar-devel@lists.sugarlabs.org Subject: [Sugar-devel] Sunrise and ByJove Message-ID: 20110523065838.ga31...@us.netrek.org Content-Type: text/plain; charset=us-ascii We had listed on the old OLPC Wiki Activities page the Sunrise and Byjove activities by Davewa, but the page was recently marked obsolete in favour of activities.sugarlabs.org. Is there anyone who might be interested in taking these activities on and adding them to activities.sugarlabs.org? I was informed by Devewa that all his activities (Sunrise, ByJove, ConstellationsFlashCards and StarChart) are in http://www.wa1gsf.net/downloads/XO/ if needed. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [ASLO] Release FileMix-7
Activity Homepage: http://activities.sugarlabs.org/addon/4329 Sugar Platform: 0.82 - 0.92 Download Now: http://activities.sugarlabs.org/downloads/file/27381/filemix-7.xo Release notes: Version 7 - Record Activity compatibility updated again. Verified to work with 0.92. Sugar Labs Activities http://activities.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH] Fix to show the clock when the activity starts
--- clock.py |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/clock.py b/clock.py index a778efe..724ca10 100755 --- a/clock.py +++ b/clock.py @@ -363,6 +363,9 @@ class ClockFace(gtk.DrawingArea): super(ClockFace, self).__init__() +# Set to True when the variables to draw the clock are set: +self.initialized = False + # The time on the clock face self._time = datetime.now() self._old_minute = self._time.minute @@ -429,6 +432,7 @@ class ClockFace(gtk.DrawingArea): self._cache_pixbuf = gdk.pixbuf_new_from_file_at_size(clock.svg, 2 * self._radius, 2 * self._radius) gc.collect() # Reclaim memory from old pixbuf +self.initialized = True def _expose_cb(self, widget, event): The widget is exposed and must draw itself on the graphic context. @@ -436,6 +440,9 @@ class ClockFace(gtk.DrawingArea): automatically created to draw on it before the expose event is called and it prevents the screen from flickering. +if not self.initialized and self.window: +self.queue_resize() + if self._active: self._gc = self.window.new_gc() -- 1.7.4.4 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH] Fix to show the clock when the activity starts
Hi, this should fix the following bug in Clock Activity: http://dev.laptop.org/ticket/10853 Regards, El día 24 de mayo de 2011 19:13, Manuel Quiñones manuel.por@gmail.com escribió: -- .. manuq .. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [DESIGN] Re: [PATCH 3/3] better wording #1508 + pep8 fixes
On Tue, May 24, 2011 at 3:03 AM, Simon Schampijer si...@schampijer.dewrote: On 05/21/2011 03:13 PM, Sascha Silbe wrote: Excerpts from Rafael Ortiz's message of Fri May 20 22:36:09 +0200 2011: This patch proposes a better wording for cancel/stop buttons while exiting browse activity plus pep8 fixes for downloadmanager.py Your patch doesn't apply to current mainline master (even with git am -3). However I've fixed everything complained about by the pep8 tool now, including the ones you fixed. As for the string changes, I'd like the Design Team to comment on that before pushing them to mainline. @Gary, Walter: Context is SL#1508 [1] confusing wording on download from Browse. Rafael proposes to change Cancel to Continue Download and Stop to Cancel Download. Please have in mind the additional space that is needed for this change. Especially in languages like Mongolian etc. Maybe we can as well come up with an icon and add secondary text that is more verbose. As Sacha's fix [1] and Simon's comment http://git.sugarlabs.org/browse/mainline/commit/cc38d3bdc7f7f3ab4ed166166e0a8a71c2cbeaf0 A better wording would be *Download in progress* stopping now will cancel your download and quit the activity Continue Download | Stop and Quit. or Continue | Stop and Quit Regards, Simon ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [DESIGN] copy-to-option in Journal (part of removing the keep button)
I have now implemented everything like described below (4-7). The only thing I need is an icon for the clipboard option. Some icon ideas: the pin from the Physics activity, a paper clip (or is that too much Windows Word :). Patches, mockups...welcome! Go designers go! Regards, Simon On 05/20/2011 11:39 AM, Simon Schampijer wrote: Hi, at the EduJam we discussed the need to remove the 'Keep'/'Keep as' button from the activity toolbar. Part of that removal is an option to easily copy a Journal entry / make a duplicate of a Journal entry. While preparing a patch for that I came over a few cleanups which I would like to share with the design team first before finishing up the patch and sending for review. First I want to describe what the situation is now: [0] The copy option in the palette in the Journal list view will trigger a 'copy to clipboard'. [1] In the detail view of a Journal entry clicking on the button will do a 'copy to clipboard' and the secondary option in the palette will let you copy to a storage device if available. [2] The palette of an entry of a storage device lets you 'copy to clipboard'. [3] In the detail view of a storage device entry clicking on the button will do a 'copy to clipboard' and the secondary option in the palette will let you copy to the Journal. Following the design idea in http://wiki.sugarlabs.org/go/File:Journal-04.jpeg I think it would be great to introduce a copy-to option to make things clearer. [4] The copy option in the palette in the Journal list view will be called 'Copy to' and the secondary options will contain: 'Clipboard', 'Journal' and storage devices if available. [5] In the detail view of a Journal entry the secondary option in the palette will let you copy to the Journal and to a storage device if available. The option will be renamed to 'Copy to'. Not part of the screenshot: I would add here as well the option for copying to the Clipboard (first) and when clicking on the button reveal the palette to show the options. [6] The copy option in the palette in the storage view will be called 'Copy to' and the secondary options will contain: 'Clipboard' and 'Journal'. Not part of the screenshot: I guess we could add here as well the option of making a copy of the item and save it to the storage device(s) (would be consistent with the option in the Journal list view). [7] In the detail view of a the storage device entry the secondary option in the palette will let you copy to the Journal. The option will be renamed to 'Copy to'. Not part of the screenshot: I would add here as well the option for copying to the Clipboard (first) and when clicking on the button reveal the palette to show the options. I guess we could add here as well the option of making a copy of the item and save it to the storage device(s) (would be consistent with the option in the Journal detail view). Let me know if this makes sense, other ideas. Thanks, Simon [0] http://dev.laptop.org/~erikos/copy/0_copy-now.png [1] http://dev.laptop.org/~erikos/copy/1_copy-now-journal.png [2] http://dev.laptop.org/~erikos/copy/2_copy-now-usb.png [3] http://dev.laptop.org/~erikos/copy/3_copy-now-usb-detail.png [4] http://dev.laptop.org/~erikos/copy/4_copy-to.png [5] http://dev.laptop.org/~erikos/copy/5_copy-to-detail.png [6] http://dev.laptop.org/~erikos/copy/6_copy-to-usb.png [7] http://dev.laptop.org/~erikos/copy/7_copy_to_usb_detail.png ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH sugar] Add copy-to option in the Journal
This will be part of replacing the keep button. The discussion is taking place at: http://lists.sugarlabs.org/archive/sugar-devel/2011-May/031316.html There are mockups and the implementation details. Signed-off-by: Simon Schampijer si...@laptop.org --- src/jarabe/journal/journalactivity.py |1 + src/jarabe/journal/journaltoolbox.py | 86 +++--- src/jarabe/journal/listview.py| 13 +++ src/jarabe/journal/model.py |2 + src/jarabe/journal/palettes.py| 155 + 5 files changed, 185 insertions(+), 72 deletions(-) diff --git a/src/jarabe/journal/journalactivity.py b/src/jarabe/journal/journalactivity.py index a33038a..bb1c7f6 100644 --- a/src/jarabe/journal/journalactivity.py +++ b/src/jarabe/journal/journalactivity.py @@ -171,6 +171,7 @@ class JournalActivity(JournalWindow): self._list_view = ListView() self._list_view.connect('detail-clicked', self.__detail_clicked_cb) self._list_view.connect('clear-clicked', self.__clear_clicked_cb) +self._list_view.connect('volume-error', self.__volume_error_cb) self._main_view.pack_start(self._list_view) self._list_view.show() diff --git a/src/jarabe/journal/journaltoolbox.py b/src/jarabe/journal/journaltoolbox.py index d825bc9..18d8cdf 100644 --- a/src/jarabe/journal/journaltoolbox.py +++ b/src/jarabe/journal/journaltoolbox.py @@ -26,6 +26,7 @@ import gobject import gio import gtk +from sugar.graphics.palette import Palette from sugar.graphics.toolbox import Toolbox from sugar.graphics.toolcombobox import ToolComboBox from sugar.graphics.toolbutton import ToolButton @@ -37,11 +38,12 @@ from sugar.graphics.xocolor import XoColor from sugar.graphics import iconentry from sugar.graphics import style from sugar import mime -from sugar import profile from jarabe.model import bundleregistry from jarabe.journal import misc from jarabe.journal import model +from jarabe.journal.palettes import ClipboardMenu +from jarabe.journal.palettes import VolumeMenu _AUTOSEARCH_TIMEOUT = 1000 @@ -378,7 +380,7 @@ class EntryToolbar(gtk.Toolbar): self._copy.set_icon_widget(icon) icon.show() -self._copy.set_tooltip(_('Copy')) +self._copy.set_tooltip(_('Copy to')) self._copy.connect('clicked', self._copy_clicked_cb) self.add(self._copy) self._copy.show() @@ -402,19 +404,7 @@ class EntryToolbar(gtk.Toolbar): misc.resume(self._metadata) def _copy_clicked_cb(self, button): -clipboard = gtk.Clipboard() -clipboard.set_with_data([('text/uri-list', 0, 0)], -self.__clipboard_get_func_cb, -self.__clipboard_clear_func_cb) - -def __clipboard_get_func_cb(self, clipboard, selection_data, info, data): -# Get hold of a reference so the temp file doesn't get deleted -self._temp_file_path = model.get_file(self._metadata['uid']) -selection_data.set_uris(['file://' + self._temp_file_path]) - -def __clipboard_clear_func_cb(self, clipboard, data): -# Release and delete the temp file -self._temp_file_path = None +button.palette.popup(immediate=True, state=Palette.SECONDARY) def _erase_button_clicked_cb(self, button): registry = bundleregistry.get_registry() @@ -427,24 +417,6 @@ class EntryToolbar(gtk.Toolbar): def _resume_menu_item_activate_cb(self, menu_item, service_name): misc.resume(self._metadata, service_name) -def _copy_menu_item_activate_cb(self, menu_item, mount_point): -file_path = model.get_file(self._metadata['uid']) - -if not file_path or not os.path.exists(file_path): -logging.warn('Entries without a file cannot be copied.') -self.emit('volume-error', - _('Entries without a file cannot be copied.'), - _('Warning')) -return - -try: -model.copy(self._metadata, mount_point) -except IOError, e: -logging.exception('Error while copying the entry. %s', e.strerror) -self.emit('volume-error', - _('Error while copying the entry. %s') % e.strerror, - _('Error')) - def _refresh_copy_palette(self): palette = self._copy.get_palette() @@ -452,35 +424,43 @@ class EntryToolbar(gtk.Toolbar): palette.menu.remove(menu_item) menu_item.destroy() -if self._metadata['mountpoint'] != '/': -journal_item = MenuItem(_('Journal')) -journal_item.set_image(Icon( -icon_name='activity-journal', -xo_color=profile.get_color(), -icon_size=gtk.ICON_SIZE_MENU)) -journal_item.connect('activate', -self._copy_menu_item_activate_cb, '/') -journal_item.show() -
[Sugar-devel] Important_update_needed_for_liveusb-creator_in_f15_final_release
http://wiki.sugarlabs.org/go/Sugar_Creation_Kit#Important_update_needed_for_liveusb-creator_in_f15_final_release No Persistence unless update http://harald.fedorapeople.org/downloads/dracut/dracut-009-11.fc15/dracut-009-11.fc15.noarch.rpm This does not seem to have made the f15 release... Tom Gilliard satellit ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] Latest Audio Tests with Record Activity
I've just completed exhaustive tests for audio recording (ogg/vorbis) using the Record activity with various incarnations of Sugar. Happily, there are many more compatibilities that I've observed before. FWIW, these are the results: SoaS Strawberry (0.84): Record v64 only (and the quality is only fair; there is some breakup). This is currently the weak link in the chain; it's too bad this SoaS Strawberry isn't compatible with Record v86 (see immediately below). XO-1 and XO-1.5, the former upgraded to 0.84: Record v86 (excellent). Blueberry, Mirabelle, Mango lassi, and both XO-1 and XO-1.5 when upgraded to Fedora 15 (0.92): Record v90 and 91 (excellent). Incidentally, all my SoaS tests were carried out via USB sticks made by Live USB Creator v3.10. It's able successfully to create SoaS thumb drives *that boot* from Strawberry up through the latest nightly Fedora 15 builds (a really handy utility). Art Hunkins ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [DESIGN] meeting next Sunday, 29 May?
How about we try for Sunday at 16:00 UTC (9am PT/12pm ET)? Christian On Sun, May 22, 2011 at 11:46 AM, Walter Bender walter.ben...@gmail.comwrote: We are overdue for another design meeting. Does next Sunday work? Gary and Christian, since you two are at the extremes of timezones, do you want to propose a meeting time? Sascha would like to discuss some UI changes to the Neighborhood View to address some issues concerning access points (The current model (1:1 AP-network mapping) isn't powerful enough for real-life scenarios (hidden SSIDs etc.).) -walter -- Walter Bender Sugar Labs http://www.sugarlabs.org -- anyth...@christianmarcschmidt.com 917/ 575 0013 http://www.christianmarcschmidt.com http://www.facebook.com/christianmarcschmidt http://www.linkedin.com/in/christianmarcschmidt http://twitter.com/cms_ Skype: christianmarcschmidt ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [ASLO] Release OOo4Kids-2
On 21 May 2011 06:43, Sugar Labs Activities activit...@sugarlabs.org wrote: Activity Homepage: http://activities.sugarlabs.org/addon/4241 Sugar Platform: 0.82 - 0.92 Download Now: http://activities.sugarlabs.org/downloads/file/27352/ooo4kids-2.xo Release notes: See http://wiki.ooo4kids.org/index.php/User:Eric_Bachard/Communique_OOo4Kids1.2 This is looking really good! The limiting factor is journal support. Are there plans to support the journal in this activity? Thanks, Sridhar ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel