Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-12-24 01:51:37 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-12-24 01:51:37 (GMT)
commitdce69ef995d6d8b86ea70d4d58d3d17b4b91860a (patch)
tree37bc6a6d7a238fe67328ea68d753d2f7bad4b5f5
parent5bd97cf5a16a5f3ae4a2c27f546aeed4be04509e (diff)
Refactor a bit to simply __init__
-rw-r--r--shell/view/Shell.py41
-rw-r--r--sugar/activity/Activity.py28
2 files changed, 48 insertions, 21 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index e5d49de..086b856 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -57,24 +57,10 @@ class Shell(gobject.GObject):
self._key_grabber = KeyGrabber()
self._key_grabber.connect('key-pressed',
- self.__global_key_pressed_cb)
+ self._key_pressed_cb)
self._key_grabber.connect('key-released',
- self.__global_key_released_cb)
- self._key_grabber.grab('F1')
- self._key_grabber.grab('F2')
- self._key_grabber.grab('F3')
- self._key_grabber.grab('F4')
- self._key_grabber.grab('F5')
- self._key_grabber.grab('F6')
- self._key_grabber.grab('F7')
- self._key_grabber.grab('F8')
- self._key_grabber.grab('0xDC') # Camera key
- self._key_grabber.grab('0xE0') # Overlay key
- self._key_grabber.grab('0x93') # Frame key
-
- # For non-OLPC machines
- self._key_grabber.grab('<shft><alt>F9')
- self._key_grabber.grab('<shft><alt>F10')
+ self._key_released_cb)
+ self._grab_keys()
self._home_window = HomeWindow(self)
self._home_window.show()
@@ -95,7 +81,24 @@ class Shell(gobject.GObject):
self.start_activity('org.laptop.CameraActivity')
- def __global_key_pressed_cb(self, grabber, key):
+ def _grab_keys(self):
+ self._key_grabber.grab('F1')
+ self._key_grabber.grab('F2')
+ self._key_grabber.grab('F3')
+ self._key_grabber.grab('F4')
+ self._key_grabber.grab('F5')
+ self._key_grabber.grab('F6')
+ self._key_grabber.grab('F7')
+ self._key_grabber.grab('F8')
+ self._key_grabber.grab('0xDC') # Camera key
+ self._key_grabber.grab('0xE0') # Overlay key
+ self._key_grabber.grab('0x93') # Frame key
+
+ # For non-OLPC machines
+ self._key_grabber.grab('<shft><alt>F9')
+ self._key_grabber.grab('<shft><alt>F10')
+
+ def _key_pressed_cb(self, grabber, key):
if key == 'F1':
self.set_zoom_level(sugar.ZOOM_MESH)
elif key == 'F2':
@@ -123,7 +126,7 @@ class Shell(gobject.GObject):
elif key == '0x93': # Frame key
self._frame.notify_key_press()
- def __global_key_released_cb(self, grabber, key):
+ def _key_released_cb(self, grabber, key):
if key == '<shft><alt>F9':
self._frame.notify_key_release()
elif key == '0x93':
diff --git a/sugar/activity/Activity.py b/sugar/activity/Activity.py
index 74f940e..8d71d03 100644
--- a/sugar/activity/Activity.py
+++ b/sugar/activity/Activity.py
@@ -22,8 +22,10 @@ import dbus
import dbus.service
import gtk
import gobject
+import datetime
from sugar.presence import PresenceService
+from sugar.datastore import datastore
from sugar import activity
from sugar import env
import sugar.util
@@ -95,11 +97,13 @@ class Activity(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
- self.connect('destroy', self.__destroy_cb)
+ self.connect('destroy', self._destroy_cb)
+ self.connect('notify::title', self._title_changed_cb)
self._shared = False
self._activity_id = None
self._service = None
+ self._journal_object = None
self._pservice = PresenceService.get_instance()
self.realize()
@@ -117,8 +121,20 @@ class Activity(gtk.Window):
return
self._activity_id = sugar.util.unique_id()
+
+ ds = datastore.get_instance()
+ self._journal_object = ds.create('', {}, self._activity_id)
+
+ date = datetime.datetime.now()
+ self._journal_jobject.set_properties({'date' : date,
+ 'title' : self.get_title()})
+
self.present()
+ def get_journal_object(self):
+ """Returns the journal object associated with the activity."""
+ return self._journal_object
+
def get_type(self):
"""Gets the activity type."""
return env.get_bundle_service_name()
@@ -158,6 +174,9 @@ class Activity(gtk.Window):
else:
logging.error('Cannot join the activity')
+ ds = datastore.get_instance()
+ self._journal_object = ds.get_activity_object(self._activity_id)
+
self.present()
def share(self):
@@ -172,9 +191,14 @@ class Activity(gtk.Window):
"""Execute the given command with args"""
return False
- def __destroy_cb(self, window):
+ def _destroy_cb(self, window):
if self._bus:
del self._bus
self._bus = None
if self._service:
self._pservice.unregister_service(self._service)
+
+ def _title_changed_cb(self, window, spec):
+ jobject = self.get_journal_object()
+ if jobject:
+ jobject.set_properties({'title' : self.props.title})