Make the icon pulse when connecting

This commit is contained in:
Marco Pesenti Gritti
2007-02-28 16:19:01 +01:00
parent b364612615
commit 32ac23ce27
5 changed files with 96 additions and 17 deletions
+12 -6
View File
@@ -23,16 +23,17 @@ from sugar.graphics.spreadbox import SpreadBox
from sugar.graphics.snowflakebox import SnowflakeBox
from sugar.graphics.canvasicon import CanvasIcon
from sugar.graphics import color
from sugar.graphics import canvasicon
from model import accesspointmodel
from hardware import hardwaremanager
from view.BuddyIcon import BuddyIcon
from sugar.graphics import canvasicon
from view.pulsingicon import PulsingIcon
_ICON_NAME = 'device-network-wireless'
class AccessPointView(CanvasIcon):
class AccessPointView(PulsingIcon):
def __init__(self, model):
CanvasIcon.__init__(self)
PulsingIcon.__init__(self)
self._model = model
self.connect('activated', self._activate_cb)
@@ -41,6 +42,11 @@ class AccessPointView(CanvasIcon):
model.connect('notify::name', self._name_changed_cb)
model.connect('notify::state', self._state_changed_cb)
self.props.colors = [
[ None, None ],
[ color.ICON_FILL_INACTIVE, color.ICON_STROKE_INACTIVE ]
]
self._update_icon()
self._update_name()
self._update_state()
@@ -71,14 +77,14 @@ class AccessPointView(CanvasIcon):
self.props.icon_name = icon_name
def _update_state(self):
# FIXME Change icon colors once we have real icons
if self._model.props.state == accesspointmodel.STATE_CONNECTING:
self.props.fill_color = color.ICON_FILL_INACTIVE
self.props.stroke_color = color.ICON_STROKE_INACTIVE
self.props.pulsing = True
elif self._model.props.state == accesspointmodel.STATE_CONNECTED:
self.props.pulsing = False
self.props.fill_color = None
self.props.stroke_color = None
elif self._model.props.state == accesspointmodel.STATE_NOTCONNECTED:
self.props.pulsing = False
self.props.fill_color = color.ICON_FILL_INACTIVE
self.props.stroke_color = color.ICON_STROKE_INACTIVE