Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/PortfolioActivity.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-08-17 20:30:53 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-08-17 20:30:53 (GMT)
commitd541a81e02d9deeed4365e5f4b5bb2bc663aaf6d (patch)
tree4c453fc31eeef881f31932d06d22db52baf16fb5 /PortfolioActivity.py
parentd5d0c1543163e14aedbc86f33b0cb75c90933f3d (diff)
add click-through support to select slides from thumbnail view
Diffstat (limited to 'PortfolioActivity.py')
-rw-r--r--PortfolioActivity.py38
1 files changed, 28 insertions, 10 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py
index bb7f538..cc14f38 100644
--- a/PortfolioActivity.py
+++ b/PortfolioActivity.py
@@ -76,6 +76,10 @@ UNIT_DICTIONARY = {TWO: (UNITS[TWO], 2),
TEN: (UNITS[TEN], 10),
THIRTY: (UNITS[THIRTY], 30),
SIXTY: (UNITS[SIXTY], 60)}
+XO1 = 'xo1'
+XO15 = 'xo1.5'
+XO175 = 'xo1.75'
+UNKNOWN = 'unknown'
class PortfolioActivity(activity.Activity):
@@ -87,6 +91,8 @@ class PortfolioActivity(activity.Activity):
self._tmp_path = get_path(activity, 'instance')
+ self._hw = get_hardware()
+
self._setup_toolbars()
self._setup_canvas()
self._setup_workspace()
@@ -125,7 +131,7 @@ class PortfolioActivity(activity.Activity):
self._height = gtk.gdk.screen_height()
self._scale = gtk.gdk.screen_height() / 900.
- if get_hardware()[0:2] == 'XO':
+ if get_hardware()[0:2] == 'xo':
titlef = 18
descriptionf = 12
else:
@@ -435,17 +441,12 @@ class PortfolioActivity(activity.Activity):
def _thumbs_cb(self, button=None):
if self._thumbnail_mode:
- self._thumbnail_mode = False
- self.i = self._current_slide
- if hasattr(self, '_overlay'):
- self._overlay.set_layer(0)
- self._show_slide()
-
- self._thumb_button.set_tooltip(_('Thumbnail view'))
+ self._set_view_mode()
+ self._show_slide(self._current_slide)
else:
self._current_slide = self.i
self._thumbnail_mode = True
- self._clear_screen()
+ self._clear_screen()
self._prev_button.set_icon('go-previous-inactive')
self._next_button.set_icon('go-next-inactive')
@@ -509,7 +510,24 @@ class PortfolioActivity(activity.Activity):
def _button_release_cb(self, win, event):
''' Button press is used to goto next slide.'''
- self._next_cb()
+ if self._thumbnail_mode:
+ x, y = map(int, event.get_coords())
+ spr = self._sprites.find_sprite((x, y))
+ for i, thumbnail in enumerate(self._thumbs):
+ if thumbnail[0] == spr:
+ self._set_view_mode(i)
+ break
+ self._show_slide()
+ else:
+ self._next_cb()
+
+ def _set_view_mode(self, i):
+ ''' Switch to slide-viewing mode '''
+ self._thumbnail_mode = False
+ self.i = i
+ if hasattr(self, '_overlay'):
+ self._overlay.set_layer(0)
+ self._thumb_button.set_tooltip(_('Thumbnail view'))
def _unit_combo_cb(self, arg=None):
''' Read value of predefined conversion factors from combo box '''