Commit Graph

1113 Commits

Author SHA1 Message Date
Simon Schampijer
a8342ecf8c Finally remove the keep button completely
see 0082e10f8e for
the complete reasoning.

e022aa8e4a already made the button
invisible, keeping it only for backwards compatibility.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-By: Sascha Silbe <silbe@activitycentral.com>
Acked-by: Daniel Drake <dsd@laptop.org>
2012-01-24 12:20:52 +01:00
Gonzalo Odiard
24af358275 Set the sugar theme name in gsettings according the scale
We need set the theme in gsettings according the scale in
the SUGAR_SCLING environment variable.

Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-12-20 19:19:26 +01:00
Daniel Drake
48ad255a78 Reimplement Palettes for GTK3
Moving from GTK2 to GTK3 has presented various challenges regarding
palettes.

In GTK2, we were able to access some internal API of the GtkMenu class
and use it to embed a GtkMenu in a regular window. As of GTK3, that API
has become private and we can no longer access it.

We still want to use GtkMenu for the advanced functionality it provides
(multiple-level menus, keyboard navigation, etc), but we are now limited
to popping it up with its own (internal) window, rather than being able
to pack it into one of our own.

Our palettes can historically be used either as a menu, or as a general
area where widgets can be added, or both. The new restrictions upon
GtkMenu force some changes here, but we work hard to stick to the old
API as far as possible.

A Palette instance now acts as a controller of either a "window widget"
(where any type of widget can be displayed as usual) or a "menu widget"
which just pops up a GtkMenu. A Palette defaults to the window mode, but
dynamically switches to menu mode if/when the user attempts to access
the menu element.

As a result of this, palettes can now pack either a user-defined collection
of widgets, or a menu, but types can no longer be mixed. This should
only affect a handful of palettes which will need to pick a single
approach and convert to it.

Some further challenges are presented by the fact that GtkMenu performs a
grab on the whole screen, meaning that all input events are delivered to
the GtkMenu widget. Through some careful event filtering and examination
of the mouse cursor position we are still able to determine when the mouse
has entered or left the invoker or menu areas.

This work is authored by Benjamin Berg, Marco Pesenti Gritti, Simon
Schampijer and Daniel Drake.
2011-12-20 19:19:16 +01:00
Daniel Drake
8126575461 SugarExt: make SugarGrid introspectable
This will be used by a future GTK3 port of the shell.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-12-20 19:00:22 +01:00
Daniel Drake
15946211cf Trivial GTK3 porting fixes
Fix some trivial issues missed earlier: various missing imports,
some minor API changes to adapt to, do_size_request simple porting,
etc.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-12-20 19:00:17 +01:00
Daniel Drake
827ab7218a Add EventIcon/CursorInvoker similar to CanvasIcon/CanvasInvoker
CanvasIcon and CanvasInvoker were removed in a previous GTK3-porting commit
as they were based on hippocanvas.

However, this leaves the toolkit with some missing functionality:
there is no longer a trivial way to show an icon which can receive mouse
events and pop up a palette. Such functionality is used in various
places throughout the shell and activities.

Reimplement this functionality as EventIcon and CursorInvoker.
Instead of reimplementing much of the Icon class (like CanvasIcon did),
EventIcon opts for a more simplistic encapsulation of an Icon object.
This means trivial API changes for CanvasIcon users who must now
use the 'icon' property with the Icon API.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-12-20 18:35:25 +01:00
Daniel Drake
5ad2fc7d6b SugarExt: drop pygobject2 initialisation
Now that we avoid linking with pygtk2/pygobject2, we need to remove
this initialisation call so that the module can be loaded at runtime.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-12-20 18:31:28 +01:00
Daniel Drake
3962517a58 activity.py: Apply sugar GTK3 theme and icon theme
In GTK2, theme name and icon theme name properties could be set in the
GTK2 RC file, at runtime, or by the X settings daemon.

For GTK3, the RC file configuration route for these settings has been
removed. As we do not currently have a settings daemon implementation,
apply these important settings at runtime, early in the Activity
class.

Signed-off-by: Daniel Drake <dsd@laptop.org>
2011-12-13 17:38:52 -03:00
Daniel Drake
64cceeada9 SugarExt: fix compile without pygtk
We no longer compile this against pygtk, so remove the include.
Add the now-required Python.h include in its place.
2011-12-13 17:35:33 -03:00
Daniel Drake
4e137f6e4f sugar-activity: import and make independent of sugar-toolkit GTK versions
As we move to adding support for a second UI toolkit (GTK+ 3.x),
the sugar-activity binary used by all activities must become
backend-toolkit-independent. It would be wasteful to have two backend
toolkits loaded in memory, and in the GTK2/GTK3 case, it is impossible
(importing both results in an instant crash).

To achieve this, we split the existing sugar-toolkit activity/main.py:main()
functionality into two parts, moving it into the sugar-activity binary and
the Activity class as follows:
 1. All toolkit-specific stuff is moved into the Activity class (i.e.
   everything that interacts with GTK)
 2. Everything that can be reasonably/easily moved into the Activity class
   is also moved.
 3. What remains is the stuff that is inherently involved with the
   construction of the Activity object, not related to UI toolkits. This
   is moved into the sugar-activity binary.

main.py is then removed from sugar-toolkit, and sugar-activity is moved
from sugar to sugar-toolkit-gtk3 in order to keep toolkit-related code
with the toolkit itself.

With this work done, the one remaining question is how to invoke the main
loop. An optional run_main_loop() method is added to the activity class,
for GTK2 this will run the GTK2 main loop, for GTK3 the GTK3 main loop will
be run, etc.

Signed-off-by: Daniel Drake <dsd@laptop.org>
2011-12-13 17:35:30 -03:00
Raul Gutierrez Segales
2bfb38ef82 Port key handling code to GTK3
GTK3 removed some previously-deprecated API that we still use. This
includes GDK_DISPLAY(), gdk_x11_drawable_get_xdisplay(), and some
key constants.

Port our code to the new API.

[split patch into several parts, added minimal description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Daniel Drake
e2c07af748 Import sugar-base into sugar-toolkit
Probably needs cleaning up a bit. And we use pygtk-codegen, ugh...

This is the commit id when we imported sugar-base:
b9406e5c9c9df5404c5b0d995178b5edb4d93628

Signed-off-by: Daniel Drake <dsd@laptop.org>
[squashed two patches into one]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Raul Gutierrez Segales
82fcf0a0f0 Use rsvg wrapper while rsvg gains introspection support
Signed-off-by: Raul Gutierrez Segales <rgs@collabora.co.uk>
2011-12-13 17:19:53 -03:00
Raul Gutierrez Segales
3372317922 Add wrapper for rsvg
Signed-off-by: Raul Gutierrez Segales <rgs@collabora.co.uk>
[split patch into several parts]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Raul Gutierrez Segales
1005c67ad2 Add GdkWrapper to access non-introspectable Gdk API
See https://bugzilla.gnome.org/show_bug.cgi?id=663261

Signed-off-by: Raul Gutierrez Segales <rgs@collabora.co.uk>
2011-12-13 17:19:53 -03:00
Simon Schampijer
09b3740768 _TimeoutIcon: use markup instead of Pango for bold text
In Pango 'Pango.attr_weight_new' is not yet introspectable [1].

[1] https://bugzilla.gnome.org/show_bug.cgi?id=646788

Signed-off-by: Simon Schampijer <simon@schampijer.de>
[changed description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Simon Schampijer
1b9af6f6d5 Replace "expose-event" signal by a new "draw" signal
GtkWidget "expose-event" signal has been replaced by
a new "draw" signal [1]. The context is already
clipped [2], so do not base it on the values returned by
get_allocation like before.

[1] http://developer.gnome.org/gtk3/3.0/ch25s02.html#id1467092
[2] http://developer.gnome.org/gtk3/3.0/GtkWidget.html#GtkWidget-draw

Signed-off-by: Simon Schampijer <simon@schampijer.de>
[squashed with a patch by Benjamin Berg <benjamin@sipsolutions.net>;
 removed useless additions]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Daniel Drake
157124af5b Tray: replace deprecated get_child_requisition() invocation
Widget.get_child_requisition() has been replaced by
Widget.get_preferred_size() in GTK 3 [1].

[1] http://developer.gnome.org/gtk3/3.0/GtkWidget.html#gtk-widget-get-child-requisition

Signed-off-by: Daniel Drake <dsd@laptop.org>
[changed description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Raul Gutierrez Segales
7464997663 Replace deprecated gdk_set_sm_client_id() invocation
gdk_set_sm_client_id() has been replaced by
gdk_x11_set_sm_client_id() [1] since GDK 2.24.

[1] http://developer.gnome.org/gdk/stable/gdk-General.html#gdk-set-sm-client-id

Signed-off-by: Raul Gutierrez Segales <rgs@collabora.co.uk>
[changed description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Simon Schampijer
20319cb3c4 Use GObject constructor for Gtk.Alignment
With PyGTK, all parameters of the Alignment constructor had defaults [1].
With GTK3+pygi, when using the explicit constructor (Alignment.new() resp.
gtk_alignment_new() [2]), all values would need to be passed. However when
using the GObject constructor, named properties can be passed in instead and
we only need to pass those that different from the default.

[1] http://developer.gnome.org/pygtk/stable/class-gtkalignment.html#constructor-gtkalignment
[2] http://developer.gnome.org/gtk/stable/GtkAlignment.html#gtk-alignment-new

Signed-off-by: Simon Schampijer <simon@schampijer.de>
[assembled from several patches; replaced description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Sascha Silbe
c82a775267 Use accessor functions for data fields
The following data fields that were provided by PyGTK are not accessible
directly in GTK3+pygi and need to be replaced by accessor calls:

Adjustment.lower
Adjustment.page_size
Adjustment.upper
Adjustment.value
Bin.child
Widget.parent
Widget.style
Widget.window

Based on patches by Daniel Drake <dsd@laptop.org>.

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:53 -03:00
Daniel Drake
4aacaaf56e icon: fix set_source_pixbuf() invocations
The previous set_source_pixbuf() invocation (on a Cairo context) involves
Gdk data types, so in the new introspection world we need to call a Gdk
function rather than operating on the Cairo object (even if Cairo had already
been converted to introspection).

Signed-off-by: Daniel Drake <dsd@laptop.org>
[added description; split out from another patch]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Benjamin Berg
e05f84bc4f Icon: port to new Height-for-width Geometry Management
GTK3 has replaced [1] the GTK2 geometry management with Height-for-width
Geometry Management [2]. This means we need to replace size_request() methods
with get_preferred_{width,height}().

[1] http://developer.gnome.org/gtk3/3.0/ch25s02.html#id1525688
[2] http://developer.gnome.org/gtk3/3.0/GtkWidget.html#geometry-management

Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>
[assembled from several patches; fixed up left-over plus sign; added
description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Sascha Silbe
327ca88ca8 Adapt to Widget.get_child_requisition() API changes
In PyGTK Widget.get_child_requisition() returned a tuple [1]. In GTK3+pygi
a Requisition object is returned instead.

Based on a patch by Benjamin Berg <benjamin@sipsolutions.net>.

[1] http://developer.gnome.org/pygtk/stable/class-gtkwidget.html#method-gtkwidget--get-child-requisition
[2] http://developer.gnome.org/gtk/stable/GtkWidget.html#gtk-widget-get-child-requisition

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
0d827e7e66 Adapt to Gtk.icon_size_lookup*() API changes
In PyGTK, icon_size_lookup*() returned just the icon size as a 2-tuple [1].
In GTK3+pygi, an additional boolean value indicating whether the passed-in
value was valid is returned. [3,4]

[1] http://developer.gnome.org/pygtk/stable/class-gtkiconsource.html#function-gtk--icon-size-lookup
[2] http://developer.gnome.org/pygtk/stable/class-gtkiconsource.html#function-gtk--icon-size-lookup-for-settings
[3] http://developer.gnome.org/gtk/stable/gtk-Themeable-Stock-Images.html#gtk-icon-size-lookup
[4] http://developer.gnome.org/gtk/stable/gtk-Themeable-Stock-Images.html#gtk-icon-size-lookup-for-settings

Signed-off-by: Simon Schampijer <simon@schampijer.de>
[marked unused local variables, fixed overlong line]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
8efb7c3f93 Adapt to changed Gtk.Window.set_geometry_hints() API
Unlike PyGTK [1], GTK3+pygi [2] wants GDK Geometry and WindowHints objects,
rather than individual values.

[1] http://developer.gnome.org/pygtk/stable/class-gtkwindow.html#method-gtkwindow--set-geometry-hints
[2] http://developer.gnome.org/gtk3/3.0/GtkWindow.html#gtk-window-set-geometry-hints

Signed-off-by: Simon Schampijer <simon@schampijer.de>
[replaced description, included fix-up commit]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
10d7f7d3f9 Switch sugarext to be an introspectable library
This makes sugarext accessible through introspection. It is used
from the shell (key grabber, sound volume management) and the
shell session management.

Making the sugarext introspectable was done following the
descriptions at: http://live.gnome.org/GObjectIntrospection#Using_GI

Signed-off-by: Simon Schampijer <simon@schampijer.de>
2011-12-13 17:19:52 -03:00
Sascha Silbe
820efa56b9 Run pygi-convert.sh for automatic conversion from GTK2 to GTK3 + pygi.
This is only on a best-effort basis; the code will be in a broken state after
this patch and need to be fixed manually.

The purpose of committing the intermediate, non-working output is to make it
reproducible. It's impractical to manually review the changes.

The exact version used was 4f637212f13b197a95c824967a58496b9e3b877c from the
main pygobject repository [1] plus a custom patch [2] that hasn't been sent
upstream yet.

[1] git://git.gnome.org/pygobject
[2] https://sascha.silbe.org/patches/pygobject-convert-sugar-20111122.patch

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Sascha Silbe
aed295ec4e Import GDK in preparation for GTK3 conversion
Some parts of GTK moved to GDK, so we need to import the latter for things to
work after the conversion script runs.

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
9cb18cdcf3 Remove Canvas* widgets and other hippo-canvas using parts
hippo-canvas isn't available in the GTK3 world, so we need to remove
anything that depends on it. Activities that still use it will need replace
hippo-canvas based widgets with native GTK ones before they can be ported to
GTK3.

[replaced description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
1edc6ca1b1 Don't use hippo-canvas for rendering pixbufs
hippo-canvas isn't available in the GTK3 world and we can do fine without it
for rendering pixbufs.

[split out from another patch; added description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
af4bde1e83 Notebook: fix passing can-close-tabs
Make sure can_close_tabs can be passed in as a keyword parameter (to be set
by the GObject constructor).

[split out from another patch]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
9e4a3688fe Pass all parameters to GtkTextBuffer.get_text()
With PyGTK the include_hidden_chars parameter to GtkTextBuffer.get_text() had
a default value [1]. With GTK3+pygi the value must be explicitly passed [2].

[1] http://developer.gnome.org/pygtk/stable/class-gtktextbuffer.html#method-gtktextbuffer--get-text
[2] http://developer.gnome.org/gtk3/3.0/GtkTextBuffer.html#gtk-text-buffer-get-text

[changed description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
056bc29559 Pass all parameters to ComboBox.set_row_separator_func()
With PyGTK, the func and data parameters to ComboBox.set_row_separator_func()
had defaults [1]. With GTK3+pygi both values must be passed [2].

[1] http://developer.gnome.org/pygtk/stable/class-gtkcombobox.html#method-gtkcombobox--set-row-separator-func
[2] http://developer.gnome.org/gtk/stable/GtkComboBox.html#gtk-combo-box-set-row-separator-func

[replaced description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Daniel Drake
2f7f95f9af Pass all parameters to Box.pack_start() and ...pack_end()
With PyGTK, several Box.pack_{start,end}() parameters had defaults [1,2].
With GTK3+pygi all values must be passed [3,4].

[1] http://developer.gnome.org/pygtk/stable/class-gtkbox.html#method-gtkbox--pack-start
[2] http://developer.gnome.org/pygtk/stable/class-gtkbox.html#method-gtkbox--pack-end
[3] http://developer.gnome.org/gtk/stable/GtkBox.html#gtk-box-pack-start
[4] http://developer.gnome.org/gtk/stable/GtkBox.html#gtk-box-pack-end

[assembled from several patches; replaced description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-12-13 17:19:52 -03:00
Simon Schampijer
89ef6304a1 Fix broken imports
8f1a821d68 only changed imports starting with
"import", but not those using "from ... import ...".

[replaced description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-11-15 17:51:23 +01:00
Simon Schampijer
8f1a821d68 Rename imports from sugar to sugar3
Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-by: Sascha Silbe <silbe@activitycentral.com>
2011-11-14 19:17:32 +01:00
Simon Schampijer
000ed75cbe Rename the module to sugar3
The old gtk-2 based module will be present in
the 0.94 branch in the sugar-toolkit.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-by: Sascha Silbe <silbe@activitycentral.com>
2011-11-14 18:17:18 +01:00
Simon Schampijer
37568a0a7e bundlebuilder: refactor get_files_git to Packager to avoid code duplication
Follow up patch for b582736375

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Daniel Drake <dsd@laptop.org>
Acked-by: Sascha Silbe <silbe@activitycentral.com>
2011-09-28 11:52:38 +02:00
Simon Schampijer
29a700b34a bundlebuilder: add back build_locale functionality to XOPackager SL #3116
Due to the removal of the manifest support we lost as well
the part of the code that does build the locale. This patch
adds that functionality back.

Signed-off-by: Simon Schampijer <simon@laptop.org>
2011-09-28 11:40:52 +02:00
Daniel Drake
720b33ab30 Remove hippo from naming alert
Reimplement the favorite icon as a ToggleButton, and use standard
boxes, entrys and textviews for the other aspects.
2011-09-27 14:57:21 +01:00
Simon Schampijer
d39a813969 Don't put event box in toplevel window
Remove an unnecessary toplevel widget.

This event box was originally added by Marco "to make it easier
to take screenshot of the canvas area only" (7f731457c2) but we're
unsure why this is, and it doesn't seem to be needed for our current
screenshot-taking mechanism. Screenshots continue to work fine after
removing this.
2011-09-27 12:43:51 +01:00
Simon Schampijer
1609340503 Joining shared activity: set title for activity palette in frame, SL #3109
We need to set the title when we join a shared session AND when
we run a private session.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Tested-By: Gonzalo Odiard <gonzalo@laptop.org>
Reviewed-By: Gonzalo Odiard <gonzalo@laptop.org>
Acked-by: Sascha Silbe <silbe@activitycentral.com>
2011-09-20 08:35:10 +02:00
Simon Schampijer
b582736375 XO_Packager: package files that are in git and the locale folder, OLPC #11217
There had been reports about Activities that had unexpected files in
the xo bundle (e.g. patches). There have been a recent change that the support
for the MANIFEST has been removed from the bundle builder. The MANIFEST
'controlled' which files were bundled. The code did include all the
files present in the folder (which includes patches etc).

The patch does use git-ls to get a list of files to include (like the
tarball packager). Furthermore the locale folder is included which has been
generated. Due to the API freeze we made '_get_files_in_git' a private method
which adds a bit of duplication to the 'get_files' method in the tarball
packager. A patch for master which will implement Builder.get_files_git(),
that can be used by XOPackager and SourcePackager.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-By: Daniel Drake <dsd@laptop.org>
2011-09-19 18:49:54 +02:00
Simon Schampijer
a16eedff46 Some activities segfault when closing, OLPC #11201
TurtleArt and Abacus are two known candidates

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Gonzalo Odiard <gonzalo@laptop.org>
2011-09-07 18:20:01 +02:00
Simon Schampijer
c1f9d716ab Correct title in the activity frame SL #3042
Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Gonzalo Odiard <gonzalo@laptop.org>
Tested-by: Gonzalo Odiard <gonzalo@laptop.org>
2011-08-18 17:17:00 +02:00
Simon Schampijer
e022aa8e4a Do not remove the Keep button completely, keep around for backward compatibility
In order to allow activities keeping their backward compatibility
we keep the Keep button around but do not add it to the toolbar. This
fixes activities that either remove or hide the Keep button or
alter it in any other way. The Keep button is deprecated and we
discourage the usage.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Gonzalo Odiard <gonzalo@laptop.org>
2011-08-17 18:04:47 +02:00
Gonzalo Odiard
507dfecc09 Add alpha and scale functionality to the icon, can be used in the launcher to do the animation - v2
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
        Acked-By: Simon Schampijer <simon@laptop.org>
2011-08-17 12:13:10 -03:00
Simon Schampijer
0082e10f8e Remove the Keep button from the activity toolbar
The keep button has led to a false assumption: learners
confused it with a traditional save button and not recognising
it as what it is, an option to duplicate an entry.

Eben suggested to remove the button [1] and others have since
then. The functionality of duplicating an entry will be moved
to the entry palette in the Journal and the entry detail view [2].

We will print a warning when the KeepButton is used and remove
it after another cycle.

[1] http://lists.sugarlabs.org/archive/sugar-devel/2010-April/023439.html
[2] http://lists.sugarlabs.org/archive/sugar-devel/2011-May/031316.html

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-08-15 19:29:30 +02:00
Simon Schampijer
3f0822ab1a Toolbox: replace the hippo based separator with a gtk.HSeparator
This makes the old-style Toolbar hippo free.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Benjamin Berg <benzea@sugarlabs.org>
2011-08-13 09:45:14 +02:00
Simon Schampijer
17ec110798 Replace the hippo-based TimeoutIcon with one based on a gtk.Label and gtk.Alignment
This patch depends on the addition of the SugarTimeoutIcon
to the artwork where we set the font and background color.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Benjamin Berg <benzea@sugarlabs.org>
2011-08-12 10:39:38 +02:00
Simon Schampijer
4018265f6c Replace our custom entry widget with one based on gtk.Entry
Our custom entry widget, which was based on sexyicon, did
support placing an icon in the entry (e.g. the magnifier icon
for the search entry) and displaying progress in the case of
the url entry in Browse. Both is supported since GTK+ 2.16 in the
gtk.Entry.

The patch does keep the old API, that is why we can land it in
0.94 no change in the shell needed only a small change in Browse,
in a second step I would like to use the upstream API e.g.
's/set_icon_from_name/set_icon_from_icon_name'.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Benjamin Berg <benzea@sugarlabs.org>
2011-08-12 10:38:11 +02:00
Simon Schampijer
d0a493e532 Initialize window title with bundle name, OLPC #11037
I had to modify the patch slightly because of
0269f819761cfd803cf4d694298c8ab6a753e242, changes
reviewed by Sascha.

Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Acked-By: Simon Schampijer <simon@laptop.org>
Reviewed-by: Sascha Silbe <silbe@activitycentral.com>
2011-07-24 19:22:35 +02:00
Simon Schampijer
9d21fd7511 Update window title when the activity title changes - OLPC #10978
The patch updates the window title when the user changes
the title in the toolbar or in the Journal.

Signed-of-by: Gonzalo Odiard <gonzalo@laptop.org>
Acked-By: Simon Schampijer <simon@laptop.org>
2011-07-24 18:42:48 +02:00
Bernie Innocenti
e7430faac9 Remove incomplete MANIFEST support
This incomplete feature contributes to confuse new activity authors and
slightly complicates our bundle installation logic.

The day someone finds something useful to do with the MANIFEST
specification, we can revert this patch in no time.

Signed-off-by: Bernie Innocenti <bernie@codewiz.org>
Tested-by: Bernie Innocenti <bernie@codewiz.org>
Tested-by: James Cameron <quozl@laptop.org>
Tested-by: Sascha Silbe <silbe@activitycentral.com>
Reviewed-by: Sascha Silbe <silbe@activitycentral.com>
[rebased on git master, minor style fix]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-07-24 16:21:38 +00:00
Simon Schampijer
6b675ed45f Make sure the datastore entry is created in time OLPC #10755
To avoid that we try to access the datastore entry before
it has been created we need to move the creation code up,
before we do get the possible information from a shared
session. If we have a shared session we do then get the
title and icon-color information from it and adjust
accordingly.

Tested that no other operation like for example resuming
has issues with that change.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-07-24 17:27:25 +02:00
Gonzalo Odiard
880e60bdda Sugar-toolkit: Pack page in ToolbarButton when is connected to the window - OLPC #10930
To add the accelerator to the ToolButton the activity must have set
the 'sugar-accel-group' before. The patch does make the ToolbarButton
listen to the 'hierarchy-changed' signal and repack itself accordingly.
Since the ToolButtons of the subtoolbar do listen to 'hierarchy-changed'
as well to set the accelerator they will set it accordingly.

This fixes the accelerators for new-style-toolbar activities
like Terminal, TurtleArt and Paint, more info in #10930.

Signed-by-off: Gonzalo Odiard <gonzalo@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-07-15 18:54:29 +02:00
Daniel Drake
10580fc2a7 GlibTCPServer: defer shutdown_request to avoid closing the socket too early OLPC #10906
In Python 2.7, shutdown_request was added to the BaseServer class and
TCPServer was adopted to use it instead of close_request in the
_handle_request_noblock() path.

GlibTCPServer must be adapted to account for this, so that
shutdown_request is not allowed to prematurely allowed to close the socket,
in the same way that close_request is ignored.

Fixes collaboration in activities that rely on this mechanism for
sharing (including ImageViewer and Read)

Signed-off-by: Daniel Drake <daniel@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
Tested-by: Gonzalo Odiard <gonzalo@laptop.org>
Tested-by: Simon Schampijer <simon@laptop.org>
2011-06-29 14:42:53 +02:00
Simon Schampijer
7e61237c8f Debug logs for default profile
The generic path does not work for the telepathy logs. As we
have removed the support for different profiles it is ok
to just use the default path.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-By: Marco Pesenti Gritti <marco@marcopg.org>
2011-06-29 10:01:51 +02:00
Simon Schampijer
7a0d5d9398 Use 'focus-out' event instead of 'changed' event for title entry OLPC #10956, SL #2608
To determine if the title has changed we use the 'focus-out'
event now instead of the 'changed' signal of the gtk.Entry. This
removes races we had before.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-By: Simon Schampijer <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-06-20 17:48:51 +02:00
Simon Schampijer
1ea1b2a0ab Use the activity instance name when joining a shared activity SL #2872
When we join a shared activity we use the name of the shared activity
as the title of the activity. As we set the activity metadata
accordingly this will be visible in the activity toolbar, the Journal
and the activity frame.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-06-09 16:55:56 +02:00
Simon Schampijer
c86b6d5917 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 <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-06-09 16:53:18 +02:00
Simon Schampijer
67143d8042 Only show joined buddies on sharer side, part of OLPC#10578
This is a follow-up patch to 95b4eeec758ffa729d0dbb219b21d428115fcc74

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-05-31 16:24:08 +02:00
Simon Schampijer
5b09eb1d74 Shared activity does not announce the 'buddy-left' signal OLPC #10800
This fixes a copy and paste error. A good test case is the Memorize
activity since we listen for the 'buddy-left' signal there to
update the members list inside the activity.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-By: Sascha Silbe <silbe@activitycentral.com>
2011-05-23 10:33:50 +02:00
Sascha Silbe
3553fbd2f0 remove obsolete comment
GTK bug #502871 [1] has been fixed in 2007.

[1] http://bugzilla.gnome.org/show_bug.cgi?id=502871

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-05-20 23:13:10 +02:00
Sascha Silbe
567bd961a5 Avoid showing decorated windows during start-up (OLPC#10713)
As a side effect, activity start-up is now subjectively faster, maybe even
objectively (due to avoiding a resize).

Tested on XO-1 running Debian Squeeze.

Acked-By: Simon Schampijer <simon@laptop.org>
2011-04-11 18:00:29 +02:00
Gonzalo Odiard
35cb4e3881 The activity icon does not handle the case of a activity without metadata.
If the activity is initiated with create_object=False

Acked-by: Sascha Silbe <silbe@activitycentral.com>
2011-04-03 17:19:54 +02:00
Simon Schampijer
17e52db2b6 Store all the buddies that have been joined in the activity metadata OLPC #10578
Before only the buddies that were present when closing the activity
were logged in the Journal. This patch does add another dictionary
'_joined_buddies' to keep track of the users that did join. The
'_buddies' dictionary keeps on tracking the users currently in the
activity.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-by: Sascha Silbe <silbe@activitycentral.com>
2011-03-31 12:07:53 -04:00
Sascha Silbe
85e714ecb1 fix regressions introduced by 29582de6 (fix for SL#1742)
GTK pops down the palette before it invokes the actions on the
menu item. We need to postpone destruction of the palette until
after all signals have propagated from the menu item to the
palette owner.

Symptoms included the "View Details" palette menu item in the Journal list
view not working.

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-03-27 16:39:04 +02:00
Simon Schampijer
ca02d59e11 Open content bundles on a external device #1748
Remove the path parameter as it is not used anyhow. The patch
for the sugar module does make sure the method is called
correctly.

Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Acked-By: Simon Schampijer <simon@laptop.org>
Reviewed-By: Sascha Silbe<silbe@activitycentral.com>
2011-03-03 11:10:26 -05:00
Sascha Silbe
17537c7710 Window: allow removing the toolbar_box
Allow the toolbar_box to be removed by setting it to None, like is supported
for canvas.

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-02-17 23:23:33 +01:00
Sascha Silbe
9d45394d40 fix whitespace mistake introduced by c7a80a1
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-02-15 21:45:46 +00:00
Sascha Silbe
11bfce1a31 sugar.activity.i18n: add pgettext()
Python 2 will never have pgettext() [1], so we need to ship our own version.
sugar.activity.i18n is the best place for that.

[1] http://bugs.python.org/issue2504#msg122482

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Acked-by: Simon Schampijer <simon@laptop.org>
2011-02-15 21:44:57 +00:00
Simon Schampijer
b30bc0151c bundlebuilder: genpot: don't use absolute paths in filenames (SL#2508)
[tweaked description; minor style fix]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Tested-By: Sascha Silbe <silbe@activitycentral.com>
Reviewed-By: Sascha Silbe <silbe@activitycentral.com>
2011-02-12 19:12:43 +00:00
Martin Dengler
45fc0b6186 Throw MalformedBundleException on broken zip files
sugar.bundle.bundle.Bundle users (e.g.
jarabe.model.bundleregistry.BundleRegistry._add_bundle) only expect
MalformedBundleException to be thrown, not exceptions of zipfile.

This patch solves the most severe issue in #1876: filling up the
filesystem with temporary files that won't be deleted afterwards.

Before we can consider this bug completely fixed, we still need
to do something for the remaining issues:

 1) Unpacking shouldn't be attempted if there isn't a safety margin

 2) System becomes unresponsive during unpacking

 3) No progress indication for the operation, so users are tempted
    to click multiple times

 4) No error messages displayed for unpacking errors, which is a
    common Sugar nuisance.

http://bugs.sugarlabs.org/ticket/1876#comment:5 offers possible
strategies for (1) and (2).

Signed-off-by: Martin Dengler <martin@martindengler.com>
Signed-off-by: Bernie Innocenti <bernie@codewiz.org>
[style fixes, adjusted description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Reviewed-by: Aleksey Lim <alsroot@activitycentral.org>
2011-02-05 16:30:03 +01:00
Sascha Silbe
924e2e62bf fix sugar-emulator detection logic broken by 814ab2d (has_key() cleanup)
This broke Shutdown and Restart (buddy menu).

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
2011-02-05 16:28:24 +01:00
Sascha Silbe
3b0e761f4a XoColor: don't choke if passed the wrong type (SL#1408)
Color data is stored in the Journal as a JSON dump, so we can get back
arbitrary types. XoColor already checks the color string for validity and
handles invalid strings gracefully, so it makes sense to enhance this to
invalid types as well.

Acked-by: Simon Schampijer <simon@schampijer.de>
2010-11-30 11:48:31 +00:00
Simon Schampijer
18e39672ce Apply new version scheme as well to content bundles #2425
Reviewed-by: James Cameron <quozl@laptop.org>
2010-11-25 11:23:30 +01:00
Simon Schampijer
aadfeed305 bundlebuilder: install mimetypes.xml and associated icon #2262
As we do create the ActivityBundle in the config of the bundlebuilder
we can use the code from the activitybundle as well to install
the mime type.

Reviewed-By: Sascha Silbe <sascha-pgp@silbe.org>
2010-11-24 21:39:09 +01:00
Sascha Silbe
1adc165a8c bundlebuilder: ignore incorrect pylint warning
pylint isn't smart enough to figure out the return type of Popen.communicate(),
so squelch the warning.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:37 +01:00
Sascha Silbe
46deeb64e6 pylint: sugar.wm._property_change_trapped: allow overriding built-in method
"format" is the name of a parameter of the function we are wrapping, so we
shouldn't change it.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:36 +01:00
Sascha Silbe
0521234fec CellRendererInvoker._redraw_path(): assure column is defined
We know that our code is correct and column should always be assigned, but it
never hurts to act defensively and guard against bugs in other pieces of the
code (or other components like GTK).

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:36 +01:00
Sascha Silbe
05fd5fe2d7 ToolInvoker._get_alignments: fix missing self parameter
Caught by pylint. I wonder if we need this piece of code as nobody every
triggered it.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:36 +01:00
Sascha Silbe
7983242f7a pylint cleanup: initialise all attributes in __init__()
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:36 +01:00
Sascha Silbe
adba508d8f pylint cleanup: pass format parameters to log functions instead of using %
This avoids the overhead from the string formatting on production systems.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:35 +01:00
Sascha Silbe
ff16cb0fa9 pylint cleanup: disable warnings for reasonable catch-all exception handlers
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:35 +01:00
Sascha Silbe
431e36a427 sugar.util: use logging.exception instead of traceback.format_exc()
logging.exception() handles exceptions nicely for us, no need to explicitly
use traceback.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:35 +01:00
Sascha Silbe
3d227102c4 pylint cleanup: remove unused imports
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:35 +01:00
Sascha Silbe
eacce98f88 pylint cleanup: replace disable-msg with disable
Adapt to upstream format change.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:34 +01:00
Sascha Silbe
7acfbd070f style cleanup: prefer ' for strings
Tomeu prefers ' for strings, so let's use it wherever we don't have a good
reason to use ".

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:34 +01:00
Sascha Silbe
5f13fcfc84 style cleanup: use """ everywhere
Most of the code uses """, so adjust the few deviations.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:34 +01:00
Sascha Silbe
5f8ec81023 PEP8 cleanup: fix deprecated raise syntax
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:34 +01:00
Sascha Silbe
9c7769cc21 PEP8 cleanup: fix whitespace before ':'
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:33 +01:00
Sascha Silbe
73de340d27 PEP8 cleanup: fix spaces around keyword parameters
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:33 +01:00
Sascha Silbe
72ed58cbca PEP8 cleanup: fix inline comment spacing
pep8 wants inline comments to be prefixed by at least two spaces. Let's just
move them to a separate line as that's easier to read anyway.

Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:33 +01:00
Sascha Silbe
60707443ea PEP8 cleanup: fix whitespace around operator
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:33 +01:00
Sascha Silbe
814ab2ddf9 PEP8 cleanup: don't use has_key()
has_key() has been deprecated for quite some time now.

Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:32 +01:00
Sascha Silbe
4d978fda14 PEP8 cleanup: ensure lines are shorter than 80 characters
Caught by PEP8. This is important for Sugar because the XO has a small screen
where long lines would make the code hard to understand (because you need to
constantly scroll horizontally).

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer<simon@schampijer.de>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:32 +01:00
Sascha Silbe
e2231d5620 PEP8 cleanup: fix number of blank lines
Caught by pep8.

Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:32 +01:00
Sascha Silbe
131c28bb72 fix EOL spaces
Reviewed-by: James Cameron <quozl@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>
CC: Aleksey Lim <alsroot@member.fsf.org>
2010-11-23 17:14:31 +01:00
Simon Schampijer
c7a80a1e56 Add new numbering scheme #2425
- add class NormalizedVersion to parse and compare the new activity versions
- change the bundlebuilder and activitybundle to use the new scheme, instead
of an int version we expect a string that matches the format defined in
NormalizedVersion
2010-11-09 10:53:05 +01:00
Tomeu Vizoso
29582de67f Add 'cache-palette' property to Invoker #1742
Meaning that the palette will be cached after it's created.
2010-10-14 19:06:31 +02:00
Tomeu Vizoso
4fb2943ec4 Fix running multiple instances of Browse by adapting to API changes #2404
* sugar/presence/presenceservice.py: Specify the D-Bus interface when
  calling ActivityProperties.GetActivity
* sugar/activity/main.py: Set a default for the --invite option and
  make the create() D-Bus method accept a{sv} so we can pass the
  boolean value.
2010-10-05 16:36:13 +02:00
Tomeu Vizoso
7dedaeb7bb Cast floats to ints before calling cairo.ImageSurface() #2291
Otherwise Python 2.7 will raise an exception.
2010-10-04 16:56:26 +02:00
Simon Schampijer
106b9fba68 Do not break if the string contains no conversion specifier #2354 2010-09-29 16:15:59 +02:00
Tomeu Vizoso
a2b8518489 Don't try to share the activity if we couldn't find a suitable connection #2217 2010-09-10 09:45:06 +02:00
Tomeu Vizoso
0002c93e96 sugar.presence: Remove dead code and make clear which methonds are deprecated 2010-08-30 19:21:35 +02:00
Tomeu Vizoso
e21ab06e34 Read the public and private keys lazily 2010-08-26 17:07:15 +02:00
Tomeu Vizoso
d780248e87 Use Account.ConnectionStatus instead of Account.Connection.Status 2010-08-26 15:26:33 +02:00
Martin Abente
4260a53d3f Merge branch 'master' of gitorious@git.sugarlabs.org:sugar-toolkit/mainline 2010-08-23 14:22:49 -04:00
Martin Abente
f0a570b5ae Delete activities profile data when uninstall #2074
When activities are uninstalled, profile data persists. Profile
data can consume a lot of storage space. Therefore it is necessary
to delete it when required.

Signed-off-by: Martin Abente <mabente@paraguayeduca.org>
2010-08-23 14:09:33 -04:00
Tomeu Vizoso
c56154d938 Remove sugar/__init__.py, it should come from sugar-base #1868 2010-08-23 19:27:57 +02:00
Tomeu Vizoso
d156ff56a8 Address comments from Simon's review 2010-08-20 16:25:13 +02:00
Tomeu Vizoso
1af1bc9713 Address several nitpicks from Marco 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
56679a3de6 Rename ActivityHandle.handle_invite to ActivityHandle.invited 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
d66eb39c9b Remove unused constant 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
6a12411477 Add copyright statement due to the collaboration refactoring 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
fdfacaf26f Misc. pylint fixes 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
fab271ac9c Wrap lines with more than 80 chars 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
ead42a6945 Remove some unused imports 2010-08-20 15:33:54 +02:00
Tomeu Vizoso
1d16629d1b For several reasons, a shared activity won't survive to its connection
disconnecting and coming back.
2010-08-20 15:33:54 +02:00
Tomeu Vizoso
cd6c0101af No need to dispose the buddies currently in the activity, as it is information that is needed through the whole life of the activity instance 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
694c456ed3 Remove misleading comment, we are already listening Closed 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
24df594203 Add the MAC address to the data that gets hashed to get an activity_id 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
d5dbe3616f Correctly use the connections from ConnectionManager 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
c0ed611aee Make sure that the connection we choose is connected 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
ba80f2a2c1 Set the properties of the channel after we have joined it 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
1e7f499029 Translate handles if the channel has channel-specific handles (gabble) 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
11d0574b3f Log when we fail to find a share activity for a given id 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
633214e2b6 Call the new invite method in ActivityService InviteCommand and keep a stub for Invite 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
7136145667 Add WOCKY_DEBUG to ~/.sugar/debug 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
6b965fa98d Add mission control env vars for debugging 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
8da18fe2aa Track the buddies inside the activity 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
363f828205 Handle invitations using Mission Control 5.
src/sugar/activity/activity.py: If the activity is being invoked to
handle an invite, create a Client.Handler instance and share the
activity when HandleChannels is invoked.

src/sugar/activity/activityfactory.py,
src/sugar/activity/activityhandle.py,
src/sugar/activity/main.py: Add a -i switch that indicates to the
activity that it should handle the channel from an invitation.

src/sugar/presence/activity.py: Expose Activity.room_handle.

src/sugar/presence/presenceservice.py: Add get_activity_by_handle().

src/sugar/presence/util.py: Add get_account_for_connection().
2010-08-20 15:33:53 +02:00
Tomeu Vizoso
af6e3aa5ef Restore use of ActivityProperties.GetActivity 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
46159e987b Pass the account path to the Activity on creation 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
1a4c721f3d Identify buddies and activities by their account and ids instead
of connection and handle.
2010-08-20 15:33:53 +02:00
Tomeu Vizoso
cc8ecd81e7 Add src/sugar/presence/util.py 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
bd3a4ca747 Take into account the "private" property when updating the scope toolbutton 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
ce87bb3ff6 Only add ourselves to a channel if we are in local_pending 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
fbee730549 Implement inviting buddies to a private activity 2010-08-20 15:33:53 +02:00
Tomeu Vizoso
37d7fc1075 Add src/sugar/util.py to the Makefile 2010-08-20 15:33:52 +02:00
Tomeu Vizoso
6f6b86d1e2 Implement Buddy.object_path() 2010-08-20 15:33:52 +02:00
Tomeu Vizoso
9c1275e4c8 Implement Activity.get_channels() 2010-08-20 15:33:52 +02:00
Tomeu Vizoso
043d3b0ee7 Emit the buddy-left signal 2010-08-20 15:33:52 +02:00
Tomeu Vizoso
12cd353620 Implement leaving an activity 2010-08-20 15:33:52 +02:00
Tomeu Vizoso
2db82c1722 Emit the buddy-joined signal 2010-08-20 15:33:52 +02:00
Tomeu Vizoso
f9b0d68a48 Refactor the logic for sharing into _ShareCommand and implement
joining a shared instance with _JoinCommand.
2010-08-20 15:33:52 +02:00
Tomeu Vizoso
a0b9394846 Replace enough of the old PS so we can share an activity instance publically
on the network.
2010-08-20 15:33:52 +02:00
Tomeu Vizoso
98cc77f1fb Replace enough of the old PS so we can join an activity instance on the network.
* src/sugar/activity/activity.py: Get the shared activity wrapper from
  sugar.presence.
* src/sugar/activity/activityfactory.py: Disable checking in the PS for
  activity_id duplicates.
* src/sugar/presence/activity.py: Remove the PS dependency and query Telepathy
  directly. Implemented enough to join an activity.
* src/sugar/presence/buddy.py: Remove the PS dependency and query Telepathy
  directly. Implemented enough to join an activity. Added an Owner subclass of
  Buddy()
* src/sugar/presence/presenceservice.py: Remove the PS dependency and query Telepathy
  directly. Implemented enough to join an activity.
* src/sugar/presence/util.py: Add ConnectionManager for discovering and tracking
  connections.
2010-08-20 15:33:52 +02:00
Simon Schampijer
981707c112 Print warnings about the deprecated activity.info fields 2010-08-17 17:25:19 +02:00
Simon Schampijer
acd8095a29 Revert "Support dropped for activity.info fields 'service_name' and 'class'"
This reverts commit e11b7d3196.
2010-08-17 16:57:02 +02:00
Simon Schampijer
e11b7d3196 Support dropped for activity.info fields 'service_name' and 'class'
You have to use 'bundle_id' and 'exec' instead now.
2010-08-16 16:12:11 +02:00
anishmangal2002
3f68813dd6 Add ErrorAlert inherited from Alert
Adds the ErrorAlert class which is an alert inherited from
the base Alert class. This is very similar to the
ConfirmationAlert class with the difference being that it
only displays an 'Ok' button in the Alert popup.

Signed-off-by: anishmangal2002 <anishmangal2002@gmail.com>
2010-08-10 17:46:38 +00:00
Simon Schampijer
f82c2bad4d Not able to access files on external device from within an activity on new system d.l.o #10218
The error we were seeing was that the '(env.get_profile_path(),
'data'))' does not exist yet at system start. Symlinks are created
there when accessing data on an external device. The directory
gets created when an activity like Browse or Terminal has been
run for the first time or you start Read for the first time by
resuming the file on the external device.

http://dev.laptop.org/ticket/10218
2010-08-09 09:25:18 +02:00
Simon Schampijer
abda2edc04 Remove unneeded debug logs #1861 2010-07-07 11:08:59 +02:00
Bernie Innocenti
e90fccfd37 Use set_toolbar_box() in example code.
The set_toolbox() method is obsolete, so let's not advertise it.

Signed-off-by: Bernie Innocenti <bernie@codewiz.org>
2010-07-01 09:12:51 -04:00
Bernie Innocenti
e2ab351b36 Set default accelerators for Copy and Paste buttons 2010-07-01 09:12:51 -04:00
Simon Schampijer
3aa0995096 Bundelbuilder should not use localized activity name #1968 (Walter Bender)
The localized activity name is only used for
user-facing strings. The .xo and .tar files are
left in the original name.
2010-06-03 08:56:42 +02:00
Aleksey Lim
883fefe782 Cannot delete stalled download from journal #1987 2010-06-02 15:01:45 +00:00
Aleksey Lim
845d2534e6 Reset timeout delay on every TitleEntry change #1948 2010-06-02 14:56:28 +00:00
Simon Schampijer
e497eb15ba Fix keep functionality in activities
Introduced by #1765
2010-03-29 23:48:23 +02:00
Aleksey Lim
161aec771e Display a message when an activity fails to start (based on wadeb patches) #1447 2010-03-10 16:35:09 +00:00
Simon Schampijer
2a52c9493b A little bit of pylint cleanup 2010-03-10 10:23:30 +01:00
Sascha Silbe
bb323a4efa check syntax of private key (#1568)
Check that header and footer of the private key are present in order to detect
corrupted key files.

Signed-off-by: Sascha Silbe <sascha-pgp@silbe.org>
2010-03-09 23:34:59 +00:00
Sascha Silbe
d38d865c7c Revert "Merge commit 'refs/top-bases/t/bug-1568' into t/bug-1568"
This reverts commit 12016d5408, reversing
changes made to d006092d37.
2010-03-09 23:28:18 +00:00
Sascha Silbe
12016d5408 Merge commit 'refs/top-bases/t/bug-1568' into t/bug-1568 2010-03-09 22:59:57 +00:00
Tomeu Vizoso
d006092d37 Log saving errors in activities #1703 2010-03-09 22:33:23 +01:00
Wade Brainerd
63a5dcef05 Deprecate host_version #1509 2010-03-09 22:28:50 +01:00
James Cameron
f8ef93bd21 Removes the use of O_SYNC on logs #1656
With O_SYNC on open of log files, on systems with slow filesystem random
write performance, there is random activity startup time.
2010-03-09 22:23:55 +01:00
Aleksey Lim
6921bcd67d Do not fail while closing object less activities #1714 2010-03-09 18:56:21 +00:00
Sascha Silbe
b64930b2eb check private key syntax 2010-03-08 20:54:05 +00:00
Aleksey Lim
3bf70d642c Override canvas property in Activity class #1795 2010-03-08 19:01:53 +00:00
Simon Schampijer
7978c55fdf Create the DSObject update listener as well for existing entries 2010-02-13 14:59:05 +01:00
Sayamindu Dasgupta
e6aa91ba3f Merge branch 'master' of git://git.sugarlabs.org/sugar-toolkit/gettext-enhancements 2010-02-10 20:56:32 +05:30
Sayamindu Dasgupta
d00d9b6431 More cleanups for i18n.py 2010-02-10 20:53:09 +05:30
Sayamindu Dasgupta
1b600b147d Make the dictionary sorting a bit more sensible 2010-02-09 17:43:18 +05:30
Sayamindu Dasgupta
4552050136 Clean up docstring 2010-02-09 17:41:10 +05:30
Sayamindu Dasgupta
1817caf30f Consistent variable names 2010-02-09 17:13:04 +05:30
Sayamindu Dasgupta
ffe3504e0a Should be and, and not or 2010-02-08 23:46:22 +05:30
Sayamindu Dasgupta
85840b269f Style and PEP8 fixes 2010-02-08 23:45:39 +05:30
Simon Schampijer
394870f4ad Synchronize changes made to a Journal entry #1358 2010-02-06 23:08:17 +01:00
Tomeu Vizoso
b5bcbe2ed4 Remove file that was there by mistake 2010-02-06 12:55:43 +01:00
Sayamindu Dasgupta
415f3a3066 Describe the args of the i18n methods 2010-02-01 16:28:19 +05:30
Sayamindu Dasgupta
259fca2caa Import in two lines instead of one 2010-02-01 16:24:58 +05:30
Aleksey Lim
9f9adda1ab Merge branch 'master' of git.sugarlabs.org:sugar-toolkit/mainline 2010-01-31 16:42:18 +00:00
Aleksey Lim
4a4ea538ca Supplement #1687 by docstring 2010-01-31 16:41:34 +00:00
Simon Schampijer
a3c68d5109 removed leftover 2010-01-31 17:14:19 +01:00
Aleksey Lim
6f3ecbdb1f New color to highlight items while hovering over #1693 2010-01-31 16:10:00 +00:00
Aleksey Lim
fea8acec84 Get pure icon surface w/o creating any widgets #1687 2010-01-25 17:40:58 +00:00
Simon Schampijer
e1d4afe13e Add signal listener functionality to the DS #1197 (silbe) 2010-01-24 17:53:32 +01:00
Sayamindu Dasgupta
ef093d395e Update Makefile.am 2010-01-24 20:29:10 +05:30
Sayamindu Dasgupta
173a402701 Code for language pack support 2010-01-24 20:28:21 +05:30
Simon Schampijer
aacb5592e5 Cleaned up the datastore API
- killed the dbus_helpers, moved that to the datastore.py
- added documentation
- pep8 and pylint clean
2010-01-20 11:55:56 +01:00
Sascha Silbe
9c77febcf1 locate rainbow using PATH instead of hardcoding the location (#1436) 2010-01-11 17:01:37 +00:00
Sascha Silbe
1d8b1b98cb don't use rainbow if it has been uninstalled, but the config file remains (#1317)
Some distros retain config files after removing packages, so /etc/olpc-security
might exist even if rainbow is not installed.

Signed-off-by: Sascha Silbe <sascha@silbe.org>
2010-01-11 16:51:15 +00:00
Daniel Drake
709d44d602 Apply activity font settings earlier (#1607)
Fixes some minor changes in toolbar appearance that my previous
work unintentionally introduced.
2009-12-24 14:41:52 +00:00
Daniel Drake
618df4e177 Fix bold font style
Small error in my last commit.
2009-12-01 17:43:37 +00:00
Daniel Drake
634b2fcee0 Apply font configuration from GConf (#1584)
Sugar font settings are now stored in GConf. This patch applies them
to all users of sugar.style and all standard activities.
2009-12-01 16:51:14 +00:00
Aleksey Lim
8c2fe54ea7 Do not stop processing motion-notify-event #1507 2009-10-18 11:46:23 +00:00
Aleksey Lim
a4a2b33dac Do no use random color if metadata color is not valid #1435 2009-10-01 18:04:06 +00:00
Aleksey Lim
3d46fd8c99 Shutdown/Reboot fails when multiple users are logged in #246 2009-09-30 11:53:03 +00:00
Aleksey Lim
8f52b0a8f4 Present windows in non-active process #1423 2009-09-29 18:33:13 +00:00
Aleksey Lim
823188957c Treat broken symlinks corretcly #1394 2009-09-20 13:40:24 +00:00
Aleksey Lim
7a8dc0dd70 Do not fail if activity mime_type was already installed #1394 2009-09-20 11:22:24 +00:00
Tomeu Vizoso
957c0b4c0f Save activity_id if its not yet in the DS #1276 2009-09-19 19:02:04 +02:00
Aleksey Lim
acdbae5d4c _Typo Color of sugar.activity.widgets.ActivityButton is owners all time despite of 'icon-color' metadata property #1368 2009-09-18 15:11:24 +00:00
Aleksey Lim
9f981bb5dc Color of sugar.activity.widgets.ActivityButton is owners all time despite of 'icon-color' metadata property #1368 2009-09-18 15:09:03 +00:00
Aleksey Lim
93d65bcb2f Circular dependecy in ToolbarBox #1389 2009-09-18 13:18:46 +00:00
Aleksey Lim
ac586e5a85 Circular dependecy in ToolbarBox #1389 2009-09-18 12:24:48 +00:00
Aleksey Lim
33ea5bdee4 Circular dependecy in ToolbarBox #1389 2009-09-18 11:25:32 +00:00
Aleksey Lim
dfc5513f86 To emulate missed parts of DSObject - optional file_path removing #1241 2009-09-18 10:31:13 +00:00
Aleksey Lim
927c576e31 After using CP, the XO home palette is incorrectly scrolled (blank lines + missing item) #231 2009-09-18 08:09:14 +00:00
Aleksey Lim
2e3061dc10 When in fullscreen mode in an activity, frame doesnt pop-up(forgotten changes) #1335 2009-09-16 18:48:38 +00:00
Aleksey Lim
ecee594190 Invoke WindowPalette.popdown when menu property is None #1323 2009-09-16 17:09:30 +00:00
Aleksey Lim
76542527cd When in fullscreen mode in an activity, frame doesnt pop-up #1335 2009-09-16 16:55:05 +00:00
Aleksey Lim
f939baec05 Error while initiating .sugar environment #1327 2009-09-16 16:44:42 +00:00
Tomeu Vizoso
df89c1bf0b Close tube after the activity window is closed #1296 2009-09-15 17:28:29 +02:00
Tomeu Vizoso
db77ed8ab3 Put back <Ctrl>Z as the Undo accelerator #1287 2009-09-14 18:19:09 +02:00
Tomeu Vizoso
850a78c59a Only try to pop down the submenus if we still have a _Menu #1338 2009-09-13 18:02:40 +02:00
Tomeu Vizoso
0159bc7b52 Warn when the XoColor string is invalid. 2009-09-11 13:47:40 +02:00
Benjamin Berg
c684950ecf Do not emit the row-changed signal, but redraw the row for prelight.
This basically undos commit 4bb221349c
and fixes the code that was there before. Emitting the row-changed
signal causes any editing to be canceled.
2009-09-10 17:34:56 +02:00
Aleksey Lim
d57320b985 Hide only submenus #1301 2009-09-10 10:14:52 +00:00
Simon Schampijer
b087809ec5 focus the canvas
make the boxes private using the python mangling
algorithm (see pep8)
2009-09-10 11:46:37 +02:00
Aleksey Lim
cdd4ba3a3d Palette will fail to open if you have just 'scrubbed' over some number of icons quickly #1312 2009-09-10 09:07:25 +00:00
Aleksey Lim
86ba52eadd Secondary toolbar widget should set a minimum height #1304 2009-09-10 09:07:25 +00:00
Aleksey Lim
b41e4a51d7 Popdown menu on palette popdown #1301 2009-09-10 09:07:24 +00:00
Tomeu Vizoso
fdb00469c1 Remove prelit invert effect for icons (garycmartin) #1313 2009-09-10 11:00:31 +02:00
Aleksey Lim
868c9293ac Hide palette group before immediate popup #1291 2009-09-10 07:48:20 +00:00
Aleksey Lim
c69bbe3341 Simple scheme for hidding ToolbarBox subpalettes #1300 2009-09-09 17:11:58 +00:00
Aleksey Lim
ff2dd6cc0e Stop all animators on poup/popdown invoking #1310 2009-09-09 16:38:52 +00:00
Aleksey Lim
aed38758be Show selecting status of favorite check box in journal list view even if "start" is prelighted #1247 2009-09-08 08:21:19 +00:00
Aleksey Lim
6b992ee9fb Close previous palette on reseting palette property in invoker #1299 2009-09-08 07:14:22 +00:00
Aleksey Lim
cb5951d3b9 Do not fail on immediate second palette openning for bottom icons #1292 2009-09-07 14:49:21 +00:00
Aleksey Lim
dc0701dacf Some activities relies on existing of ds fields like 'title' #1241 2009-09-06 09:44:52 +00:00
Aleksey Lim
1b80257149 Fullscreen resizing issues #1263 2009-09-05 16:40:15 +00:00
Aleksey Lim
e97dd135eb Wrong calculated positions for palettes #1268 2009-09-04 17:02:57 +00:00
Aleksey Lim
2b78463830 Primary palette redraw glitch after secondary palette exposed #1135 2009-09-04 17:02:46 +00:00
Aleksey Lim
135b2a608d Hide all animators while deleting palettes #1265 2009-09-04 16:54:50 +00:00
Aleksey Lim
da678c6973 ObjectChooser displays USB media files, but fails to access file #1241 2009-09-04 16:49:03 +00:00
Tomeu Vizoso
3b0d09a188 Add get_sugar_window_type to sugar.wm #571 2009-09-01 11:53:51 +02:00
Tomeu Vizoso
e3415afbc5 Merge branch 'master' of gitorious@git.sugarlabs.org:sugar-toolkit/mainline 2009-09-01 11:28:07 +02:00
Tomeu Vizoso
929ce5a3cb Make activity windows cover the whole screen as soon as they are mapped. 2009-09-01 10:11:59 +02:00
Benjamin Berg
0991081eff Get the correct window property instead of '_SUGAR_ACTIVITY_ID' (#1251) 2009-08-30 18:00:44 +02:00
Benjamin Berg
d3c9dc535b Do not pop the error trap twice (pointed out by Sascha Silbe in #1123). 2009-08-28 18:48:13 +02:00
Aleksey Lim
78d64031c3 Add is_user_activity() to ActivityBundle #701 2009-08-28 12:06:43 +00:00
Benjamin Berg
d304f72872 Trap X errors in wm.py (#1123) 2009-08-28 12:18:00 +02:00
Sascha Silbe
c9e63eb8ea PEP8 white space and long line fixes 2009-08-25 21:12:40 +02:00
Sascha Silbe
ecdaf6b795 trim EOL (end-of-line) spaces on source files 2009-08-25 19:55:48 +02:00
Sascha Silbe
6c3fd0346c add sugar.util.format_size 2009-08-25 19:26:41 +02:00
Aleksey Lim
9a65089978 Fix typos in 0342a24e2d 2009-08-25 17:21:55 +00:00
Aleksey Lim
0342a24e2d Sugar crashing when saving a journal entry upon closing an activity #1123 2009-08-25 15:40:23 +00:00
Sascha Silbe
0a8b1261eb don't hardcode Rainbow activity permissions 2009-08-24 20:40:11 +02:00
Simon Schampijer
6ece09d49b more pylint 2009-08-24 15:09:02 +02:00
Simon Schampijer
e1e8647de9 pylint fixes 2009-08-24 14:51:00 +02:00
Sascha Silbe
496090fe62 let the logger do the formatting 2009-08-24 12:54:02 +02:00
Tomeu Vizoso
bdd760d92a Remove a couple of debug prints 2009-08-20 09:55:32 +02:00
Tomeu Vizoso
3f9761469c Mention TempFilePath in the comment 2009-08-17 19:21:17 +02:00
Aleksey Lim
a8ecc1729f Do not fail while displaying activity icon for bundles in Journal #1175 2009-08-17 19:16:20 +02:00
Tomeu Vizoso
40e9bd3ce5 Fix telepathy log paths (alsroot) #1178 2009-08-17 19:09:17 +02:00
Simon Schampijer
2e780d624c Align widgets to the left 2009-08-17 18:22:36 +02:00
Simon Schampijer
b34f5d7164 Fix typo 2009-08-17 14:47:51 +02:00
Simon Schampijer
296f4e500c Add ActivityButton for simple activities
Contains only a palette showing the title
2009-08-17 14:46:47 +02:00
Simon Schampijer
c1f5115b2a fix typo (two underscores for toolbar_box) 2009-08-12 16:45:06 +02:00
Simon Schampijer
10b5a30bc9 Make the share button insensitive when max_participants is set to 1 2009-08-12 11:26:26 +02:00
Aleksey Lim
d02ab6bb9a Set labels for toolbuttons 2009-08-07 08:12:25 +00:00
Aleksey Lim
d0485cb515 Set STATE_INSENSITIVE for toolbarbox pages 2009-08-07 08:12:25 +00:00
Tomeu Vizoso
10e84fe8fa Remove list of Rainbow exemptions 2009-08-01 19:36:23 +02:00
Tomeu Vizoso
43167172b9 style fixes 2009-08-01 19:24:21 +02:00
Tomeu Vizoso
acdc647f58 Merge branch 'master' of git://dev.laptop.org/users/mstone/sugar-toolkit 2009-08-01 18:34:36 +02:00
Tomeu Vizoso
8f271e2604 Split PaletteWindow in its own module 2009-08-01 16:15:01 +02:00
Tomeu Vizoso
0426c0c827 Merge branch 'master' of git://git.sugarlabs.org/sugar-toolkit/toolbars
Conflicts:
	src/sugar/graphics/window.py
2009-08-01 15:39:40 +02:00
Aleksey Lim
5c9020b188 Remove old design remains 2009-08-01 13:35:18 +00:00
Aleksey Lim
7d76f06ae1 Remove redundant state argument from PaletteWindow.popup 2009-08-01 13:34:42 +00:00
Aleksey Lim
e799649f2f Fix merger artefacts 2009-08-01 11:34:45 +00:00
Aleksey Lim
f5f8c807d3 Fix pylint/pep8 warnings 2009-08-01 11:27:56 +00:00
Aleksey Lim
68fa6bf093 Fix mess with gtk.Widget.set_state and Palette.set_state 2009-08-01 11:23:20 +00:00
Aleksey Lim
35bbfe1d50 Support palettes for sub-toolbar widgets 2009-08-01 11:23:20 +00:00
Aleksey Lim
6e724c3d8d Set background color for activity.widgets.TitleEntry 2009-08-01 11:23:20 +00:00
Aleksey Lim
45a4ed104b Do not paint arrow in radiopalette 2009-08-01 11:23:20 +00:00
Aleksey Lim
2c7e2c393a Popdown RadioMenuButton's palette 2009-08-01 11:23:20 +00:00
Aleksey Lim
e0aedcd5c7 Refactor Palette class (tomeu) 2009-08-01 11:23:06 +00:00
Aleksey Lim
3ee78747d4 Fix review issues 2009-07-31 10:55:58 +00:00
Aleksey Lim
4d6a2cc9bd Fix review issues 2009-07-31 10:25:01 +00:00
Aleksey Lim
d5c5ee88ec Remove old design remains 2009-07-31 07:10:17 +00:00
Aleksey Lim
3dde9b68a5 Do not change arrow while opening palette in ToolbarBox 2009-07-31 03:58:52 +00:00
Aleksey Lim
353564f12c Fix review issues 2009-07-31 03:49:05 +00:00
Aleksey Lim
7bfb7704d7 Fix Makefile.am 2009-07-31 01:55:21 +00:00
Aleksey Lim
7bec8aba1b Do not use do_clicked in RadioMenuButton 2009-07-30 17:13:36 +00:00
Aleksey Lim
3b545cbcbb Remove redundant ToolbarBox props 2009-07-30 17:06:14 +00:00
Aleksey Lim
3dd0ac8432 Rename ToolbarBox.bar to ToolbarBox.toolbar 2009-07-30 16:25:04 +00:00
Aleksey Lim
7ca9574ca1 Rename ToolbarBox.top to ToolbarBox.bar 2009-07-30 16:20:10 +00:00
Aleksey Lim
b69d875201 Fix Makefile.am 2009-07-30 15:38:16 +00:00
Aleksey Lim
61ab4110fa Rename toolbar.py to toolbarbox.py 2009-07-30 15:25:30 +00:00
Aleksey Lim
b43aa43114 Move activity related widgets to sugar.activity.widgets 2009-07-30 15:08:55 +00:00
Aleksey Lim
5ee1f2a3cb Do not use jarabe module 2009-07-30 12:20:15 +00:00
Aleksey Lim
a2f20f39ff Fix review issues 2009-07-30 11:29:52 +00:00
Aleksey Lim
e03fd4ddde Minor tweaks 2009-07-30 05:43:36 +00:00
Tomeu Vizoso
f0b78ef406 Add the tags property to the buddy model 2009-07-29 18:26:14 +02:00
Aleksey Lim
2655a8ccad Suppress sub-palettes in radiopalette 2009-07-29 16:15:38 +00:00
Aleksey Lim
e5a701a1e6 Fix Makefile.am file 2009-07-29 15:53:09 +00:00
Aleksey Lim
872b18a103 Fix review issues 2009-07-29 15:33:02 +00:00
Aleksey Lim
0cf445eb0f Remove redundant ctor argument from activity.ActivityToolbar() 2009-07-29 13:02:41 +00:00
Aleksey Lim
7f2488e505 Add Vasya Pupkin to copyright holders 2009-07-29 12:42:43 +00:00
Aleksey Lim
b5c9509014 Remove redundant current-toolbar-changed signal from toolbar.Toolbar 2009-07-29 06:59:28 +00:00
Aleksey Lim
ec474da5cc Replace share combo with new share button 2009-07-29 06:41:23 +00:00
Aleksey Lim
9e9a22b2d5 Use activity icon for activity.toolbar button 2009-07-28 15:02:00 +00:00
Tomeu Vizoso
fe6d1c114c Auto-hide fullscreen button (unmadindu) #1102 2009-07-28 15:11:41 +02:00
Aleksey Lim
2088bd5f2a Add activity.keep_button 2009-07-28 11:58:31 +00:00
Aleksey Lim
095c732c9a Add activity.share_button 2009-07-28 11:50:36 +00:00
Tomeu Vizoso
d7e0e22f49 update mime type db when a new activity is copied to ~/Activities #955 2009-07-22 11:54:12 +02:00
Aleksey Lim
d4cbd4150e Support legacy stop button in ActivityToolbar 2009-07-13 18:34:02 +00:00
Aleksey Lim
ad1f66f58a Add toolbar.py and radiopalette.py to Makefile.am 2009-07-13 18:14:10 +00:00
Aleksey Lim
b2fa922b01 Do not fail in <0.86 environment 2009-07-13 03:18:24 +00:00
Aleksey Lim
165b9e1e05 Provide fast access to all sub-widgets in Toolbar 2009-07-13 03:11:39 +00:00
Aleksey Lim
5d2c5b98ff Do not hide sub-widget when sub-palette was opened 2009-07-13 02:58:49 +00:00
Aleksey Lim
44a8ecd836 Do not add extra vertical padding to sub-widgets 2009-07-13 01:57:27 +00:00
Aleksey Lim
442034bb8b Support new toolbars widgets in activity.py 2009-07-13 01:40:23 +00:00
Aleksey Lim
55609885de Add radiopalette.py 2009-07-13 00:32:26 +00:00
Tomeu Vizoso
8d21a6d884 Pass the event time in key events 2009-07-12 14:11:41 +02:00
Aleksey Lim
ff87ce76e5 Close palette while removing ToolbarButton 2009-07-12 04:38:13 +00:00
Aleksey Lim
82785558d4 Use padding property for top toolbar and all sub-widgets 2009-07-12 04:32:51 +00:00
Aleksey Lim
e256b96366 Implement palette mode 2009-07-12 01:42:23 +00:00
Aleksey Lim
f9de29f539 Delete sub-widgets clearly 2009-07-11 14:22:05 +00:00
Aleksey Lim
4c8c845e6c Add hpad prop for Toolbar; add expand_bg for ToolbarButton 2009-07-11 13:22:02 +00:00
Aleksey Lim
d22e690822 md5 and sha module will be deprecated in python 2.6 #266 2009-07-11 13:07:22 +00:00
Daniel Drake
5fc5b08599 Fix ContentBundle bundle_id
Most content bundles use global_name as the ID-style thing, as suggested
on the OLPC wiki. bundle_class seems undocumented and hence is not
present in any of the content bundles I have here.

Change get_bundle_id() to fall back on the global_name if no bundle_class
is set. This fixes a complete sugar crash when installing the standard
content bundles (it tried to send a None value over dbus).
2009-07-10 18:55:49 +01:00
Aleksey Lim
2fc1cab92d Add simple toolbars example 2009-07-10 04:07:10 +00:00
Aleksey Lim
71e6228ceb Initial implementation of toolbars mockup 2009-07-10 04:04:03 +00:00
Tomeu Vizoso
3dad7c6fff Make Window.canvas a property 2009-07-08 13:16:22 +02:00
Tomeu Vizoso
afce505143 Rename activate signal in cell renderers to 'clicked' 2009-06-30 10:09:42 +02:00
Tomeu Vizoso
434b1e5899 Handle cell activation by button-release 2009-06-27 18:04:00 +02:00
Tomeu Vizoso
985edb0e4d Reduce motion are for treeview palettes to the bin window 2009-06-27 16:06:13 +02:00
Tomeu Vizoso
ecea76479b Remove transformation into png in CellRendererIcon 2009-06-24 20:25:26 +02:00
Tomeu Vizoso
86fae16aed icon-name is a str 2009-06-22 11:59:10 +02:00
Tomeu Vizoso
cd7debb52a Add support for tags in activity bundles 2009-06-16 16:22:48 +02:00
Tomeu Vizoso
042a09cccd Expose telepathy_room_handle (cassidy) #757 2009-06-15 15:46:08 +02:00
Benjamin Berg
4bb221349c Emit a row_changed signal to redraw the CellRendererIcon on prelight.
This fixes a problem where the wrong part of the treeview was redrawn.
2009-06-14 14:08:52 +02:00
Tomeu Vizoso
13afd91bad Implement prelighting of cell renderer icons 2009-06-13 21:24:48 +02:00
Tomeu Vizoso
32109b8764 Redraw cell renderers on hovering changed 2009-06-13 21:24:48 +02:00
Tomeu Vizoso
94e12f52f2 Silence warning and reduce debug logging a bit 2009-06-13 21:24:48 +02:00
Tomeu Vizoso
07c2b025f1 Add CellRendererInvoker 2009-06-13 21:24:48 +02:00
Tomeu Vizoso
a634ecfe14 Add activate signal to CellRendererIcon 2009-06-13 21:24:48 +02:00
Tomeu Vizoso
765de62ab8 Add CellRendererIcon 2009-06-13 21:24:48 +02:00
Tomeu Vizoso
fbad85cde9 Limit length of labels in palettes to 60 chars by default #610 2009-04-06 19:03:42 +02:00
Simon Schampijer
1d15b7f874 Merge branch 'master' of gitorious@git.sugarlabs.org:sugar-toolkit/mainline 2009-03-30 09:51:21 +02:00
Simon Schampijer
a7daf73fae Bundlebuilder list_files: Better error handling #635
Don't fail on trailing slash of the directory name
2009-03-30 09:49:59 +02:00
Tomeu Vizoso
c5e5d3aeb7 Only call read_file once on activity startup #428 2009-03-27 12:32:04 +01:00
Tomeu Vizoso
9ef619a63a Revert "Listen for map in Window instead of in Canvas (alsroot) #428"
This reverts commit eaf7afcd91.
2009-03-27 12:32:03 +01:00
Sayamindu Dasgupta
366b07e73a Use git ls-files instead of git-ls-files, to work with newer Git. d.sl.o #647 2009-03-26 23:45:39 +05:30
Simon Schampijer
720401606d Bundlebuilder: Don't include whole directory in src tarball
regression introduced by #397
2009-03-24 17:11:56 +01:00
Simon Schampijer
856a83a2da Fix spacing in debug file 2009-03-23 17:38:12 +01:00
Simon Schampijer
d5c5e376d2 Fix palettes scaling when using scaling factor 72 #504 2009-03-13 15:44:57 +01:00
Tomeu Vizoso
c4dce659a4 Use Popen.communicate() to avoid hang (Sascha Silbe) #397 2009-03-12 15:43:04 +01:00
Tomeu Vizoso
9bd24794c0 Change property type to object because int cannot be None #157 2009-03-05 12:29:36 +01:00
Tomeu Vizoso
af4faead14 Catch all exceptions while saving #224 2009-03-03 15:22:54 +01:00
Tomeu Vizoso
eaf7afcd91 Listen for map in Window instead of in Canvas (alsroot) #428 2009-03-03 14:27:01 +01:00
Tomeu Vizoso
7c0efa11c0 Restore minimal .xol support #459 2009-03-03 11:12:05 +01:00
Simon Schampijer
e27be4e416 Merge branch 'master' of gitorious@git.sugarlabs.org:sugar-toolkit/mainline 2009-03-02 15:21:15 +01:00
Simon Schampijer
2b2c2ef308 Use the same font size independent from scaling 2009-03-02 15:20:42 +01:00
Tomeu Vizoso
d22b52434b Don't recursively clean an activity if it's a symbolic link #444 2009-03-01 18:24:12 +01:00
Tomeu Vizoso
50a253b1b9 Add extension to temp icon file names #458 2009-03-01 10:36:42 +01:00
Michael Stone
a65c8d2148 Get activities launching with rainbow-0.8.x.
Future extensions:

a) we are now able to reliably detect when an activity's main process has
exited. We should take advantage of this to give better feedback on activity
crashes; e.g. by turning the frame's activity-icon into an error icon and by
inserting the activity's log into the datastore so that it appears in the
Journal.

b) in the future, I'd like rainbow to provide more narrow interfaces for
manipulating jails; e.g. for garbage-collecting them, nuking their contents, or
for reusing them. Please consider this an invitation to show me which interfaces
would work best for Sugar.

P.S. - Thanks to Sascha Silbe for testing and for improvements to this patch.
2009-02-27 16:42:47 -05:00
Simon Schampijer
6f210f0e33 Process .py files in subdirectories './setup genplot' #391 (alsroot) 2009-02-27 12:46:45 +01:00
Tomeu Vizoso
7d69328162 Improve error handling of calls to XGrabKey #431 2009-02-26 13:01:58 +01:00
Tomeu Vizoso
6508128adc Cleanup temp files at exit #435 2009-02-25 19:28:21 +01:00
Tomeu Vizoso
29cc73ae18 Let activities provide their own implementation of get_preview() #152 2009-02-25 16:09:06 +01:00
Benjamin Berg
607c2a9610 Show/Hide the color palette correctly (#374) 2009-02-24 14:29:01 +01:00
Tomeu Vizoso
a4e9c9c78e Support setting None as the secondary text #384 2009-02-24 10:56:09 +01:00
Tomeu Vizoso
77433af5ff Only display one line in the secondary text of a clipping palette #384 2009-02-24 10:37:30 +01:00
Tomeu Vizoso
e2696086e6 Switch to existing instance of an activity if it's already running #410 2009-02-24 10:34:22 +01:00
Tomeu Vizoso
30e67cc226 Reveal the palette on right click on an activity icon #409 2009-02-23 18:11:51 +01:00
Tomeu Vizoso
ede6db947e Don't try to hide the tray if the activity has none (alsroot) #395 2009-02-20 16:38:41 +01:00
Simon Schampijer
780efa55b0 NamingAlert: Icon dependent on the entry type #353 2009-02-16 16:06:38 +01:00
Tomeu Vizoso
997c384405 Add activate signal to Palette 2009-02-10 18:57:02 +01:00
Benjamin Berg
b39ed70b11 Added an option to set the background color of CanvasIcon. Then a RGB cache can be used. 2009-02-10 17:58:02 +01:00
Tomeu Vizoso
474b2c3476 Set the locale path for sugar-toolkit #55 2009-02-05 18:47:08 +01:00
Tomeu Vizoso
ace5e73d3d Don't push to the DS a file path pointing to nowhere #258 2009-02-05 12:43:50 +01:00
Tomeu Vizoso
6084eb9fea Start adapting to Python 4.0 2009-02-04 11:49:48 +01:00
Tomeu Vizoso
e8c36247a5 Palette positioning fixes #298
Don't try to align the palette to the edges if the invoker is AT_CURSOR,
and always try to move the palette completely into the screen if at all
possible.
2009-02-03 15:03:36 +01:00
Simon Schampijer
d0d4f55121 'Resume' activity window when NamingAlert is displayed #293 2009-02-02 17:45:22 +01:00
Simon Schampijer
38f0ac83d2 Naming alert prevents activity close on keep error #224
When the Naming alert is shown and a keep error occurs,
the activity can not be closed.
2009-01-28 20:30:19 +01:00
Simon Schampijer
9e3a8ab007 enhancements to the naming alert
- focus the title entry
- add accelerator for the 'Keep' button which is enter/return
2009-01-19 16:57:59 +01:00
Simon Schampijer
817a981288 Enhanced the 'Name this entry dialog'
- created the canvastextview in sugar/graphics
2009-01-18 16:30:53 +01:00
Simon Schampijer
5250117b81 Fix color button pylint 2009-01-16 23:46:20 +01:00
Tomeu Vizoso
64d24f3ac5 Fix the keep button in the title activity 2009-01-16 14:59:12 +01:00
Simon Schampijer
72fca76d01 separate debug settings from xsession #163 2009-01-16 13:49:56 +01:00
Tomeu Vizoso
67d1d3bcad Make the title alert look a bit nicer 2009-01-13 19:54:02 +01:00
Tomeu Vizoso
ada64e85ab Show an alert on activity close for suggesting the user to set a title 2009-01-13 19:34:26 +01:00
Benjamin Berg
b669d70758 Add a colorpicker to Sugar. Only the ColorToolButton is public for now. 2009-01-13 16:48:06 +01:00
Benjamin Berg
a496b1dbf3 Merge branch 'master' of git://git.sugarlabs.org/sugar-toolkit/mainline 2009-01-12 15:38:49 +01:00
Benjamin Berg
3cde35ef31 Move the palette to new style gobject properties. 2009-01-12 15:38:08 +01:00
Tomeu Vizoso
bbd8c14cf1 pylint nitpick 2009-01-12 13:47:34 +01:00
Tomeu Vizoso
e56b381bd3 Add the file_name property to MenuItem and reduce a bit the size of its icons 2009-01-12 13:46:17 +01:00
Tomeu Vizoso
9a3cbbfe33 Rename parameter to what_filter 2009-01-06 19:17:48 +01:00
Tomeu Vizoso
9b61b1ff7b #3060 Add the possibility of filtering the object chooser by data type 2009-01-06 13:30:20 +01:00
Simon Schampijer
97e6480be1 Fix uninstallling of activities that use symlinks #171 2009-01-05 11:58:45 +01:00
Tomeu Vizoso
488b9ecbb2 Set the uid property after a new object is created 2009-01-04 16:13:59 +01:00
Tomeu Vizoso
53533be524 Set property types as object so strings are not copied 2009-01-04 12:05:27 +01:00
Tomeu Vizoso
fd078d2f66 Support nested requests for the same temp file path 2009-01-04 11:39:14 +01:00
Tomeu Vizoso
de2aa036df Fix typo 2009-01-03 19:26:33 +01:00
Tomeu Vizoso
26e5fc5ca9 Use util.TempFilePath for icons extracted from zipped bundles 2009-01-03 19:11:36 +01:00
Tomeu Vizoso
faeee47f53 Add util.TempFilePath to track the creation and release of temporal files 2009-01-03 16:47:06 +01:00
Tomeu Vizoso
44cabc891b Remove the hacks for asking the X server for screenshots and use gtk.Widget.get_snapshot() instead. 2008-12-20 16:51:29 +01:00
Marco Pesenti Gritti
4b38ff298b Fix palette highlighting on tray icons. Patch by benzea, style tweaks by me. 2008-12-18 23:53:44 +01:00
Marco Pesenti Gritti
347cc9413b Merge branch 'master' of git://git.sugarlabs.org/sugar-toolkit/mainline 2008-12-18 21:01:54 +01:00
Marco Pesenti Gritti
5b57e1a6cd Rework palette state logic. Fix #42 2008-12-18 21:00:19 +01:00
Daniel Drake
2937a09ead Use g_timeout_add_seconds() for power efficiency
This attempts to align second-granularity wakeups across the system,
reducing CPU wakeups a little.

I considered all timeouts of duration 1 second or greater, and moved
the non-timing-critical ones to g_timeout_add_seconds(). (Actually,
I didn't find any that I felt were timing-critical)
2008-12-18 19:56:08 +00:00
Tomeu Vizoso
dddcc14ac7 Remove old cruft 2008-12-15 17:48:41 +01:00
Tomeu Vizoso
43d923b4d5 Log an error message when GetPreferredConnection fails 2008-12-09 13:07:25 +01:00
Tomeu Vizoso
054aaf8590 Dont pop down the palette when a submenu opens 2008-12-07 16:50:25 +01:00
Daniel Drake
3f1509cd22 Simplify activity bundle installation
sugar-install-bundle is broken because ActivityBundle.install() gained a
required parameter. Please can we make it optional? This also fixes one
of the problems with the activity updater.
2008-12-05 21:55:34 +00:00
Tomeu Vizoso
e0c2017c50 Add colors to icons in menu items 2008-12-05 18:02:13 +01:00
Tomeu Vizoso
33e94723da Add accelerator support to menu items 2008-12-05 11:51:40 +01:00
Marco Pesenti Gritti
5a0f575718 Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-11-29 13:57:57 +01:00
Marco Pesenti Gritti
10fa6ae4c5 Emit the completed signal on shutdown completion, not on client
disconnection. When shutting down with no activity running we
was not hitting completion. Fix #11
2008-11-29 13:56:13 +01:00
Tomeu Vizoso
feeeff34a1 Remove bundle stuff 2008-11-28 19:38:32 +01:00
Tomeu Vizoso
6dfff85f9f Add view-source-related methods HandleViewSource and GetDocumentPath 2008-11-07 16:23:54 +01:00
Morgan Collett
e9ebfdea3a #8420: Fix traceback on 404 in ChunkedGlibHTTPRequestHandler
self._cleanup does the self._file.close() anyway if the file exists.
The self._file.close() removed here is redundant, and will always
fail on file not found, which is handled in send_head by returning
None for self._file.
2008-10-29 14:30:37 +02:00
Marco Pesenti Gritti
b58182a970 Mark modules as STABLE/UNSTABLE/DEPRECATED. 2008-10-28 14:19:01 +01:00
Marco Pesenti Gritti
9c74f4eec7 Drop broken release command. A more generic release tools
is being developed in sugar-tools now.
2008-10-26 01:15:20 +02:00
Guillaume Desmottes
9ab32f3b77 Add a get_shared_activity() method to sugar.activity.activity.Activity . Patch from Andrés Ambrois. #7649 2008-10-22 13:00:15 +01:00
Tomeu Vizoso
611bd9ccda Only absolutize the command when it doesnt contain already a slash 2008-10-21 17:07:03 +02:00
Tomeu Vizoso
0b7def1788 If the binary to launch is inside the bundle dir, use an absolute path. 2008-10-21 16:12:22 +02:00
Simon Schampijer
e69aa53db1 Don't import jabber_registered from the old profile
It is not used anymore by the PS
2008-10-21 12:47:11 +02:00
Eben Eliason
dce326c466 Fix up/down arrows in VTrays (#8617) 2008-10-18 17:11:11 -04:00
Eben Eliason
5cc6b27ae7 Add drag-active property to tray control (#8604)
The drag-active property can be set to provide a highlight
when the tray control is accepting target of an ongoing drag.

We can't use the drag_highlight method because we desire to
adjust the background of the widget, rather than drawing on
top of it.  Overriding these methods would work in most cases,
but in cases where GTK+ calls drag_unhighlight itself things
could break, so we use a property instead.
2008-10-18 17:08:13 -04:00
Marco Pesenti Gritti
e2439a7e44 Turn bundle into a new style class 2008-10-20 17:31:58 +02:00
Marco Pesenti Gritti
794281073b Make sure the mouse motion is stopped before starting it. 2008-10-18 16:39:12 +02:00
Tomeu Vizoso
f5d45d6acd Make sure that manifests in bundles are only called at install and deployment time, so it doesnt impact shell startup performance 2008-10-17 15:29:35 +02:00
Tomeu Vizoso
a13ca6d664 #8840 Add missing byte_arrays=True 2008-10-16 20:41:45 +02:00
Simon Schampijer
6013b8a20a Fix for old profile conversion 2008-10-13 16:53:30 +02:00
Simon Schampijer
354dec9f0c Use gconf for the profile 2008-10-11 18:28:40 +02:00
Tomeu Vizoso
bcc24a43e7 Move to cjson and drop pyjson and simplejson 2008-10-08 17:30:08 +02:00
Marco Pesenti Gritti
f5f26d59c4 Remove unused imports. 2008-10-06 16:38:25 +02:00
Marco Pesenti Gritti
5c6c7ab1d1 The activity registry is now private to the shell.
Changed the activityfactory to take a bundle instead of a bundle_id
so that it doesn't depend on the registry.
2008-10-06 15:54:46 +02:00
Marco Pesenti Gritti
0f33a634c0 Fix up scaling calculations, had some regressions in the previous commits. 2008-10-03 10:30:50 +02:00
Marco Pesenti Gritti
5a51661edf Respect SUGAR_SCALING 2008-10-03 02:15:48 +02:00
Marco Pesenti Gritti
3f08644b32 Remove workaround for old dbus-python. 2008-10-01 00:24:37 +02:00
C. Scott Ananian
897428c794 Trac #8674: sanity-check bundle root; don't delete install_root on failure.
The software updater was deleting ~/Activities when it encountered a bad
bundle.  Two separate issues:  we didn't sanity check the bundle root to
ensure it wasn't '.' or '..' or something crazy like that, and our "clean
up on failure" code was deleting the install_root instead of the activity
root (!).  This was a regression introduced by the fix for #7733 in
commit db2d1c42e2481d6dbc15405840ac23e46eab7318 (0.82.2).
2008-09-28 14:24:46 -04:00
Tomeu Vizoso
404a7b546a request byte_arrays from the DS 2008-09-26 18:36:49 +02:00
Tomeu Vizoso
afb63981fa Set the correct locale path for system activities 2008-09-25 20:19:05 +02:00
Marco Pesenti Gritti
89300c9173 Fix obvious error in the grid math #8626 2008-09-24 12:40:57 +02:00
Tomeu Vizoso
8c2bc01b6b Move DSObject.resume() from sugar-toolkit to the shell 2008-09-22 12:27:02 +02:00
Marco Pesenti Gritti
9e6ef4d2a9 Line too long fixes. 2008-09-22 10:55:05 +02:00
David Farning
88295072bd API docstrings from pydocweb 2008-09-21 09:01:48 -05:00
David Farning
3a69d3e777 API docstrings from pydocweb 2008-09-20 21:22:56 -05:00
David Farning
62128530c3 API docstrings from pydocweb 2008-09-19 19:32:55 -05:00
David Farning
dd7442a0fa API docstring update from pydocweb 2008-09-19 19:00:00 -05:00
C. Scott Ananian
d16334a042 Trac #8563: sugar palette doesn't handle 'table menus'.
The gtk Menu class supports 'table menus', where the menu entries can
be laid out in a grid. This is useful for horizontal menus, and for
dense menus of icons, and for wrapping the menu when it gets too long,
etc.

The Menu.attach() method is used to add entries to a menu by row and
column:
 http://www.pygtk.org/docs/pygtk/class-gtkmenu.html#method-gtkmenu--attach

However, the callback in _Menu, defined in palette.py, only triggers
on do_insert(), and so the signal emission (and subsequent
palette._update_separators() call, which places the line underneath
the menu title text at top) never occurs when you add entries using
attach(). _Menu now overrides attach() and emits the proper signal.
2008-09-19 11:18:36 -04:00
Marco Pesenti Gritti
7eafbe9ce9 Failure to close descriptor is actually expected. Don't bloat the logs. 2008-09-19 11:38:23 +02:00
Marco Pesenti Gritti
6a5d0c837b Another pylint fix. 2008-09-19 00:32:46 +02:00
Marco Pesenti Gritti
a151135e2e Fix a few pylint warnings. 2008-09-19 00:18:31 +02:00
Simon Schampijer
e429c258ca Allow setting empty jabber server (2)
fix #8354 completely
2008-09-18 23:19:55 +02:00
C. Scott Ananian
28586edb2f Trac #8532: remove SIGCHLD handler, which interacts poorly with threads.
Threads and signals don't get along too well together.  Instead, use
gobject's spawn_async functionality which already has the necessary zombie-
reaping integrated into the gobject event loop.
2008-09-18 11:14:41 -04:00
Tomeu Vizoso
f2a8948bf1 #8485 Detach from palette when a widget is destroyed 2008-09-18 14:50:58 +02:00
Guillaume Desmottes
1ab0c67830 fix weird change in _share_activity_cb causing all activity sharing fails 2008-09-18 11:46:40 +01:00
Erik Garrison
a6ef6742f5 Removed unused TakeScreenshot from the dbus interface provided by
activityservice.py as suggested by Marco @ trac #8432.
2008-09-17 14:48:14 -04:00
Erik Garrison
c1f6d9843d Cleanup screenshot acquisition behavior in activity.py, so that we acquire
screenshots on user-initiated activity save and close.  Check before saving
that the window is not fully obscured, as it might be if the user initiates the
close from the frame--- this would produce incorrect screenshots.  The check
for visibility is done by attaching a handler to the Activity class which
handles visibility-notify-events from X.  In the sugar repository equivalent
changes remove automated screenshot acquisition from window manager navigation
events (e.g. tabbing).
2008-09-17 14:25:38 -04:00
Marco Pesenti Gritti
c613b9cf5e Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-09-16 17:03:32 +02:00
David Farning
4a73c86dbb add parameters to docs 2008-09-16 17:03:12 +02:00
Tomeu Vizoso
a93992eedc Revert "Move DSObject.resume() from sugar-toolkit to the shell"
This reverts commit 13682dd1b4.
2008-09-16 16:03:49 +02:00
Tomeu Vizoso
be32d3fb67 Remove the clipboard service wrapper 2008-09-16 15:34:26 +02:00
Tomeu Vizoso
13682dd1b4 Move DSObject.resume() from sugar-toolkit to the shell 2008-09-16 11:13:36 +02:00
Tomeu Vizoso
6c1eed78d8 s/print/logging.debug 2008-09-15 15:45:35 +02:00
Marco Pesenti Gritti
5ecfcba365 No need to test alsa open at object creationg, since
we don't have a fallback.
2008-09-14 12:55:16 +02:00
Marco Pesenti Gritti
be7b97dde7 Fix weird handling of error condition when opening alsa. 2008-09-13 22:52:20 +02:00
Marco Pesenti Gritti
be014cc270 Alsa based volume control API, stealed from gnome-settings-daemon. #8375 2008-09-13 13:48:25 +02:00
Marco Pesenti Gritti
388f74a56d Add a SugarGrid object to replace the numpy implementation. Part of the fix for #8394 2008-09-13 13:30:10 +02:00
Marco Pesenti Gritti
1ac335f271 Break the reference cycle between menu and palette. #8469 2008-09-13 13:25:40 +02:00
Simon Schampijer
1af96495d2 bundlebuilder: remove an existing locale dir before building 2008-09-13 12:02:22 +02:00
Simon Schampijer
199a91ff87 don't build the locale for the pseudo.po 2008-09-12 13:15:49 +02:00
Marco Pesenti Gritti
9eb7e3a7df Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-09-11 10:52:35 +02:00
Marco Pesenti Gritti
171e76cfb8 Default to empty jabber server. Patch by gdesmott with minor change by me.
Fix #8354
2008-09-11 10:51:59 +02:00
Simon Schampijer
e721f74f63 Ignore pseudo.po for the manifest 2008-09-11 10:49:54 +02:00
Tomeu Vizoso
0490247fcb Hopefully really avoid access to private member 2008-09-11 09:03:05 +02:00
Tomeu Vizoso
5c1f3b7daa Revert "Avoid access to private member"
This reverts commit 0cf0cacbd0.
2008-09-11 09:00:44 +02:00
Tomeu Vizoso
c79bc15f5f #8394 Destroy the palette when the invoker is dettached 2008-09-10 18:05:53 +02:00
Tomeu Vizoso
0cf0cacbd0 Avoid access to private member 2008-09-10 18:04:15 +02:00
Tomeu Vizoso
865c234a1e Revert "Avoid access to private member."
This reverts commit 8301b9269a.
2008-09-10 17:54:45 +02:00
Simon Schampijer
2e41124c87 Remove "dynamic" font height computation #8392 (marco) 2008-09-10 12:36:27 +02:00
Simon Schampijer
1d29440bfd bundlebuilder: fix the release command 2008-09-09 17:41:42 +02:00
Marco Pesenti Gritti
866f26aced Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-09-08 09:13:33 +02:00
Marco Pesenti Gritti
3f78abb8c2 Keep compatibility with the private shared_activity 2008-09-08 01:30:20 +02:00
Marco Pesenti Gritti
3d9f3eca67 Disable the few remaining pylint messages 2008-09-07 23:57:27 +02:00
Marco Pesenti Gritti
b307237dbf Make shared_activity public. 2008-09-07 22:07:49 +02:00
Marco Pesenti Gritti
8301b9269a Avoid access to private member. 2008-09-07 22:01:27 +02:00
Marco Pesenti Gritti
549ace8c11 More cleanups to make pylint happy. 2008-09-07 21:51:10 +02:00
Marco Pesenti Gritti
ebcf1f6988 Get rid of the custom _hide/_show and just use the widget
methods. Related cleanups.
2008-09-07 21:18:27 +02:00
Simon Schampijer
9041e4db0e Fix pylint for bundlebuilder 2008-08-31 21:35:37 +02:00
Simon Schampijer
783ec6734c Merge branch 'master' of ssh+git://dev.laptop.org/git/sugar-toolkit 2008-08-31 21:33:55 +02:00
Simon Schampijer
e7a10be1d4 Do a more "standard" system installation for bundlebuilder
- setup.py install takes a --prefix option and no arguments.
- mo files are installed in /usr/share/locale.
- po files are not installed
- 8136 (marco)
2008-08-31 21:33:39 +02:00
Marco Pesenti Gritti
6e503b0a24 Ensure that the widget is fully onscreen before taking a screenshot.
Otherwise X emits a BadMatch and gtk kills the process (!).
Fix #8220
2008-08-31 14:40:03 +02:00
Marco Pesenti Gritti
938e2e9648 Do not try to list the mimetypes directory if it does not exist.
Fix #7837
2008-08-31 14:36:13 +02:00
Marco Pesenti Gritti
9f88241ff5 Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-08-27 14:54:10 +02:00
Marco Pesenti Gritti
98460fb2e2 Fix pylint complain 2008-08-27 14:53:59 +02:00
Simon Schampijer
dd031b4d83 Set the env var SUGAR_BUNDLE_VERSION #5428 (marco) 2008-08-27 12:00:50 +02:00
Marco Pesenti Gritti
453e08c8d7 Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-08-27 11:05:19 +02:00
Marco Pesenti Gritti
b2ce8b030f Factor out sugar-activity code to the toolkit. 2008-08-27 11:04:54 +02:00
Simon Schampijer
c639e7291a Remove the set_size_request for the alert message
This gave problems on the xo - part of #7841
2008-08-25 14:09:52 +02:00
Benjamin Berg
927ae13aec Merge branch 'master' of git+ssh://benzea@dev.laptop.org/git/sugar-toolkit 2008-08-24 14:33:58 +02:00
Benjamin Berg
3d3e453157 Change the API of the keygrabber so only one gdk_sync is neccessary. (ticket #7999) 2008-08-24 14:31:46 +02:00
Tomeu Vizoso
7090e73c09 Revert "#8000 Only repaint the area needed (rlucchese)"
The bounds calculation won't be always correct.

This reverts commit 3bb9f47461.
2008-08-22 19:07:34 +02:00
Simon Schampijer
f29b67b032 Add update functionality to Config in bundlebuilder #7270 (marco)
This is needed by the release command to update the
bundle number
2008-08-22 15:16:30 +02:00
Marco Pesenti Gritti
f55e531f42 Warn about files missing from the MANIFEST. 2008-08-22 15:04:36 +02:00
Tomeu Vizoso
3bb9f47461 #8000 Only repaint the area needed (rlucchese) 2008-08-22 14:50:32 +02:00
Tomeu Vizoso
1f6dae2360 #7959 cache translations in util.py (rlucchese) 2008-08-22 14:33:38 +02:00
C. Scott Ananian
1bd1b6c81e Trac #7733: fix severe performance regression when creating ActivityBundle. 2008-08-19 15:46:36 -04:00
Tomeu Vizoso
5ba227ff85 #7533 ToolButton should accept activation via accelerators regardless of its state 2008-08-18 21:36:23 +02:00
Eben Eliason
a73cbc351d Merge branch 'master' of git://dev.laptop.org/sugar-toolkit 2008-08-15 05:32:14 -04:00
Simon Schampijer
ba850d5787 Wrap message in alert needed for 7841 2008-08-14 21:31:42 +02:00
Marco Pesenti Gritti
bd264577e7 Make Palette handle changes of the invoker widget. Fix #7881 2008-08-14 15:12:57 +02:00
Marco Pesenti Gritti
5cf5e91d69 pylint fix 2008-08-13 14:28:40 +02:00
Marco Pesenti Gritti
9a827ead86 Enable maximum warnings.
A bunch of compile fixes.
2008-08-12 01:53:28 +02:00
Marco Pesenti Gritti
b4aeb6038d Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-08-11 18:36:37 +02:00
Marco Pesenti Gritti
8afa8c77d2 Add missing get_type declaration 2008-08-11 18:35:34 +02:00
Khaled Hosny
4114ef699d Fix gettext invocation, and set text domain (fixes #7800) 2008-08-11 20:14:37 +05:30
Marco Pesenti Gritti
c563543dea More pylint fixes 2008-08-11 01:20:08 +02:00
Marco Pesenti Gritti
204e4f233a Port a few widgets to use new style properties. 2008-08-11 01:10:02 +02:00
Marco Pesenti Gritti
80190bf944 Several pylint fixes. 2008-08-11 00:50:29 +02:00
Marco Pesenti Gritti
4c35d77854 Drop more obsolete xmlrpc code 2008-08-11 00:22:17 +02:00
Marco Pesenti Gritti
04750e69d3 Drop broken, unused code 2008-08-11 00:18:04 +02:00
Marco Pesenti Gritti
1878c9f369 Pylint cleanups. 2008-08-11 00:00:55 +02:00
Eben Eliason
ac6cea0d44 Widen activity tile entry (#7680) 2008-08-07 22:54:15 -04:00
Marco Pesenti Gritti
0d6b2072c1 Handle multiple Activity per process correctly.
Fix #7754
2008-08-06 23:04:00 +02:00
Martin Dengler
8696e2ad1d #7759 Default home view should be ring
This is bobby's patch to #7759 changing the default home view to ring.

|TestCase|

Remove the "[Layout]" section from ~olpc/.sugar/default/config, or rm
-rf ~olpc/.sugar, or reflash.  Start sugar.  Verify the initial Home
layout is the Ring layout.
2008-08-04 12:56:26 +01:00
Benjamin Berg
a35a07f832 Put palettes into the "default" palettegroup by default again. (fix #4084) 2008-08-01 23:54:38 +02:00
Simon Schampijer
e1bd64439c Add git tagging to the 'setup.py release' command
added as well better error handling
2008-08-01 11:36:51 +02:00
Marco Pesenti Gritti
1672f410f3 Screwed up badly when changing gnome-session main_quit
to a signal. Argh.
2008-07-28 20:51:26 +02:00
Marco Pesenti Gritti
00c8a5897b Keep going even if the disk is full. Patch by cscott.
Fix #7587
2008-07-25 14:07:48 +02:00
Marco Pesenti Gritti
71f865da3f Shutdown the xsmp server. #7566 2008-07-24 15:08:51 +02:00
Jameson Quinn
48597a672f bug #7534: need_upgrade should always be True 2008-07-23 09:55:42 -06:00
Jameson Quinn
62af4ae9bb bug #7494 - uninstall from location, not future location 2008-07-23 07:09:49 -06:00
Simon Schampijer
564e6eb28d Zoom in activity when save error occurs #5136 2008-07-21 19:27:26 +02:00
Simon Schampijer
2905360178 Merge branch 'master' of git://dev.laptop.org/sugar-toolkit 2008-07-21 19:20:31 +02:00
Simon Schampijer
7fc7b39f14 Shutdown/Rebbot syncs activities data #6014 (marco) 2008-07-21 19:20:22 +02:00
Daniel Drake
02d3799b54 #7532 install + open content bundles through journal 2008-07-21 09:01:23 -04:00
chema
756b9309e8 7205: bundlebuilder accepts old "dist" cmd, checks for po dir 2008-07-19 15:54:54 +02:00
Daniel Drake
cc8e682ab0 #7523 library regeneration fails as XDG_DATA_DIRS is unset
The XDG specs say that a default value should be used if it is not set
2008-07-16 10:36:09 -04:00
Daniel Drake
d17347cc19 #7523 fix content bundle installation 2008-07-15 11:42:56 -04:00
Guillaume Desmottes
6a78863c22 Merge branch 'master' of git+ssh://guillaume@dev.laptop.org/git/sugar-toolkit into 5079-rebased 2008-07-14 18:42:58 +02:00
Martin Dengler
6a41396dd2 #4208 get_icon_state accepts negative step kwarg 2008-07-14 16:01:11 +01:00
Morgan Collett
1659332c81 #7444 Fix crash in get_joined_buddies when a buddy disappears uncleanly 2008-07-10 15:20:50 +02:00
Tomeu Vizoso
92ef9d298a #7430 Preserve the favorites layout across reboots 2008-07-09 13:43:49 +02:00
Chris Ball
176ed18699 #7434 Add Power control panel section profile code. 2008-07-08 19:45:32 -04:00
Tomeu Vizoso
ab8c054dfb #7015 Add proper alignment support to the "tray" control 2008-07-04 15:49:33 +02:00
Tomeu Vizoso
7c5fa614a6 #7054 Set activity initiator's colors in the journal entry 2008-07-03 12:30:33 +02:00
Tomeu Vizoso
73fe1e9837 #7046: Fix removal of activities 2008-07-03 12:27:28 +02:00
Guillaume Desmottes
5c40a70e5e Simplify sharing code using new PS API (import the patch attached to #5079) 2008-07-02 14:31:47 +02:00
Eben Eliason
0793312280 Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar-toolkit 2008-06-27 10:51:49 -04:00