From 0ef5c4b8917bade623681cf8fa5ff040aca12279 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 24 Sep 2007 20:04:45 +0000 Subject: Add arrows on the homepage to hint about frame activation. --- (limited to 'shell') diff --git a/shell/sugar-shell b/shell/sugar-shell index 63225fc..0ecc4eb 100755 --- a/shell/sugar-shell +++ b/shell/sugar-shell @@ -101,6 +101,9 @@ def main(): _start_matchbox() _setup_translations() + icons_path = env.get_data_path('icons') + gtk.icon_theme_get_default().append_search_path(icons_path) + # Do initial setup if needed if not get_profile().is_valid(): win = intro.IntroWindow() diff --git a/shell/view/home/HomeBox.py b/shell/view/home/HomeBox.py index 79628ba..69a277b 100644 --- a/shell/view/home/HomeBox.py +++ b/shell/view/home/HomeBox.py @@ -28,6 +28,7 @@ from hardware import hardwaremanager from sugar.graphics import style from sugar.graphics.xocolor import XoColor from sugar.graphics.palette import Palette, CanvasInvoker +from sugar.graphics.icon import CanvasIcon from sugar import profile from sugar import env @@ -46,24 +47,55 @@ class HomeBox(hippo.CanvasBox, hippo.CanvasItem): shell_model = shell.get_model() - top_box = hippo.CanvasBox(box_height=style.GRID_CELL_SIZE) + top_box = hippo.CanvasBox(yalign=hippo.ALIGNMENT_START, + box_height=style.GRID_CELL_SIZE, + orientation=hippo.ORIENTATION_HORIZONTAL) self.append(top_box, hippo.PACK_EXPAND) + nw_arrow = CanvasIcon(icon_name='arrow_NW', + xalign=hippo.ALIGNMENT_START) + top_box.append(nw_arrow) + + arrows_separator = hippo.CanvasBox() + top_box.append(arrows_separator, hippo.PACK_EXPAND) + + ne_arrow = CanvasIcon(icon_name='arrow_NE', + xalign=hippo.ALIGNMENT_END) + top_box.append(ne_arrow) + self._donut = ActivitiesDonut(shell) self.append(self._donut) bottom_box = hippo.CanvasBox(yalign=hippo.ALIGNMENT_END, - box_height=style.GRID_CELL_SIZE) + box_height=style.GRID_CELL_SIZE, + orientation=hippo.ORIENTATION_HORIZONTAL) self.append(bottom_box, hippo.PACK_EXPAND) self._my_icon = _MyIcon(shell, style.XLARGE_ICON_SIZE) self.append(self._my_icon, hippo.PACK_FIXED) + sw_arrow = CanvasIcon(icon_name='arrow_SW', + xalign=hippo.ALIGNMENT_START) + bottom_box.append(sw_arrow) + devices_box = _DevicesBox(shell_model.get_devices()) - bottom_box.append(devices_box) + bottom_box.append(devices_box, hippo.PACK_EXPAND) + + se_arrow = CanvasIcon(icon_name='arrow_SE', + xalign=hippo.ALIGNMENT_END) + bottom_box.append(se_arrow) + + self._arrows = [ nw_arrow, ne_arrow, sw_arrow, se_arrow ] shell_model.connect('notify::state', self._shell_state_changed_cb) + shell_model.connect('notify::zoom-level', + self._shell_zoom_level_changed_cb) + + def _shell_zoom_level_changed_cb(self, model, pspec): + for arrow in self._arrows: + arrow.destroy() + self._arrows = [] def _shell_state_changed_cb(self, model, pspec): # FIXME implement this -- cgit v0.9.1