Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/viewslides.py
diff options
context:
space:
mode:
authorJames Simmons <jim@simmons.olpc>2010-03-13 04:18:35 (GMT)
committer James Simmons <jim@simmons.olpc>2010-03-13 04:18:35 (GMT)
commit48438c1a84536e2f7e57c2d46f5fcd143ab64cbd (patch)
treee02bb2726ed2b25204713cd546e30bf68b045b86 /viewslides.py
parent3267438d7ddb7c6edece985eeb883827d26ae704 (diff)
Add new style toolbar to Activity
Diffstat (limited to 'viewslides.py')
-rwxr-xr-xviewslides.py119
1 files changed, 74 insertions, 45 deletions
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()