Re: [Sugar-devel] Free Scratch

2011-05-24 Thread Kevin Mark
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

2011-05-24 Thread Simon Schampijer

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

2011-05-24 Thread Simon Schampijer
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

2011-05-24 Thread Simon Schampijer
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)

2011-05-24 Thread Simon Schampijer

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

2011-05-24 Thread Rafael Ortiz
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

2011-05-24 Thread Gary Martin
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]

2011-05-24 Thread Yioryos Asprobounitis


 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

2011-05-24 Thread Sugar Labs Activities
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

2011-05-24 Thread Manuel Quiñones
---
 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

2011-05-24 Thread manuel quiñones
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

2011-05-24 Thread Rafael Ortiz
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)

2011-05-24 Thread Simon Schampijer
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

2011-05-24 Thread Simon Schampijer
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

2011-05-24 Thread Thomas C Gilliard

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

2011-05-24 Thread Art Hunkins
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?

2011-05-24 Thread Christian Marc Schmidt
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

2011-05-24 Thread Sridhar Dhanapalan
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