Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ReadEtextsActivity.py
diff options
context:
space:
mode:
authorJames Simmons <jim@olpc.simmons>2009-07-08 00:00:12 (GMT)
committer James Simmons <jim@olpc.simmons>2009-07-08 00:00:12 (GMT)
commit16c83c13d29b7fb7c403a646db0bb85a9c83c1c5 (patch)
treed32726e7b3768ed67aea41672c6214c197ed9b10 /ReadEtextsActivity.py
parent14b3c1917b4a08074eddfe387ea3747ac306a719 (diff)
modified: ReadEtextsActivity.py
Perfect next bookmark and previous bookmark feature.
Diffstat (limited to 'ReadEtextsActivity.py')
-rw-r--r--ReadEtextsActivity.py52
1 files changed, 31 insertions, 21 deletions
diff --git a/ReadEtextsActivity.py b/ReadEtextsActivity.py
index e03f282..5747f2e 100644
--- a/ReadEtextsActivity.py
+++ b/ReadEtextsActivity.py
@@ -53,7 +53,7 @@ _logger = logging.getLogger('read-etexts-activity')
class Annotations():
title = ''
notes = {0:''}
- bookmarks = {0:''}
+ bookmarks = []
highlights = {0: [] }
class ReadHTTPRequestHandler(network.ChunkedGlibHTTPRequestHandler):
@@ -377,34 +377,44 @@ class ReadEtextsActivity(activity.Activity):
def bookmarker_clicked(self, button):
if button.get_active() == True:
- self.annotations.bookmarks[self.page] = 'B'
- print 'set bookmark on page', self.page
+ self.annotations.bookmarks.append(self.page)
else:
try:
- del self.annotations.bookmarks[self.page]
- print 'set bookmark off page', self.page
- except KeyError:
- print 'error deleting bookmark on page', self.page
+ self.annotations.bookmarks.remove(self.page)
+ except ValueError:
+ print 'page already not boookmarked', self.page
self.show_bookmark_state()
def show_bookmark_state(self):
- try:
- bookmark = self.annotations.bookmarks[self.page]
- print 'page', self.page, 'is bookmarked'
- if bookmark == 'B':
- self._sidebar.show_bookmark_icon(True)
- self._read_toolbar._bookmarker .set_active(True)
- except KeyError:
- print 'page', self.page, 'is not bookmarked'
+ bookmark = self.annotations.bookmarks.count(self.page)
+ if bookmark > 0:
+ self._sidebar.show_bookmark_icon(True)
+ self._read_toolbar._bookmarker .set_active(True)
+ else:
self._sidebar.show_bookmark_icon(False)
self._read_toolbar._bookmarker .set_active(False)
- return
- def prev_bookmark():
- page = self.page
-
- def next_bookmark():
- page = self.page
+ def prev_bookmark(self):
+ self.annotations.bookmarks.sort()
+ count = len(self.annotations.bookmarks) - 1
+ while count >= 0:
+ if self.annotations.bookmarks[count] < self.page:
+ self.page = self.annotations.bookmarks[count]
+ self.show_page(self.page)
+ self._read_toolbar.set_current_page(self.page)
+ break
+ count = count - 1
+
+ def next_bookmark(self):
+ self.annotations.bookmarks.sort()
+ count = 0
+ while count < len(self.annotations.bookmarks):
+ if self.annotations.bookmarks[count] > self.page:
+ self.page = self.annotations.bookmarks[count]
+ self.show_page(self.page)
+ self._read_toolbar.set_current_page(self.page)
+ break
+ count = count + 1
def page_next(self):
textbuffer = self.annotation_textview.get_buffer()