From 48438c1a84536e2f7e57c2d46f5fcd143ab64cbd Mon Sep 17 00:00:00 2001 From: James Simmons Date: Sat, 13 Mar 2010 04:18:35 +0000 Subject: Add new style toolbar to Activity --- (limited to 'viewslides.py') diff --git a/viewslides.py b/viewslides.py index d82bd6a..b7f2ca6 100755 --- a/viewslides.py +++ b/viewslides.py @@ -21,7 +21,7 @@ import time import zipfile from zipfile import BadZipfile import gtk -import pygame, pygame.display +import pygame import re import pango from sugar.activity import activity @@ -189,6 +189,12 @@ class ReadURLDownloader(network.GlibURLDownloader): READ_STREAM_SERVICE = 'read-activity-http' class ViewSlidesActivity(activity.Activity): + __gsignals__ = { + 'go-fullscreen': (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, + ([])) + } + def __init__(self, handle): "The entry point to the Activity" activity.Activity.__init__(self, handle) @@ -392,30 +398,22 @@ class ViewSlidesActivity(activity.Activity): toolbar_box.toolbar.insert(slides_toolbar_button, -1) slides_toolbar_button.show() - self.view_toolbar = ViewToolbar() - self.view_toolbar.connect('go-fullscreen', \ + self.connect('go-fullscreen', \ self.__view_toolbar_go_fullscreen_cb) - self.view_toolbar.set_activity(self) - self.view_toolbar.show() - view_toolbar_button = ToolbarButton( - page=self.view_toolbar, - icon_name='toolbar-view') - toolbar_box.toolbar.insert(view_toolbar_button, -1) - view_toolbar_button.show() self.back = ToolButton('go-previous') self.back.set_tooltip(_('Back')) self.back.props.sensitive = False palette = self.back.get_palette() - self.prev_page = MenuItem(text_label= _("Previous page")) - palette.menu.append(self.prev_page) - self.prev_page.show_all() - self.prev_bookmark = MenuItem(text_label= _("Previous bookmark")) - palette.menu.append(self.prev_bookmark) - self.prev_bookmark.show_all() + self.menu_prev_page = MenuItem(text_label= _("Previous page")) + palette.menu.append(self.menu_prev_page) + self.menu_prev_page.show_all() + self.menu_prev_bookmark = MenuItem(text_label= _("Previous bookmark")) + palette.menu.append(self.menu_prev_bookmark) + self.menu_prev_bookmark.show_all() self.back.connect('clicked', self.go_back_cb) - self.prev_page.connect('activate', self.go_back_cb) - self.prev_bookmark.connect('activate', self.prev_bookmark_activate_cb) + self.menu_prev_page.connect('activate', self.go_back_cb) + self.menu_prev_bookmark.connect('activate', self.prev_bookmark_activate_cb) toolbar_box.toolbar.insert(self.back, -1) self.back.show() @@ -423,15 +421,15 @@ class ViewSlidesActivity(activity.Activity): self.forward.set_tooltip(_('Forward')) self.forward.props.sensitive = False palette = self.forward.get_palette() - self.next_page = MenuItem(text_label= _("Next page")) - palette.menu.append(self.next_page) - self.next_page.show_all() - self.next_bookmark = MenuItem(text_label= _("Next bookmark")) - palette.menu.append(self.next_bookmark) - self.next_bookmark.show_all() + self.menu_next_page = MenuItem(text_label= _("Next page")) + palette.menu.append(self.menu_next_page) + self.menu_next_page.show_all() + self.menu_next_bookmark = MenuItem(text_label= _("Next bookmark")) + palette.menu.append(self.menu_next_bookmark) + self.menu_next_bookmark.show_all() self.forward.connect('clicked', self.go_forward_cb) - self.next_page.connect('activate', self.go_forward_cb) - self.next_bookmark.connect('activate', self.next_bookmark_activate_cb) + self.menu_next_page.connect('activate', self.go_forward_cb) + self.menu_next_bookmark.connect('activate', self.next_bookmark_activate_cb) toolbar_box.toolbar.insert(self.forward, -1) self.forward.show() @@ -479,15 +477,30 @@ class ViewSlidesActivity(activity.Activity): toolbar_box.toolbar.insert(bookmarkitem, -1) bookmarkitem.show_all() - underline_item = gtk.ToolItem() - self.underline = ToggleToolButton('format-text-underline') - self.underline.set_tooltip(_('Underline')) - self.underline.props.sensitive = False - self.underline_id = self.underline.connect('clicked', self.underline_cb) - underline_item.add(self.underline) - toolbar_box.toolbar.insert(underline_item, -1) - underline_item.show_all() - + spacer2 = gtk.SeparatorToolItem() + toolbar_box.toolbar.insert(spacer2, -1) + spacer2.show() + + self._zoom_out = ToolButton('zoom-out') + self._zoom_out.set_tooltip(_('Zoom out')) + self._zoom_out.connect('clicked', self._zoom_out_cb) + toolbar_box.toolbar.insert(self._zoom_out, -1) + self._zoom_out.props.sensitive = False + self._zoom_out.show() + + self._zoom_in = ToolButton('zoom-in') + self._zoom_in.set_tooltip(_('Zoom in')) + self._zoom_in.connect('clicked', self._zoom_in_cb) + toolbar_box.toolbar.insert(self._zoom_in, -1) + self._zoom_in.props.sensitive = True + self._zoom_in.show() + + self._fullscreen = ToolButton('view-fullscreen') + self._fullscreen.set_tooltip(_('Fullscreen')) + self._fullscreen.connect('clicked', self._fullscreen_cb) + toolbar_box.toolbar.insert(self._fullscreen, -1) + self._fullscreen.show() + separator = gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) @@ -502,6 +515,27 @@ class ViewSlidesActivity(activity.Activity): self.set_toolbar_box(toolbar_box) toolbar_box.show() + def _zoom_in_cb(self, button): + self._zoom_in.props.sensitive = False + self._zoom_out.props.sensitive = True + self.zoom_to_width() + + def _zoom_out_cb(self, button): + self._zoom_in.props.sensitive = True + self._zoom_out.props.sensitive = False + self.zoom_to_fit() + + def enable_zoom_in(self): + self._zoom_in.props.sensitive = True + self._zoom_out.props.sensitive = False + + def enable_zoom_out(self): + self._zoom_in.props.sensitive = False + self._zoom_out.props.sensitive = True + + def _fullscreen_cb(self, button): + self.emit('go-fullscreen') + def __new_num_page_entry_insert_text_cb(self, entry, text, length, position): if not re.match('[0-9]', text): entry.emit_stop_by_name('insert-text') @@ -519,20 +553,19 @@ class ViewSlidesActivity(activity.Activity): elif page < 0: page = 0 - self.current_page = page self.set_current_page(page) self.show_page(page) entry.props.text = str(page + 1) self.update_nav_buttons() def go_back_cb(self, button): - self.page_previous() + self.previous_page() def go_forward_cb(self, button): - self.page_next() + self.next_page() def update_nav_buttons(self): - current_page = self.current_page + current_page = self.page self.back.props.sensitive = current_page > 0 self.forward.props.sensitive = \ current_page < self.total_pages - 1 @@ -553,17 +586,11 @@ class ViewSlidesActivity(activity.Activity): def bookmarker_clicked_cb(self, button): self.bookmarker_clicked(button) - def underline_cb(self, button): - self.underline_clicked(button) - def setToggleButtonState(self,button,b,id): button.handler_block(id) button.set_active(b) button.handler_unblock(id) - def update_underline_button(self, state): - self.setToggleButtonState(self.underline, state, self.underline_id) - def update_bookmark_button(self, state): self.setToggleButtonState(self.bookmarker, state, self.bookmarker_handler_id) @@ -965,6 +992,8 @@ class ViewSlidesActivity(activity.Activity): def set_current_page(self, page): self.page = page + if _NEW_TOOLBAR_SUPPORT: + self.update_nav_buttons() def next_page(self): textbuffer = self.annotation_textview.get_buffer() -- cgit v0.9.1