From c8016588eaefed5a55daf6e2387087a202cd5179 Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Wed, 12 Aug 2009 07:13:21 +0000 Subject: Merge branch 'master' of gitorious@git.sugarlabs.org:sugar/mainline --- (limited to 'src') 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 = "" -- cgit v0.9.1