Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2009-08-12 07:13:21 (GMT)
committer Simon Schampijer <simon@schampijer.de>2009-08-12 07:13:21 (GMT)
commitc8016588eaefed5a55daf6e2387087a202cd5179 (patch)
tree5c723e24aa89c0c4ce6ebe54f6a93a7acf51ff8c /src
parentf0d5242a11e5a6f5430629420c5e64d74734ac92 (diff)
parent0224153536d2fbdbd318211173171074f38251cb (diff)
Merge branch 'master' of gitorious@git.sugarlabs.org:sugar/mainline
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/desktop/activitieslist.py2
-rw-r--r--src/jarabe/desktop/keydialog.py2
-rw-r--r--src/jarabe/frame/activitiestray.py12
-rw-r--r--src/jarabe/journal/__init__.py15
-rw-r--r--src/jarabe/journal/listview.py2
-rw-r--r--src/jarabe/journal/objectchooser.py6
-rw-r--r--src/jarabe/model/buddy.py11
-rw-r--r--src/jarabe/model/bundleregistry.py8
-rw-r--r--src/jarabe/model/filetransfer.py1
-rw-r--r--src/jarabe/view/service.py19
10 files changed, 45 insertions, 33 deletions
diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py
index 299df14..1284af4 100644
--- a/src/jarabe/desktop/activitieslist.py
+++ b/src/jarabe/desktop/activitieslist.py
@@ -203,7 +203,7 @@ class ListModel(gtk.TreeModelSort):
for row in self._model:
if row[ListModel.COLUMN_BUNDLE_ID] == bundle_id and \
row[ListModel.COLUMN_VERSION] == version:
- self.remove(row.iter)
+ self._model.remove(row.iter)
return
def _add_activity(self, activity_info):
diff --git a/src/jarabe/desktop/keydialog.py b/src/jarabe/desktop/keydialog.py
index 93f07c4..b9b229b 100644
--- a/src/jarabe/desktop/keydialog.py
+++ b/src/jarabe/desktop/keydialog.py
@@ -239,7 +239,7 @@ class WPAKeyDialog(KeyDialog):
elif len(key) >= 8 and len(key) <= 63:
# passphrase
from subprocess import Popen, PIPE
- p = Popen(['/usr/sbin/wpa_passphrase', ssid, key], stdout=PIPE)
+ p = Popen(['wpa_passphrase', ssid, key], stdout=PIPE)
for line in p.stdout:
if line.strip().startswith("psk="):
real_key = line.strip()[4:]
diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py
index 1e2b8e8..0025403 100644
--- a/src/jarabe/frame/activitiestray.py
+++ b/src/jarabe/frame/activitiestray.py
@@ -815,8 +815,9 @@ class OutgoingTransferPalette(BaseTransferPalette):
self._update()
def _update(self):
- logging.debug('_update state: %r' % self.file_transfer.props.state)
- if self.file_transfer.props.state == filetransfer.FT_STATE_PENDING:
+ new_state = self.file_transfer.props.state
+ logging.debug('_update state: %r' % new_state)
+ if new_state == filetransfer.FT_STATE_PENDING:
menu_item = MenuItem(_('Cancel'), icon_name='dialog-cancel')
menu_item.connect('activate', self.__cancel_activate_cb)
@@ -840,8 +841,8 @@ class OutgoingTransferPalette(BaseTransferPalette):
vbox.add(label)
label.show()
- elif self.file_transfer.props.state in \
- [filetransfer.FT_STATE_ACCEPTED, filetransfer.FT_STATE_OPEN]:
+ elif new_state in [filetransfer.FT_STATE_ACCEPTED,
+ filetransfer.FT_STATE_OPEN]:
for item in self.menu.get_children():
self.menu.remove(item)
@@ -865,7 +866,8 @@ class OutgoingTransferPalette(BaseTransferPalette):
self.update_progress()
- elif self.file_transfer.props.state == filetransfer.FT_STATE_COMPLETED:
+ elif new_state in [filetransfer.FT_STATE_COMPLETED,
+ filetransfer.FT_STATE_CANCELLED]:
for item in self.menu.get_children():
self.menu.remove(item)
diff --git a/src/jarabe/journal/__init__.py b/src/jarabe/journal/__init__.py
index e69de29..6373228 100644
--- a/src/jarabe/journal/__init__.py
+++ b/src/jarabe/journal/__init__.py
@@ -0,0 +1,15 @@
+# Copyright (C) 2007, One Laptop Per Child
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
diff --git a/src/jarabe/journal/listview.py b/src/jarabe/journal/listview.py
index 4b325f9..5e20577 100644
--- a/src/jarabe/journal/listview.py
+++ b/src/jarabe/journal/listview.py
@@ -246,7 +246,7 @@ class BaseListView(gtk.Bin):
def __destroy_cb(self, widget):
if self._model is not None:
- self._model.destroy()
+ self._model.stop()
def __favorite_set_data_cb(self, column, cell, tree_model, tree_iter):
favorite = self._model[tree_iter][ListModel.COLUMN_FAVORITE]
diff --git a/src/jarabe/journal/objectchooser.py b/src/jarabe/journal/objectchooser.py
index 0e6de27..827f228 100644
--- a/src/jarabe/journal/objectchooser.py
+++ b/src/jarabe/journal/objectchooser.py
@@ -128,9 +128,9 @@ class ObjectChooser(gtk.Window):
def __query_changed_cb(self, toolbar, query):
self._list_view.update_with_query(query)
- def __volume_changed_cb(self, volume_toolbar, volume_id):
- logging.debug('Selected volume: %r.' % volume_id)
- self._toolbar.set_volume_id(volume_id)
+ def __volume_changed_cb(self, volume_toolbar, mount_point):
+ logging.debug('Selected volume: %r.' % mount_point)
+ self._toolbar.set_mount_point(mount_point)
def __visibility_notify_event_cb(self, window, event):
logging.debug('visibility_notify_event_cb %r' % self)
diff --git a/src/jarabe/model/buddy.py b/src/jarabe/model/buddy.py
index b51b808..1fa9e2c 100644
--- a/src/jarabe/model/buddy.py
+++ b/src/jarabe/model/buddy.py
@@ -35,6 +35,9 @@ class BuddyModel(gobject.GObject):
'icon-changed': (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE,
([])),
+ 'tags-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([gobject.TYPE_PYOBJECT])),
'current-activity-changed': (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE,
([gobject.TYPE_PYOBJECT]))
@@ -47,6 +50,7 @@ class BuddyModel(gobject.GObject):
gobject.GObject.__init__(self)
self._color = None
+ self._tags = None
self._ba_handler = None
self._pc_handler = None
self._dis_handler = None
@@ -99,6 +103,9 @@ class BuddyModel(gobject.GObject):
def get_color(self):
return self._color
+ def get_tags(self):
+ return self._tags
+
def get_buddy(self):
return self._buddy
@@ -124,6 +131,7 @@ class BuddyModel(gobject.GObject):
self._buddy = buddy
self._key = self._buddy.props.key
self._nick = self._buddy.props.nick
+ self._tags = self._buddy.props.tags
self._set_color_from_string(self._buddy.props.color)
self._pc_handler = self._buddy.connect('property-changed',
@@ -155,6 +163,9 @@ class BuddyModel(gobject.GObject):
if 'nick' in keys:
self._nick = self._buddy.props.nick
self.emit('nick-changed', self.get_nick())
+ if 'tags' in keys:
+ self._tags = self._buddy.props.tags
+ self.emit('tags-changed', self.get_tags())
def _buddy_disappeared_cb(self, buddy):
if buddy != self._buddy:
diff --git a/src/jarabe/model/bundleregistry.py b/src/jarabe/model/bundleregistry.py
index 2155208..9d7e957 100644
--- a/src/jarabe/model/bundleregistry.py
+++ b/src/jarabe/model/bundleregistry.py
@@ -169,6 +169,9 @@ class BundleRegistry(gobject.GObject):
def __iter__(self):
return self._bundles.__iter__()
+ def __len__(self):
+ return len(self._bundles)
+
def _scan_directory(self, path):
if not os.path.isdir(path):
return
@@ -330,12 +333,9 @@ class BundleRegistry(gobject.GObject):
def install(self, bundle):
activities_path = env.get_user_activities_path()
- if self.get_bundle(bundle.get_bundle_id()):
- raise AlreadyInstalledException
-
for installed_bundle in self._bundles:
if bundle.get_bundle_id() == installed_bundle.get_bundle_id() and \
- bundle.get_activity_version() == \
+ bundle.get_activity_version() <= \
installed_bundle.get_activity_version():
raise AlreadyInstalledException
elif bundle.get_bundle_id() == installed_bundle.get_bundle_id():
diff --git a/src/jarabe/model/filetransfer.py b/src/jarabe/model/filetransfer.py
index 6419f28..d0d28fa 100644
--- a/src/jarabe/model/filetransfer.py
+++ b/src/jarabe/model/filetransfer.py
@@ -51,6 +51,7 @@ FT_REASON_REMOTE_ERROR = 6
CHANNEL_TYPE_FILE_TRANSFER = \
'org.freedesktop.Telepathy.Channel.Type.FileTransfer'
+# TODO Move to use splice_async() in Sugar 0.88
class StreamSplicer(gobject.GObject):
_CHUNK_SIZE = 10240 # 10K
__gsignals__ = {
diff --git a/src/jarabe/view/service.py b/src/jarabe/view/service.py
index df00ba6..ef225bf 100644
--- a/src/jarabe/view/service.py
+++ b/src/jarabe/view/service.py
@@ -29,8 +29,6 @@ _DBUS_SHELL_IFACE = "org.laptop.Shell"
_DBUS_OWNER_IFACE = "org.laptop.Shell.Owner"
_DBUS_PATH = "/org/laptop/Shell"
-_DBUS_RAINBOW_IFACE = "org.laptop.security.Rainbow"
-
class UIService(dbus.service.Object):
"""Provides d-bus service to script the shell's operations
@@ -50,8 +48,6 @@ class UIService(dbus.service.Object):
anything other than add_bundle
"""
- _rainbow = None
-
def __init__(self):
bus = dbus.SessionBus()
bus_name = dbus.service.BusName(_DBUS_SERVICE, bus=bus)
@@ -123,22 +119,9 @@ class UIService(dbus.service.Object):
def _owner_icon_changed_cb(self, new_icon):
self.IconChanged(dbus.ByteArray(new_icon))
- def _get_rainbow_service(self):
- """Lazily initializes an interface to the Rainbow security daemon."""
- if self._rainbow is None:
- system_bus = dbus.SystemBus()
- obj = system_bus.get_object(_DBUS_RAINBOW_IFACE, '/',
- follow_name_owner_changes=True)
- self._rainbow = dbus.Interface(obj,
- dbus_interface=_DBUS_RAINBOW_IFACE)
- return self._rainbow
-
@dbus.service.signal(_DBUS_OWNER_IFACE, signature="s")
def CurrentActivityChanged(self, activity_id):
- if os.path.exists('/etc/olpc-security'):
- self._get_rainbow_service().ChangeActivity(
- activity_id,
- dbus_interface=_DBUS_RAINBOW_IFACE)
+ pass
def _cur_activity_changed_cb(self, shell_model, new_activity):
new_id = ""