From c73bf4b3f8123a1d7e988c96806cfbd1f8ee413c Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Fri, 27 Apr 2007 13:40:26 +0000 Subject: Adapt to new controls API. --- diff --git a/XbookActivity.py b/XbookActivity.py index cd6f3e3..5341229 100644 --- a/XbookActivity.py +++ b/XbookActivity.py @@ -37,26 +37,26 @@ class XbookActivity(activity.Activity): evince.job_queue_init() self._view = evince.View() - - vbox = hippo.CanvasBox() - self.set_root(vbox) + + toolbox = activity.ActivityToolbox(self) self._toolbar = XbookToolbar(self._view) self._toolbar.connect('open-document', self._open_document_cb) - vbox.append(self._toolbar) + toolbox.add_toolbar(_('View'), self._toolbar) + self._toolbar.show() + + self.set_toolbox(toolbox) + toolbox.show() - canvas_widget = hippo.CanvasWidget() - vbox.append(canvas_widget, hippo.PACK_EXPAND) - scrolled = gtk.ScrolledWindow() scrolled.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) scrolled.props.shadow_type = gtk.SHADOW_NONE - canvas_widget.props.widget = scrolled - scrolled.show() - scrolled.add(self._view) self._view.show() + + self.set_canvas(scrolled) + scrolled.show() if handle.uri: self._load_document(handle.uri) diff --git a/xbooktoolbar.py b/xbooktoolbar.py index 4bf82aa..90afac8 100644 --- a/xbooktoolbar.py +++ b/xbooktoolbar.py @@ -17,18 +17,14 @@ import logging from gettext import gettext as _ -import hippo +import pango import gobject +import gtk -from sugar.graphics import font -from sugar.graphics import color -from sugar.graphics import units -from sugar.graphics.toolbar import Toolbar -from sugar.graphics.iconbutton import IconButton -from sugar.graphics.entry import Entry +from sugar.graphics.toolbutton import ToolButton -class XbookToolbar(Toolbar): - __gtype_name__ = "XbookToolbar" +class XbookToolbar(gtk.Toolbar): + __gtype_name__ = 'XbookToolbar' __gsignals__ = { 'open-document': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, @@ -36,7 +32,7 @@ class XbookToolbar(Toolbar): } def __init__(self, evince_view): - Toolbar.__init__(self) + gtk.Toolbar.__init__(self) self._evince_view = evince_view self._document = None @@ -49,63 +45,107 @@ class XbookToolbar(Toolbar): def set_document(self, document): self._document = document - self._document.connect("find_changed", self._find_changed_cb) + self._document.connect('find_changed', self._find_changed_cb) page_cache = self._document.get_page_cache() - page_cache.connect("page-changed", self._page_changed_cb) + page_cache.connect('page-changed', self._page_changed_cb) self._update_nav_buttons() def _insert_spring(self): - separator = hippo.CanvasBox() - self.append(separator, hippo.PACK_EXPAND) + separator = gtk.SeparatorToolItem() + separator.set_draw(False) + separator.set_expand(True) + self.insert(separator, -1) + separator.show() def _insert_opensave_items(self): - self._open = IconButton(icon_name='theme:stock-open', tooltip=_('Open')) - self._open.connect("activated", self._open_cb) - self.append(self._open) + self._open = ToolButton() + self._open.set_icon_name('stock-open') + self._open.connect('clicked', self._open_cb) + self.insert(self._open, -1) + self._open.show() def _insert_nav_items(self): - self._back = IconButton(icon_name='theme:stock-back', active=False, - tooltip=_('Back')) - self._back.connect("activated", self._go_back_cb) - self.append(self._back) - - self._forward = IconButton(icon_name='theme:stock-forward', active=False, - tooltip=_('Forward')) - self._forward.connect("activated", self._go_forward_cb) - self.append(self._forward) - - self._num_page_entry = Entry(text='0', box_width=units.grid_to_pixels(1)) - self._num_page_entry.connect("activated", - self._num_page_entry_activated_cb) - self.append(self._num_page_entry) - - self._total_page_label = hippo.CanvasText(text=' / 0', - font_desc=font.DEFAULT.get_pango_desc(), - color=color.WHITE.get_int()) - self.append(self._total_page_label) - + self._back = ToolButton() + self._back.props.sensitive = False + self._back.set_icon_name('stock-back') + self._back.connect('clicked', self._go_back_cb) + self.insert(self._back, -1) + self._back.show() + + self._forward = ToolButton() + self._back.props.sensitive = False + self._forward.set_icon_name('stock-forward') + self._forward.connect('clicked', self._go_forward_cb) + self.insert(self._forward, -1) + self._forward.show() + + num_page_item = gtk.ToolItem() + + self._num_page_entry = gtk.Entry() + self._num_page_entry.set_text('0') + self._num_page_entry.set_alignment(1) + self._num_page_entry.connect('activate', + self._num_page_entry_activate_cb) + + self._num_page_entry.set_width_chars(4) + + num_page_item.add(self._num_page_entry) + self._num_page_entry.show() + + self.insert(num_page_item, -1) + num_page_item.show() + + total_page_item = gtk.ToolItem() + + self._total_page_label = gtk.Label() + + label_attributes = pango.AttrList() + label_attributes.insert(pango.AttrSize(14000, 0, -1)) + label_attributes.insert(pango.AttrForeground(65535, 65535, 65535, 0, -1)) + self._total_page_label.set_attributes(label_attributes) + + self._total_page_label.set_text(' / 0') + total_page_item.add(self._total_page_label) + self._total_page_label.show() + + self.insert(total_page_item, -1) + total_page_item.show() + def _insert_search_items(self): - self._search_entry = Entry() - self._search_entry.connect("activated", self._search_entry_activated_cb) - - self.append(self._search_entry, hippo.PACK_EXPAND) + search_item = gtk.ToolItem() + + self._search_entry = gtk.Entry() + self._search_entry.connect('activate', self._search_entry_activate_cb) + + width = int(gtk.gdk.screen_width() / 3) + self._search_entry.set_size_request(width, -1) + + search_item.add(self._search_entry) + self._search_entry.show() + + self.insert(search_item, -1) + search_item.show() - self._prev = IconButton(icon_name='theme:stock-back', active=False, - tooltip=_('Previous')) - self._prev.connect("activated", self._find_prev_cb) - self.append(self._prev) + self._prev = ToolButton() + self._prev.props.sensitive = False + self._prev.set_icon_name('stock-back') + self._prev.connect('clicked', self._find_prev_cb) + self.insert(self._prev, -1) + self._prev.show() - self._next = IconButton(icon_name='theme:stock-forward', active=False, - tooltip=_('Next')) - self._next.connect("activated", self._find_next_cb) - self.append(self._next) + self._next = ToolButton() + self._next.props.sensitive = False + self._next.set_icon_name('stock-forward') + self._next.connect('clicked', self._find_next_cb) + self.insert(self._next, -1) + self._next.show() - def _num_page_entry_activated_cb(self, entry): + def _num_page_entry_activate_cb(self, entry): page = int(entry.props.text) - 1 self._document.get_page_cache().set_current_page(page) - def _search_entry_activated_cb(self, entry): + def _search_entry_activate_cb(self, entry): current_page = self._document.get_page_cache().get_current_page() self._document.find_begin(0, entry.props.text, False) self._update_find_buttons() @@ -130,17 +170,17 @@ class XbookToolbar(Toolbar): def _update_nav_buttons(self): current_page = self._document.get_page_cache().get_current_page() - self._back.props.active = current_page > 0 - self._forward.props.active = \ + self._back.props.sensitive = current_page > 0 + self._forward.props.sensitive = \ current_page < self._document.get_n_pages() - 1 self._num_page_entry.props.text = str(current_page + 1) - self._total_page_label.props.text = \ + self._total_page_label.props.label = \ ' / ' + str(self._document.get_n_pages()) def _update_find_buttons(self): - self._prev.props.active = self._evince_view.can_find_previous() - self._next.props.active = self._evince_view.can_find_next() + self._prev.props.sensitive = self._evince_view.can_find_previous() + self._next.props.sensitive = self._evince_view.can_find_next() def _open_cb(self, button): self.emit('open-document') -- cgit v0.9.1