Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/intro/window.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/intro/window.py')
-rw-r--r--src/jarabe/intro/window.py97
1 files changed, 48 insertions, 49 deletions
diff --git a/src/jarabe/intro/window.py b/src/jarabe/intro/window.py
index df19fbf..d706dd3 100644
--- a/src/jarabe/intro/window.py
+++ b/src/jarabe/intro/window.py
@@ -22,7 +22,6 @@ import pwd
import gtk
import gobject
-import hippo
from sugar import env
from sugar.graphics import style
@@ -57,13 +56,13 @@ def create_profile(name, color=None):
logging.error('Keypair exists, skip generation.')
-class _Page(hippo.CanvasBox):
+class _Page(gtk.HBox):
__gproperties__ = {
'valid': (bool, None, None, False, gobject.PARAM_READABLE),
}
def __init__(self, **kwargs):
- hippo.CanvasBox.__init__(self, **kwargs)
+ gtk.VBox.__init__(self)
self.valid = False
def set_valid(self, valid):
@@ -80,27 +79,25 @@ class _Page(hippo.CanvasBox):
class _NamePage(_Page):
def __init__(self, intro):
- _Page.__init__(self, xalign=hippo.ALIGNMENT_CENTER,
+ _Page.__init__(self,
background_color=_BACKGROUND_COLOR.get_int(),
- spacing=style.DEFAULT_SPACING,
- orientation=hippo.ORIENTATION_HORIZONTAL,)
-
+ spacing=style.DEFAULT_SPACING)
self._intro = intro
- label = hippo.CanvasText(text=_('Name:'))
- self.append(label)
+ label = gtk.Label(_('Name:'))
+ self.add(label)
- self._entry = CanvasEntry(box_width=style.zoom(300))
- self._entry.set_background(_BACKGROUND_COLOR.get_html())
+ self._entry = gtk.Entry()
+ # self._entry.set_background(_BACKGROUND_COLOR.get_html())
self._entry.connect('notify::text', self._text_changed_cb)
+ self._entry.set_max_length(45)
- widget = self._entry.props.widget
- widget.set_max_length(45)
-
- self.append(self._entry)
+ self.add(self._entry)
- if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
- self.reverse()
+ # TODO(rgs): Do we need to do something here or GTK handles this
+ # for us?
+ #if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
+ # self.reverse()
def _text_changed_cb(self, entry, pspec):
valid = len(entry.props.text.strip()) > 0
@@ -118,16 +115,14 @@ class _NamePage(_Page):
class _ColorPage(_Page):
def __init__(self, **kwargs):
- _Page.__init__(self, xalign=hippo.ALIGNMENT_CENTER,
+ _Page.__init__(self,
background_color=_BACKGROUND_COLOR.get_int(),
- spacing=style.DEFAULT_SPACING,
- yalign=hippo.ALIGNMENT_CENTER, **kwargs)
+ spacing=style.DEFAULT_SPACING)
- self._label = hippo.CanvasText(text=_('Click to change color:'),
- xalign=hippo.ALIGNMENT_CENTER)
- self.append(self._label)
+ self._label = gtk.Label(_('Click to change color:'))
+ self.add(self._label)
- self._cp = colorpicker.ColorPicker(xalign=hippo.ALIGNMENT_CENTER)
+ self._cp = colorpicker.ColorPicker()
self.append(self._cp)
self._color = self._cp.get_color()
@@ -137,7 +132,7 @@ class _ColorPage(_Page):
return self._cp.get_color()
-class _IntroBox(hippo.CanvasBox):
+class _IntroBox(gtk.HBox):
__gsignals__ = {
'done': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
([gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT])),
@@ -150,8 +145,8 @@ class _IntroBox(hippo.CanvasBox):
PAGE_LAST = PAGE_COLOR
def __init__(self):
- hippo.CanvasBox.__init__(self, padding=style.zoom(30),
- background_color=_BACKGROUND_COLOR.get_int())
+ # TODO(rgs): padding=style.zoom(30)
+ gtk.HBox.__init__(self)
self._page = self.PAGE_NAME
self._name_page = _NamePage(self)
@@ -179,46 +174,53 @@ class _IntroBox(hippo.CanvasBox):
elif self._page == self.PAGE_COLOR:
self._current_page = self._color_page
- self.append(self._current_page, hippo.PACK_EXPAND)
+ self.add(self._current_page)
- button_box = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL)
+ button_box = gtk.HBox()
if self._page != self.PAGE_FIRST:
- back_button = hippo.CanvasButton(text=_('Back'))
+ back_button = gtk.Button(_('Back'))
image = Icon(icon_name='go-left')
- back_button.props.widget.set_image(image)
+ back_button.set_image(image)
back_button.connect('activated', self._back_activated_cb)
- button_box.append(back_button)
+ button_box.add(back_button)
- spacer = hippo.CanvasBox()
- button_box.append(spacer, hippo.PACK_EXPAND)
+ # TODO(rgs): there surely is a more elegant way to do this
+ spacer = gtk.Label("")
+ spacer.set_size_request(10, 1)
+ button_box.add(spacer)
- self._next_button = hippo.CanvasButton()
+ self._next_button = gtk.Button()
image = Icon(icon_name='go-right')
- self._next_button.props.widget.set_image(image)
+ self._next_button.set_image(image)
if self._page == self.PAGE_LAST:
- self._next_button.props.text = _('Done')
+ self._next_button.set_label(_('Done'))
self._next_button.connect('activated', self._done_activated_cb)
else:
- self._next_button.props.text = _('Next')
+ self._next_button.set_label(_('Next'))
self._next_button.connect('activated', self._next_activated_cb)
self._current_page.activate()
self._update_next_button()
- button_box.append(self._next_button)
+ button_box.add(self._next_button)
self._current_page.connect('notify::valid',
self._page_valid_changed_cb)
- self.append(button_box)
+ self.add(button_box)
- if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
- button_box.reverse()
+ # TODO(rgs): Do we need to do something here or GTK handles this
+ # for us?
+ #if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
+ # button_box.reverse()
+
+ def remove_all(self):
+ for child in self.get_children():
+ self.remove(child)
def _update_next_button(self):
- widget = self._next_button.props.widget
- widget.props.sensitive = self._current_page.props.valid
+ self._next_button.set_sensitive(self._current_page.props.valid)
def _page_valid_changed_cb(self, page, pspec):
self._update_next_button()
@@ -250,7 +252,6 @@ class _IntroBox(hippo.CanvasBox):
self.emit('done', name, color)
-
class IntroWindow(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
@@ -258,13 +259,11 @@ class IntroWindow(gtk.Window):
self.props.decorated = False
self.maximize()
- self._canvas = hippo.Canvas()
self._intro_box = _IntroBox()
self._intro_box.connect('done', self._done_cb)
- self._canvas.set_root(self._intro_box)
- self.add(self._canvas)
- self._canvas.show()
+ self.add(self._intro_box)
+ self._intro_box.show()
self.connect('key-press-event', self.__key_press_cb)
def _done_cb(self, box, name, color):