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>2007-07-02 12:34:41 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-07-02 12:34:41 (GMT)
commit7024f93a43501ffe40ed6e696e1f1214c2216543 (patch)
tree15bf23965f99bce14046b2b8c8c8a3902217956b
parent59bf818e99802e41f0338437ea5e8c9948637caf (diff)
Move the zoom levels inside the model
-rw-r--r--shell/model/Makefile.am2
-rw-r--r--shell/model/shellmodel.py (renamed from shell/model/ShellModel.py)5
-rwxr-xr-xshell/sugar-shell2
-rw-r--r--shell/view/Shell.py17
-rw-r--r--shell/view/frame/ZoomBox.py19
-rw-r--r--shell/view/frame/frame.py2
-rw-r--r--shell/view/home/HomeBox.py2
-rw-r--r--shell/view/home/HomeWindow.py18
-rw-r--r--shell/view/keyhandler.py11
-rw-r--r--sugar/__init__.py5
10 files changed, 45 insertions, 38 deletions
diff --git a/shell/model/Makefile.am b/shell/model/Makefile.am
index 6296ed2..486ad09 100644
--- a/shell/model/Makefile.am
+++ b/shell/model/Makefile.am
@@ -10,6 +10,6 @@ sugar_PYTHON = \
Invites.py \
Owner.py \
MeshModel.py \
- ShellModel.py \
+ shellmodel.py \
homeactivity.py \
homemodel.py
diff --git a/shell/model/ShellModel.py b/shell/model/shellmodel.py
index d714839..1117ea5 100644
--- a/shell/model/ShellModel.py
+++ b/shell/model/shellmodel.py
@@ -31,6 +31,11 @@ class ShellModel(gobject.GObject):
STATE_RUNNING = 1
STATE_SHUTDOWN = 2
+ ZOOM_MESH = 0
+ ZOOM_FRIENDS = 1
+ ZOOM_HOME = 2
+ ZOOM_ACTIVITY = 3
+
__gproperties__ = {
'state' : (int, None, None,
0, 2, STATE_RUNNING,
diff --git a/shell/sugar-shell b/shell/sugar-shell
index 08b7b85..8bd3dd0 100755
--- a/shell/sugar-shell
+++ b/shell/sugar-shell
@@ -35,7 +35,7 @@ logger.start('shell')
sys.path.insert(0, env.get_shell_path())
from view.Shell import Shell
-from model.ShellModel import ShellModel
+from model.shellmodel import ShellModel
from shellservice import ShellService
from intro import intro
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index b4e2fea..4f75241 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -29,14 +29,13 @@ from sugar.activity.activityhandle import ActivityHandle
from sugar.activity import activityfactory
from sugar.datastore import datastore
from sugar import profile
-import sugar
from view.ActivityHost import ActivityHost
from view.frame.frame import Frame
from view.keyhandler import KeyHandler
from view.home.HomeWindow import HomeWindow
from model import bundleregistry
-
+from model.shellmodel import ShellModel
from hardware import hardwaremanager
class Shell(gobject.GObject):
@@ -58,7 +57,7 @@ class Shell(gobject.GObject):
self._home_window = HomeWindow(self)
self._home_window.show()
- self._zoom_level = sugar.ZOOM_HOME
+ self._zoom_level = ShellModel.ZOOM_HOME
home_model = self._model.get_home()
home_model.connect('activity-started', self._activity_started_cb)
@@ -102,9 +101,9 @@ class Shell(gobject.GObject):
if self._current_host:
self._current_host.set_active(True)
- self.set_zoom_level(sugar.ZOOM_ACTIVITY)
+ self.set_zoom_level(ShellModel.ZOOM_ACTIVITY)
else:
- self.set_zoom_level(sugar.ZOOM_HOME)
+ self.set_zoom_level(ShellModel.ZOOM_HOME)
def get_model(self):
return self._model
@@ -134,7 +133,7 @@ class Shell(gobject.GObject):
def notify_launch(self, bundle_id, activity_id):
# Zoom to Home for launch feedback
- self.set_zoom_level(sugar.ZOOM_HOME)
+ self.set_zoom_level(ShellModel.ZOOM_HOME)
home_model = self._model.get_home()
home_model.notify_activity_launch(activity_id, bundle_id)
@@ -154,18 +153,18 @@ class Shell(gobject.GObject):
def set_zoom_level(self, level):
if self._zoom_level == level:
return
- if len(self._hosts) == 0 and level == sugar.ZOOM_ACTIVITY:
+ if len(self._hosts) == 0 and level == ShellModel.ZOOM_ACTIVITY:
return
self._zoom_level = level
- if self._zoom_level == sugar.ZOOM_ACTIVITY:
+ if self._zoom_level == ShellModel.ZOOM_ACTIVITY:
self._screen.toggle_showing_desktop(False)
else:
self._screen.toggle_showing_desktop(True)
self._home_window.set_zoom_level(self._zoom_level)
- if self._zoom_level == sugar.ZOOM_HOME:
+ if self._zoom_level == ShellModel.ZOOM_HOME:
self._frame.show()
else:
self._frame.hide()
diff --git a/shell/view/frame/ZoomBox.py b/shell/view/frame/ZoomBox.py
index 2f2b978..5bfb0e7 100644
--- a/shell/view/frame/ZoomBox.py
+++ b/shell/view/frame/ZoomBox.py
@@ -18,7 +18,8 @@ import hippo
from sugar.graphics import color
from sugar.graphics.iconbutton import IconButton
-import sugar
+
+from model.shellmodel import ShellModel
class ZoomBox(hippo.CanvasBox):
def __init__(self, shell):
@@ -29,25 +30,33 @@ class ZoomBox(hippo.CanvasBox):
icon = IconButton(icon_name='theme:stock-zoom-mesh',
stroke_color=color.BLACK,
fill_color=color.WHITE)
- icon.connect('activated', self._level_clicked_cb, sugar.ZOOM_MESH)
+ icon.connect('activated',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_MESH)
self.append(icon)
icon = IconButton(icon_name='theme:stock-zoom-friends',
stroke_color=color.BLACK,
fill_color=color.WHITE)
- icon.connect('activated', self._level_clicked_cb, sugar.ZOOM_FRIENDS)
+ icon.connect('activated',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_FRIENDS)
self.append(icon)
icon = IconButton(icon_name='theme:stock-zoom-home',
stroke_color=color.BLACK,
fill_color=color.WHITE)
- icon.connect('activated', self._level_clicked_cb, sugar.ZOOM_HOME)
+ icon.connect('activated',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_HOME)
self.append(icon)
icon = IconButton(icon_name='theme:stock-zoom-activity',
stroke_color=color.BLACK,
fill_color=color.WHITE)
- icon.connect('activated', self._level_clicked_cb, sugar.ZOOM_ACTIVITY)
+ icon.connect('activated',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_ACTIVITY)
self.append(icon)
def _level_clicked_cb(self, item, level):
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py
index 522c6af..1804784 100644
--- a/shell/view/frame/frame.py
+++ b/shell/view/frame/frame.py
@@ -27,7 +27,7 @@ from view.frame.overlaybox import OverlayBox
from view.frame.FriendsBox import FriendsBox
from view.frame.framewindow import FrameWindow
from view.frame.clipboardpanelwindow import ClipboardPanelWindow
-from model.ShellModel import ShellModel
+from model.shellmodel import ShellModel
from sugar.graphics import animator
from sugar.graphics import units
from sugar.clipboard import clipboardservice
diff --git a/shell/view/home/HomeBox.py b/shell/view/home/HomeBox.py
index 5586ba2..ff7174a 100644
--- a/shell/view/home/HomeBox.py
+++ b/shell/view/home/HomeBox.py
@@ -34,7 +34,7 @@ from sugar import env
from view.home.activitiesdonut import ActivitiesDonut
from view.devices import deviceview
from view.home.MyIcon import MyIcon
-from model.ShellModel import ShellModel
+from model.shellmodel import ShellModel
class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
__gtype_name__ = 'SugarHomeBox'
diff --git a/shell/view/home/HomeWindow.py b/shell/view/home/HomeWindow.py
index b4f94ef..61c6203 100644
--- a/shell/view/home/HomeWindow.py
+++ b/shell/view/home/HomeWindow.py
@@ -19,12 +19,12 @@ import hippo
import cairo
from sugar.graphics import units
-import sugar
from view.home.MeshBox import MeshBox
from view.home.HomeBox import HomeBox
from view.home.FriendsBox import FriendsBox
from view.home.transitionbox import TransitionBox
+from model.shellmodel import ShellModel
_HOME_PAGE = 0
_FRIENDS_PAGE = 1
@@ -37,7 +37,7 @@ class HomeWindow(gtk.Window):
self._shell = shell
self._active = False
- self._level = sugar.ZOOM_HOME
+ self._level = ShellModel.ZOOM_HOME
self._canvas = hippo.Canvas()
self.add(self._canvas)
@@ -94,7 +94,7 @@ class HomeWindow(gtk.Window):
self._home_box.release()
def _update_mesh_state(self):
- if self._active and self._level == sugar.ZOOM_MESH:
+ if self._active and self._level == ShellModel.ZOOM_MESH:
self._mesh_box.resume()
else:
self._mesh_box.suspend()
@@ -112,21 +112,21 @@ class HomeWindow(gtk.Window):
self._canvas.set_root(self._transition_box)
- if level == sugar.ZOOM_HOME:
+ if level == ShellModel.ZOOM_HOME:
scale = units.XLARGE_ICON_SCALE
- elif level == sugar.ZOOM_FRIENDS:
+ elif level == ShellModel.ZOOM_FRIENDS:
scale = units.LARGE_ICON_SCALE
- elif level == sugar.ZOOM_MESH:
+ elif level == ShellModel.ZOOM_MESH:
scale = units.STANDARD_ICON_SCALE
self._transition_box.set_scale(scale)
def _transition_completed_cb(self, transition_box):
- if self._level == sugar.ZOOM_HOME:
+ if self._level == ShellModel.ZOOM_HOME:
self._canvas.set_root(self._home_box)
- elif self._level == sugar.ZOOM_FRIENDS:
+ elif self._level == ShellModel.ZOOM_FRIENDS:
self._canvas.set_root(self._friends_box)
- elif self._level == sugar.ZOOM_MESH:
+ elif self._level == ShellModel.ZOOM_MESH:
self._canvas.set_root(self._mesh_box)
self._update_mesh_state()
diff --git a/shell/view/keyhandler.py b/shell/view/keyhandler.py
index 1633855..8a6314e 100644
--- a/shell/view/keyhandler.py
+++ b/shell/view/keyhandler.py
@@ -24,9 +24,8 @@ import gtk
from sugar import env
from hardware import hardwaremanager
-from model.ShellModel import ShellModel
+from model.shellmodel import ShellModel
from sugar._sugarext import KeyGrabber
-import sugar
_actions_table = {
'F1' : 'zoom_mesh',
@@ -90,16 +89,16 @@ class KeyHandler(object):
hw_manager.set_display_mode(mode)
def handle_zoom_mesh(self):
- self._shell.set_zoom_level(sugar.ZOOM_MESH)
+ self._shell.set_zoom_level(ShellModel.ZOOM_MESH)
def handle_zoom_friends(self):
- self._shell.set_zoom_level(sugar.ZOOM_FRIENDS)
+ self._shell.set_zoom_level(ShellModel.ZOOM_FRIENDS)
def handle_zoom_home(self):
- self._shell.set_zoom_level(sugar.ZOOM_HOME)
+ self._shell.set_zoom_level(ShellModel.ZOOM_HOME)
def handle_zoom_activity(self):
- self._shell.set_zoom_level(sugar.ZOOM_ACTIVITY)
+ self._shell.set_zoom_level(ShellModel.ZOOM_ACTIVITY)
def handle_brightness_1(self):
self._set_display_brightness(0)
diff --git a/sugar/__init__.py b/sugar/__init__.py
index 771d71a..995341d 100644
--- a/sugar/__init__.py
+++ b/sugar/__init__.py
@@ -21,10 +21,5 @@ import os
from sugar import ltihooks
-ZOOM_MESH = 0
-ZOOM_FRIENDS = 1
-ZOOM_HOME = 2
-ZOOM_ACTIVITY = 3
-
if os.path.isfile(os.path.join(os.path.dirname(__file__), 'Makefile.am')):
ltihooks.install()