Changes

Jump to navigation Jump to search
Created page with '<pre> --- extensions/cpsection/aboutme/view.py 2009-11-10 12:15:50.000000000 -0500 +++ extensions/cpsection/aboutme/view.py 2009-11-19 15:07:55.000000000 -0500 @@ -20,11 +20,13 @…'
<pre>
--- extensions/cpsection/aboutme/view.py 2009-11-10 12:15:50.000000000 -0500
+++ extensions/cpsection/aboutme/view.py 2009-11-19 15:07:55.000000000 -0500
@@ -20,11 +20,13 @@ from gettext import gettext as _

from sugar.graphics.icon import Icon
from sugar.graphics import style
+# from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.xocolor import XoColor

from jarabe.controlpanel.sectionview import SectionView
from jarabe.controlpanel.inlinealert import InlineAlert

+
class EventIcon(gtk.EventBox):
__gtype_name__ = "SugarEventIcon"
def __init__(self, **kwargs):
@@ -45,26 +47,113 @@ class ColorPicker(EventIcon):
gobject.TYPE_NONE,
([str]))
}
- def __init__(self, xocolor=None):
+ def __init__(self, me, xo_color=None):
EventIcon.__init__(self)
- self.icon.props.xo_color = xocolor
+ self.icon.props.xo_color = xo_color
self.icon.props.icon_name = 'computer-xo'
self.icon.props.pixel_size = style.XLARGE_ICON_SIZE
- self.connect('button_press_event', self.__pressed_cb)
+ self.connect('button_press_event', self.__pressed_cb, me)
+
+ def __pressed_cb(self, button, event, me):
+ me.set_random_colors()
+
+class ColorPrev(EventIcon):
+ __gsignals__ = {
+ 'color-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([str]))
+ }
+ def __init__(self, me, xo_next_color=None):
+ EventIcon.__init__(self)
+ self.icon.props.xo_color = xo_next_color
+ self.icon.props.icon_name = 'computer-xo'
+ self.icon.props.pixel_size = style.STANDARD_ICON_SIZE
+ self.connect('button_press_event', self.__pressed_cb, me)
+
+ def __pressed_cb(self, button, event, me):
+ me.set_prev_colors()
+
+class ColorNext(EventIcon):
+ __gsignals__ = {
+ 'color-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([str]))
+ }
+ def __init__(self, me, xo_next_color=None):
+ EventIcon.__init__(self)
+ self.icon.props.xo_color = xo_next_color
+ self.icon.props.icon_name = 'computer-xo'
+ self.icon.props.pixel_size = style.STANDARD_ICON_SIZE
+ self.connect('button_press_event', self.__pressed_cb, me)

- def __pressed_cb(self, button, event):
- self._set_random_colors()
+ def __pressed_cb(self, button, event, me):
+ me.set_next_colors()

- def _set_random_colors(self):
+class ColorUndo(EventIcon):
+ __gsignals__ = {
+ 'color-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([str]))
+ }
+ def __init__(self, me):
+ EventIcon.__init__(self)
+ self.icon.props.icon_name = 'edit-undo'
+ # self.icon.props.icon_name = 'view-refresh'
+ # self.icon.props.accelerator = '<Ctrl>z'
xocolor = XoColor()
+ xocolor.set_color("#FFFFFF,#FFFFFF")
self.icon.props.xo_color = xocolor
- self.emit('color-changed', xocolor.to_string())
+ self.icon.props.pixel_size = style.MEDIUM_ICON_SIZE
+ self.connect('button_press_event', self.__pressed_cb, me)
+
+ def __pressed_cb(self, button, event, me):
+ me.undo_colors()
+
+class Prev(EventIcon):
+ __gsignals__ = {
+ 'color-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([str]))
+ }
+ def __init__(self, me):
+ EventIcon.__init__(self)
+ self.icon.props.icon_name = 'go-left'
+ xocolor = XoColor()
+ xocolor.set_color("#FFFFFF,#808080")
+ self.icon.props.xo_color = xocolor
+ self.icon.props.pixel_size = style.STANDARD_ICON_SIZE
+ self.connect('button_press_event', self.__pressed_cb, me)
+
+ def __pressed_cb(self, button, event, me):
+ me.set_prev_colors()
+
+class Next(EventIcon):
+ __gsignals__ = {
+ 'color-changed': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([str]))
+ }
+ def __init__(self, me):
+ EventIcon.__init__(self)
+ self.icon.props.icon_name = 'go-right'
+ xocolor = XoColor()
+ xocolor.set_color("#FFFFFF,#808080")
+ self.icon.props.xo_color = xocolor
+ self.icon.props.pixel_size = style.STANDARD_ICON_SIZE
+ self.connect('button_press_event', self.__pressed_cb, me)
+
+ def __pressed_cb(self, button, event, me):
+ me.set_next_colors()

class AboutMe(SectionView):
def __init__(self, model, alerts):
SectionView.__init__(self)

self._model = model
+ self._xo_color = XoColor(self._model.get_color_xo())
+ self._undo_colors = self._xo_color.to_string()
+ self._xo_next_color = XoColor(self._xo_color.get_next_color())
+ self._xo_prev_color = XoColor(self._xo_color.get_prev_color())
self.restart_alerts = alerts
self._nick_sid = 0
self._color_valid = True
@@ -131,11 +220,31 @@ class AboutMe(SectionView):
self._group.add_widget(label_color)
self._color_box.pack_start(label_color, expand=False)
label_color.show()
+
+ self._color_prev = ColorPrev(self,self._xo_prev_color)
+ self._color_box.pack_start(self._color_prev, expand=False)
+ self._color_prev.show()

- self._color_picker = ColorPicker()
+ self._prev = Prev(self)
+ self._color_box.pack_start(self._prev, expand=False)
+ self._prev.show()
+
+ self._color_picker = ColorPicker(self,self._xo_color)
self._color_box.pack_start(self._color_picker, expand=False)
self._color_picker.show()

+ self._next = Next(self)
+ self._color_box.pack_start(self._next, expand=False)
+ self._next.show()
+
+ self._color_next = ColorNext(self,self._xo_next_color)
+ self._color_box.pack_start(self._color_next, expand=False)
+ self._color_next.show()
+
+ self._color_undo = ColorUndo(self)
+ self._color_box.pack_start(self._color_undo, expand=False)
+ self._color_undo.show()
+
label_color_error = gtk.Label()
self._group.add_widget(label_color_error)
self._color_alert_box.pack_start(label_color_error, expand=False)
@@ -152,10 +261,73 @@ class AboutMe(SectionView):
self._color_box.show()
self._color_alert_box.show()

+ def set_prev_colors(self):
+ # update next color to the current color
+ self._xo_next_color.set_color(self._xo_color.to_string())
+ self._color_next.icon.props.xo_color = self._xo_next_color
+ self._color_next.emit('color-changed', self._xo_next_color.to_string())
+ # update color picker to the prev color
+ self._undo_colors = self._xo_color.to_string()
+ self._xo_color.set_color(self._xo_prev_color.to_string())
+ self._color_picker.icon.props.xo_color = self._xo_color
+ self._color_picker.emit('color-changed', self._xo_color.to_string())
+ # update prev color to its prev color
+ self._xo_prev_color.set_color(self._xo_prev_color.get_prev_color())
+ self._color_prev.icon.props.xo_color = self._xo_prev_color
+ self._color_prev.emit('color-changed', self._xo_prev_color.to_string())
+
+ def set_random_colors(self):
+ # update this color to a random color
+ self._undo_colors = self._xo_color.to_string()
+ self._xo_color.set_color(self._xo_color.get_random_color())
+ self._color_picker.icon.props.xo_color = self._xo_color
+ self._color_picker.emit('color-changed', self._xo_color.to_string())
+ # update prev color from the current color
+ self._xo_prev_color.set_color(self._xo_color.get_prev_color())
+ self._color_prev.icon.props.xo_color = self._xo_prev_color
+ self._color_prev.emit('color-changed', self._xo_prev_color.to_string())
+ # update next color from the current color
+ self._xo_next_color.set_color(self._xo_color.get_next_color())
+ self._color_next.icon.props.xo_color = self._xo_next_color
+ self._color_next.emit('color-changed', self._xo_next_color.to_string())
+
+ def set_next_colors(self):
+ # update prev color to the current color
+ self._xo_prev_color.set_color(self._xo_color.to_string())
+ self._color_prev.icon.props.xo_color = self._xo_prev_color
+ self._color_prev.emit('color-changed', self._xo_prev_color.to_string())
+ # update color picker to the next color
+ self._undo_colors = self._xo_color.to_string()
+ self._xo_color.set_color(self._xo_next_color.to_string())
+ self._color_picker.icon.props.xo_color = self._xo_color
+ self._color_picker.emit('color-changed', self._xo_color.to_string())
+ # update next color to its next color
+ self._xo_next_color.set_color(self._xo_next_color.get_next_color())
+ self._color_next.icon.props.xo_color = self._xo_next_color
+ self._color_next.emit('color-changed', self._xo_next_color.to_string())
+
+ def undo_colors(self):
+ # undo last change
+ tmp = self._xo_color.to_string()
+ self._xo_color.set_color(self._undo_colors)
+ self._undo_colors = tmp
+ self._color_picker.icon.props.xo_color = self._xo_color
+ self._color_picker.emit('color-changed', self._xo_color.to_string())
+ # update prev color from the current color
+ self._xo_prev_color.set_color(self._xo_color.get_prev_color())
+ self._color_prev.icon.props.xo_color = self._xo_prev_color
+ self._color_prev.emit('color-changed', self._xo_prev_color.to_string())
+ # update next color from the current color
+ self._xo_next_color.set_color(self._xo_color.get_next_color())
+ self._color_next.icon.props.xo_color = self._xo_next_color
+ self._color_next.emit('color-changed', self._xo_next_color.to_string())
+
def setup(self):
self._nick_entry.set_text(self._model.get_nick())
- color = XoColor(self._model.get_color_xo())
- self._color_picker.icon.props.xo_color = color
+ # mycolor = self._model.get_color_xo()
+ self._color_picker.icon.props.xo_color = self._xo_color
+ self._color_next.icon.props.xo_color = self._xo_next_color
+ self._color_prev.icon.props.xo_color = self._xo_prev_color

self._color_valid = True
self._nick_valid = True
</pre>

Navigation menu