[Sugar-devel] [PATCH] Add NotifyRedAlert inherited from NotifyAlert
Michael Stone
michael at laptop.org
Sun Jun 13 20:52:26 EDT 2010
On Mon, Jun 14, 2010 at 02:51:23AM +0530, anishmangal2002 at gmail.com wrote:
Hi Anish,
Thanks for the patches. Here are one small question and one comment for you...
>From: anishmangal2002 <anishmangal2002 at gmail.com>
>
>Adds the NotifyRedAlert class which is an alert inherited from
> NotifyAlert. When the alert message is displayed, it glows the
>alert bar Red before slowly fading out to black, thus resulting
>in a more visible notification.
>
>Signed-off-by: anishmangal2002 <anishmangal2002 at gmail.com>
>---
> src/sugar/graphics/alert.py | 46 +++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 46 insertions(+), 0 deletions(-)
>
>diff --git a/src/sugar/graphics/alert.py b/src/sugar/graphics/alert.py
>index 4441909..b4dfee1 100644
>--- a/src/sugar/graphics/alert.py
>+++ b/src/sugar/graphics/alert.py
>@@ -432,3 +432,49 @@ class NotifyAlert(Alert):
> self._response(gtk.RESPONSE_OK)
> return False
> return True
>+
>+class NotifyRedAlert(NotifyAlert):
Is this alert really about being red or about notifying the user about errors
in a more eyecatching fashion?
>+ """
>+ Timeout alert with only an "OK" button and a glowing Red border- just for notifications
>+
>+ Examples
>+ --------
>+
>+ .. code-block:: python
>+ from sugar.graphics.alert import NotifyRedAlert
>+ ...
>+ #### Method: _alert_notify, create a NotifyRed alert (with only an 'OK'
>+ button)
>+ # and add it to the UI.
>+ def _alert_notify(self):
>+ #Notice that for a NotifyRedAlert, you pass the number of seconds in
>+ #which to notify. By default, this is 5.
>+ alert = NotifyRedAlert(10)
>+ alert.props.title=_('Title of Alert Goes Here')
>+ alert.props.msg = _('Text message of notify alert goes here')
>+ alert.connect('response', self._alert_response_cb)
>+ self.add_alert(alert)
>+
>+ """
>+
>+ def __init__(self, timeout=5, **kwargs):
>+ NotifyAlert.__init__(self, timeout, **kwargs)
>+ self.saturation = 255
>+
>+ gobject.timeout_add(20, self.__modify_color_timeout)
>+
>+ def __modify_color_timeout(self):
>+ if self.saturation:
>+ self.saturation -= 1
>+
>+ # Form the hex color representation
>+ if self.saturation <= 15:
>+ color = '#0%s0000' % hex(self.saturation)[2:]
>+ else:
>+ color = '#%s0000' % hex(self.saturation)[2:]
The value of the color variable can be more concisely calculated like so:
color = "#%02x0000" % self.saturation
Regards,
Michael
More information about the Sugar-devel
mailing list