[Rapier-commits] r143 - in trunk: debian src

rapier-commits at garage.maemo.org rapier-commits at garage.maemo.org
Thu Aug 16 17:47:16 EEST 2007


Author: pamadio
Date: 2007-08-16 17:47:16 +0300 (Thu, 16 Aug 2007)
New Revision: 143

Modified:
   trunk/debian/changelog
   trunk/src/rapier
Log:
automatic bookmarking

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2007-08-15 09:54:06 UTC (rev 142)
+++ trunk/debian/changelog	2007-08-16 14:47:16 UTC (rev 143)
@@ -4,9 +4,10 @@
   * Remote module management cosmetic.
   * Cursor not visible anymore in textview.
   * Package is binary independent.
+  * Automatic bookmarking when closing application. Feature request [#1007].
+	
+ -- Pierre Amadio <pierre.amadio at libertysurf.fr>  Sun, 16 Aug 2007 16:45:06 +0200
 
- -- Pierre Amadio <pierre.amadio at libertysurf.fr>  Sun, 10 Jun 2007 14:45:06 +0200
-
 rapier (1.0.1-0) unstable; urgency=low
 
   * No more segfault when performing a second search.

Modified: trunk/src/rapier
===================================================================
--- trunk/src/rapier	2007-08-15 09:54:06 UTC (rev 142)
+++ trunk/src/rapier	2007-08-16 14:47:16 UTC (rev 143)
@@ -84,7 +84,7 @@
         self.mgr=Sword.SWMgr()
         self.gconf=gconf.client_get_default()
         self.mainWindow = hildon.Window()
-        self.mainWindow.connect("destroy",gtk.main_quit)
+        self.mainWindow.connect("destroy",self.application_quit)
         self.mainWindow.connect("key-press-event",self.on_key_press)
         self.mainWindow.connect("window-state-event",\
                                 self.on_window_state_change)
@@ -104,6 +104,7 @@
         self.selected_book=''
         self.selected_chapter=0
         self.maxChapter=0
+        self.maxVerse=0
         self.selected_verse=0
         self.buttonPressed=False
         self.waitForSearchFlag=False
@@ -125,7 +126,8 @@
         self.prepareManageModuleWindow()
         self.prepareWaitingWindow()
         self.fillBooks()        
-                
+
+
         self.mainWindow.show_all()
         self.searchProgressbar.hide()
 
@@ -134,7 +136,22 @@
         the list of available modules
         """
         self.refresh_module_list()
+        if  self.gconf.get_string("/apps/osso/rapier/bookmarks/start"):
+            self.go_to_bookmark(\
+                                self.gconf.get_string("/apps/osso/rapier/bookmarks/start"))
 
+    def application_quit(self,win):
+        gtk.main_quit()
+        position="%s %d:%d"%\
+                  (self.selected_book,\
+                   self.selected_chapter,\
+                   self.selected_verse)
+        
+        
+        self.gconf.set_string("/apps/osso/rapier/bookmarks/start",position)
+
+
+        
     def get_defaultModule(self):
         return self.gconf.get_string('/apps/osso/rapier/modules/default')
 
@@ -216,8 +233,9 @@
         vk=Sword.VerseKey()
         tmp=self.getInfoBasedOnAbbr(self.selected_book)
         self.mainWindow.verse_tb_combo.get_model().clear()
-        for i in range(vk.verseCount(tmp['testament'],tmp['bookCount'],\
-                                     self.selected_chapter)):
+        self.maxVerse=vk.verseCount(tmp['testament'],tmp['bookCount'],\
+                                     self.selected_chapter)
+        for i in range(self.maxVerse):
             nbr=1+i
             self.mainWindow.verse_tb_combo.append_text(str(nbr))
         self.mainWindow.verse_tb_combo.set_active_iter(\
@@ -1280,6 +1298,7 @@
             indicatorSnt="(%d) "%v
             verse_indicator_markLabel="indicator"+str(v)
             verse_begin_markLabel=str(v)
+            #print verse_begin_markLabel
             verse_end_markLabel="end"+str(v)
             endIter=self.textDisplay_buffer.get_end_iter()
             indic_mark=self.textDisplay_buffer.create_mark(\
@@ -1307,6 +1326,9 @@
         if not verse:
             return
         beginMark=self.textDisplay_buffer.get_mark(str(verse))
+        if not beginMark:
+            print "no mark for verse ",verse
+            return
         beginIter=self.textDisplay_buffer.get_iter_at_mark(beginMark)
         endMark=self.textDisplay_buffer.get_mark("end"+str(verse))
         endIter=self.textDisplay_buffer.get_iter_at_mark(endMark)
@@ -1455,7 +1477,31 @@
             return 0
 
 
+    def go_to_bookmark(self,position):
+        """
+        Set the page to display so it match position.
+        position is like 'Gen 1:1'
+        """
+        infos=self.get_info_from_refs(position)
+        cnt=0
+        for i in self.booksInfo:
+            if i['abbr']==infos['abbr']:
+                self.mainWindow.book_tb_combo.set_active(cnt)
+            cnt+=1
 
+        for i in range(self.maxChapter):
+            if int(i)==int(infos['chapter'])-1:
+                self.mainWindow.chapter_tb_combo.set_active(i)
+
+        for i in range(self.maxVerse):
+            if int(i)==int(infos['verse'])-1:
+                self.mainWindow.verse_tb_combo.set_active(i)
+
+
+        self.refresh_textArray()
+        self.scrollToSelected()
+
+
     def search_string(self,result):
         """ display the result of a search"""
         self.searchProgressbar.hide()



More information about the Rapier-commits mailing list