Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe
diff options
context:
space:
mode:
authorEben Eliason <eben@sugar.(none)>2009-01-15 21:19:57 (GMT)
committer Eben Eliason <eben@sugar.(none)>2009-01-15 21:19:57 (GMT)
commit0283aa44993be93da36e1e1f8df3f19fcedb1285 (patch)
tree9b737a73903465d6af032ef00764e6b8a4bdf9ca /src/jarabe
parent487c684f0548a68ff6bfaf0516659de16bd2dbab (diff)
parentd8d3eea2e4e39724ca227926664aa30697ed1a02 (diff)
Merge branch 'master' of git://git.sugarlabs.org/sugar/mainline
Diffstat (limited to 'src/jarabe')
-rw-r--r--src/jarabe/controlpanel/gui.py2
-rw-r--r--src/jarabe/desktop/favoritesview.py10
-rw-r--r--src/jarabe/desktop/meshbox.py12
-rw-r--r--src/jarabe/journal/model.py2
-rw-r--r--src/jarabe/model/network.py39
5 files changed, 51 insertions, 14 deletions
diff --git a/src/jarabe/controlpanel/gui.py b/src/jarabe/controlpanel/gui.py
index 2f8da51..57f19f7 100644
--- a/src/jarabe/controlpanel/gui.py
+++ b/src/jarabe/controlpanel/gui.py
@@ -142,7 +142,7 @@ class ControlPanel(gtk.Window):
if option == 'aboutme':
self._table.attach(sectionicon, 0, 1, 0, 1)
- elif option == 'aboutxo':
+ elif option == 'aboutcomputer':
self._table.attach(sectionicon, 1, 2, 0, 1)
else:
self._table.attach(sectionicon,
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
index 81f2730..9371858 100644
--- a/src/jarabe/desktop/favoritesview.py
+++ b/src/jarabe/desktop/favoritesview.py
@@ -41,6 +41,7 @@ from jarabe.model.buddy import BuddyModel
from jarabe.model import shell
from jarabe.model import bundleregistry
from jarabe import journal
+from jarabe.controlpanel.gui import ControlPanel
from jarabe.desktop import schoolserver
from jarabe.desktop.schoolserver import RegisterError
@@ -441,7 +442,14 @@ class ActivityIcon(CanvasIcon):
if error is not None:
logging.error('Error retrieving most recent activities: %r' % error)
- self._journal_entries = entries
+ # If there's a problem with the DS index, we may get entries not related
+ # to this activity.
+ checked_entries = []
+ for entry in entries:
+ if entry['activity'] == self.bundle_id:
+ checked_entries.append(entry)
+
+ self._journal_entries = checked_entries
self._update()
def _update(self):
diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py
index e650ba7..ab7348c 100644
--- a/src/jarabe/desktop/meshbox.py
+++ b/src/jarabe/desktop/meshbox.py
@@ -222,6 +222,10 @@ class AccessPointView(CanvasPulsingIcon):
state = network.DEVICE_STATE_UNKNOWN
if state == network.DEVICE_STATE_ACTIVATED:
+ connection = network.find_connection(self._name)
+ if connection:
+ connection.set_connected()
+
icon_name = '%s-connected' % _ICON_NAME
else:
icon_name = _ICON_NAME
@@ -342,10 +346,10 @@ class AccessPointView(CanvasPulsingIcon):
wireless_security = self._get_security()
settings.wireless_security = wireless_security
- connection = network.add_connection(self._name, settings)
+ if wireless_security is not None:
+ settings.wireless.security = '802-11-wireless-security'
- if wireless_security is None:
- self._connection = connection
+ connection = network.add_connection(self._name, settings)
obj = self._bus.get_object(_NM_SERVICE, _NM_PATH)
netmgr = dbus.Interface(obj, _NM_IFACE)
@@ -357,8 +361,6 @@ class AccessPointView(CanvasPulsingIcon):
error_handler=self.__activate_error_cb)
def __activate_reply_cb(self, connection):
- if self._connection:
- self._connection.save()
logging.debug('Connection activated: %s', connection)
def __activate_error_cb(self, err):
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py
index b399ad6..663cb12 100644
--- a/src/jarabe/journal/model.py
+++ b/src/jarabe/journal/model.py
@@ -336,7 +336,7 @@ class InplaceResultSet(BaseResultSet):
self.progress.send(self)
except Exception:
- logging.error('Error reading file %r: %r' % \
+ logging.error('Error reading file %r: %s' % \
(full_path, traceback.format_exc()))
if self._pending_directories == 0:
diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py
index 3900649..bd4b7d1 100644
--- a/src/jarabe/model/network.py
+++ b/src/jarabe/model/network.py
@@ -16,6 +16,7 @@
import logging
import os
+import time
import dbus
import ConfigParser
@@ -87,7 +88,6 @@ class WirelessSecurity(object):
def get_dict(self):
wireless_security = {}
-
if self.key_mgmt is not None:
wireless_security['key-mgmt'] = self.key_mgmt
if self.proto is not None:
@@ -96,26 +96,35 @@ class WirelessSecurity(object):
wireless_security['pairwise'] = self.pairwise
if self.group is not None:
wireless_security['group'] = self.group
-
return wireless_security
class Wireless(object):
def __init__(self):
self.ssid = None
+ self.security = None
def get_dict(self):
- return {'ssid': self.ssid}
+ wireless = {'ssid': self.ssid}
+ if self.security:
+ wireless['security'] = self.security
+ return wireless
class Connection(object):
def __init__(self):
self.id = None
self.uuid = None
self.type = None
+ self.autoconnect = False
+ self.timestamp = None
def get_dict(self):
- return {'id': self.id,
- 'uuid': self.uuid,
- 'type': self.type}
+ connection = {'id': self.id,
+ 'uuid': self.uuid,
+ 'type': self.type,
+ 'autoconnect': self.autoconnect}
+ if self.timestamp:
+ connection['timestamp'] = self.timestamp
+ return connection
class Settings(object):
def __init__(self):
@@ -205,6 +214,11 @@ class NMSettingsConnection(dbus.service.Object):
self._settings = settings
self._secrets = secrets
+ def set_connected(self):
+ self._settings.connection.autoconnect = True
+ self._settings.connection.timestamp = int(time.time())
+ self.save()
+
def set_secrets(self, secrets):
self._secrets = secrets
self.save()
@@ -229,6 +243,10 @@ class NMSettingsConnection(dbus.service.Object):
config.set(identifier, 'type', self._settings.connection.type)
config.set(identifier, 'ssid', self._settings.wireless.ssid)
config.set(identifier, 'uuid', self._settings.connection.uuid)
+ config.set(identifier, 'autoconnect',
+ self._settings.connection.autoconnect)
+ config.set(identifier, 'timestamp',
+ self._settings.connection.timestamp)
if self._settings.wireless_security is not None:
if self._settings.wireless_security.key_mgmt is not None:
@@ -243,6 +261,9 @@ class NMSettingsConnection(dbus.service.Object):
if self._settings.wireless_security.group is not None:
config.set(identifier, 'group',
self._settings.wireless_security.group)
+ if self._settings.wireless.security is not None:
+ config.set(identifier, 'security',
+ self._settings.wireless.security)
if self._secrets is not None:
if self._settings.wireless_security.key_mgmt == 'none':
config.set(identifier, 'key', self._secrets.wep_key)
@@ -339,6 +360,10 @@ def load_connections():
settings.connection.uuid = uuid
nmtype = config.get(section, 'type')
settings.connection.type = nmtype
+ autoconnect = bool(config.get(section, 'autoconnect'))
+ settings.connection.autoconnect = autoconnect
+ timestamp = int(config.get(section, 'timestamp'))
+ settings.connection.timestamp = timestamp
secrets = None
if config.has_option(section, 'key-mgmt'):
@@ -346,6 +371,8 @@ def load_connections():
settings.wireless_security = WirelessSecurity()
mgmt = config.get(section, 'key-mgmt')
settings.wireless_security.key_mgmt = mgmt
+ security = config.get(section, 'security')
+ settings.wireless.security = security
key = config.get(section, 'key')
if mgmt == 'none':
secrets.wep_key = key