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-11 15:58:59 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-08-11 15:58:59 (GMT)
commit96179db4a823577192b8677b25add9786ee5b8bd (patch)
tree32d2cf7e3f4c432221b1485b042c726501b8c9cc /PortfolioActivity.py
parent058e568f4d1d860099aa9c96f814c84eb80d6b7e (diff)
replacing slider with combo box for adjusting playback times
Diffstat (limited to 'PortfolioActivity.py')
-rw-r--r--PortfolioActivity.py40
1 files changed, 29 insertions, 11 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py
index a0fb7f9..30c0615 100644
--- a/PortfolioActivity.py
+++ b/PortfolioActivity.py
@@ -33,7 +33,8 @@ from sprites import Sprites, Sprite
from exporthtml import save_html
from utils import get_path, lighter_color, svg_str_to_pixbuf, \
load_svg_from_file, button_factory, separator_factory, \
- slider_factory, get_pixbuf_from_journal, genblank, get_hardware
+ combo_factory, label_factory, slider_factory, get_pixbuf_from_journal, \
+ genblank, get_hardware
from gettext import gettext as _
@@ -60,6 +61,16 @@ SHORTH = 100
SHORTX = 50
SHORTY = 700
+TWO = 0
+TEN = 1
+THIRTY = 2
+SIXTY = 3
+UNITS = [_('2 seconds'), _('10 seconds'), _('30 seconds'), _('1 minute')]
+UNIT_DICTIONARY = {TWO: (UNITS[TWO], 2),
+ TEN: (UNITS[TEN], 10),
+ THIRTY: (UNITS[THIRTY], 30),
+ SIXTY: (UNITS[SIXTY], 60)}
+
class PortfolioActivity(activity.Activity):
''' Make a slideshow from starred Journal entries. '''
@@ -167,7 +178,7 @@ class PortfolioActivity(activity.Activity):
self._show_slide()
self._playing = False
- self._rate = 2
+ self._rate = 10
def _setup_toolbars(self):
''' Setup the toolbars. '''
@@ -211,13 +222,18 @@ class PortfolioActivity(activity.Activity):
'media-playlist-repeat', _('Autoplay'), self._autoplay_cb,
self.toolbar)
- self._slider = slider_factory(
- _('Adjust playback speed'), self._speed_cb, self.toolbar)
+ label = label_factory(_('Adjust playback speed'), self.toolbar)
+ label.show()
+
+ self._unit_combo = combo_factory(UNITS, TEN,
+ _('Adjust playback speed'),
+ self._unit_combo_cb, self.toolbar)
+ self._unit_combo.show()
separator_factory(self.toolbar)
self._save_button = button_factory(
- 'transfer-from-text-uri-list', _('Save as HTML'),
+ 'save-as-html', _('Save as HTML'),
self._save_as_html_cb, self.toolbar)
if HAVE_TOOLBOX:
@@ -275,11 +291,6 @@ class PortfolioActivity(activity.Activity):
self._timeout_id = gobject.timeout_add(int(self._rate * 1000),
self._loop)
- def _speed_cb(self, button=None):
- ''' The rate slide has changed; update the value. '''
- self._rate = self._slider.value
- self._slider.set_value(int(self._rate + 0.5))
-
def _save_as_html_cb(self, button=None):
''' Export an HTML version of the slideshow to the Journal. '''
self._save_button.set_icon('save-in-progress')
@@ -301,7 +312,7 @@ class PortfolioActivity(activity.Activity):
dsobject.destroy()
gobject.timeout_add(250, self._save_button.set_icon,
- 'transfer-from-text-uri-list')
+ 'save-as-html')
return
def _clear_screen(self):
@@ -394,3 +405,10 @@ class PortfolioActivity(activity.Activity):
def _button_release_cb(self, win, event):
''' Button press is used to goto next slide.'''
self._next_cb()
+
+ def _unit_combo_cb(self, arg=None):
+ ''' Read value of predefined conversion factors from combo box '''
+ if hasattr(self, '_unit_combo'):
+ active = self._unit_combo.get_active()
+ if active in UNIT_DICTIONARY:
+ self._rate = UNIT_DICTIONARY[active][1]