Thanks Gonzalo. I tested on a XO-1.75, and the highlighting did not work either in evince (for PDFs), and webkit (for EPUBs).
Also, I see the issue has been resolved in the ticket :) So, thanks a ton Gonzalo !!!! I am really grateful to you. On Thu, May 23, 2013 at 2:58 AM, Gonzalo Odiard <[email protected]> wrote: > Probably is a problem with xo-4 video driver > http://dev.laptop.org/ticket/12681 > > Gonzalo > > > On Wed, May 22, 2013 at 2:28 PM, Ajay Garg <[email protected]> wrote: > >> Hi all. >> >> Any ideas? >> >> >> On Fri, Apr 26, 2013 at 5:08 PM, Ajay Garg <[email protected]>wrote: >> >>> Hi all. >>> >>> >>> I investigated the source, and as per >>> >>> >>> ##################################################### >>> void >>> ev_view_find_set_highlight_search (EvView *view, gboolean >>> value) >>> >>> { >>> view->highlight_find_results = value; >>> gtk_widget_queue_draw (GTK_WIDGET (view)); >>> } >>> ##################################################### >>> >>> >>> It does seem that "self._view.find_set_highlight_search(True)" SHOULD >>> enable the highlighting of searched-words. >>> It it true? >>> >>> If yes, perhaps it could be an issue with the python-bindings? >>> >>> >>> >>> >>> >>> On Thu, Apr 25, 2013 at 10:04 PM, Ajay Garg <[email protected]>wrote: >>> >>>> Hi Gonzalo. >>>> >>>> Thanks a ton !!! >>>> >>>> >>>> After I add the line >>>> https://git.sugarlabs.org/read/mainline/blobs/master/evinceadapter.py#line255, >>>> the above code works fine in Fedora-18; >>>> the view scrolled to the "found text" locations :) >>>> >>>> However, the same does not work on Fedora-17, as the method >>>> "Evince.EvinceView.find_started" is not present in the Fedora-17 rpms, >>>> but it is on Fedora-18. >>>> >>>> Luckily, that is good enough for me :) >>>> >>>> >>>> Just a small caveat :: Highlighting still does not work, even though I >>>> have added >>>> "self._view.find_set_highlight_search(True)" >>>> statement. >>>> >>>> >>>> Anyhow, I will keep trying !! >>>> >>>> >>>> Thanks a ton, again :) >>>> >>>> >>>> >>>> >>>> On Thu, Apr 25, 2013 at 9:17 PM, Gonzalo Odiard <[email protected]>wrote: >>>> >>>>> Hi Ajay, >>>>> >>>>> Look at the Read activity sources >>>>> https://git.sugarlabs.org/read/mainline/blobs/master/evinceadapter.py#line248 >>>>> search is working ok. >>>>> >>>>> Gonzalo >>>>> >>>>> >>>>> On Thu, Apr 25, 2013 at 12:29 PM, Ajay Garg <[email protected]>wrote: >>>>> >>>>>> Hi all. >>>>>> >>>>>> I had earlier written a program using GTK2-bindings, to load a PDF, >>>>>> and highlight all the searched-words. >>>>>> It worked perfectly fine there - highlighting the words, and >>>>>> scrolling to the desired page/location (if and when necessary). >>>>>> >>>>>> I have then ported the program to GTK3, and seem to be getting the >>>>>> results in the callback function associated to "updated" signal. >>>>>> However, neither do the words highlight, nor the scrolling takes >>>>>> place to the appropriate page/location. >>>>>> >>>>>> >>>>>> Following is the ported program :: >>>>>> >>>>>> >>>>>> ################################################################################ >>>>>> from gi.repository import GObject >>>>>> from gi.repository import Gtk >>>>>> >>>>>> from gi.repository import EvinceView >>>>>> from gi.repository import EvinceDocument >>>>>> >>>>>> >>>>>> class EvinceViewer(Gtk.ScrolledWindow): >>>>>> >>>>>> def __init__(self): >>>>>> Gtk.ScrolledWindow.__init__(self) >>>>>> >>>>>> EvinceDocument.init() >>>>>> >>>>>> self._view = EvinceView.View() >>>>>> self._view.find_set_highlight_search(True) >>>>>> >>>>>> self.add(self._view) >>>>>> >>>>>> self._find_job = None >>>>>> >>>>>> >>>>>> self.load_document('file:///home/ajay/Downloads/Ajay_Garg_Resume.pdf') >>>>>> self.find_text_first('demoable') >>>>>> >>>>>> def load_document(self, file_path): >>>>>> try: >>>>>> self._document = >>>>>> EvinceDocument.Document.factory_get_document(file_path) >>>>>> except GObject.GError, e: >>>>>> print 'ERROR in loading' >>>>>> return >>>>>> else: >>>>>> self._model = EvinceView.DocumentModel() >>>>>> self._model.set_document(self._document) >>>>>> self._view.set_model(self._model) >>>>>> >>>>>> def find_text_first(self, text): >>>>>> if text == "": >>>>>> self._view.find_set_highlight_search(False) >>>>>> return >>>>>> >>>>>> self._view.find_set_highlight_search(True) >>>>>> >>>>>> if self._find_job is not None: >>>>>> self._find_job.cancel() >>>>>> self._find_job.disconnect(self._find_updated_handler) >>>>>> self._find_job = None >>>>>> >>>>>> if text != "": >>>>>> self._find_job = EvinceView.JobFind.new(self._document, 0, >>>>>> >>>>>> self._document.get_n_pages(), >>>>>> text, False) >>>>>> self._find_updated_handler = \ >>>>>> self._find_job.connect('updated', >>>>>> self.__find_updated_cb) >>>>>> >>>>>> EvinceView.Job.scheduler_push_job(self._find_job, >>>>>> >>>>>> EvinceView.JobPriority.PRIORITY_NONE) >>>>>> >>>>>> def __find_updated_cb(self, job, page=None): >>>>>> print page >>>>>> print job >>>>>> >>>>>> ##### >>>>>> # This method no longer seems to be present in GTK3. >>>>>> #self._view.find_changed(job, page) >>>>>> ##### >>>>>> >>>>>> self._view.find_next() >>>>>> >>>>>> win = Gtk.Window() >>>>>> win.add(EvinceViewer()) >>>>>> win.maximize() >>>>>> win.show_all() >>>>>> >>>>>> Gtk.main() >>>>>> >>>>>> ################################################################################ >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> When I run the above program, I get the output :: >>>>>> >>>>>> >>>>>> ################################################################################ >>>>>> 0 >>>>>> <JobFind object at 0x8489c0c (EvJobFind at 0x84b2218)> >>>>>> 1 >>>>>> <JobFind object at 0x8489c0c (EvJobFind at 0x84b2218)> >>>>>> 2 >>>>>> <JobFind object at 0x8489c0c (EvJobFind at 0x84b2218)> >>>>>> 3 >>>>>> <JobFind object at 0x8489c0c (EvJobFind at 0x84b2218)> >>>>>> 4 >>>>>> <JobFind object at 0x8489c0c (EvJobFind at 0x84b2218)> >>>>>> >>>>>> ################################################################################ >>>>>> >>>>>> >>>>>> >>>>>> This shows that "__find_updated_cb" is being hit; however, as I said, >>>>>> neither of "text-highlighting" or "scrolling-to-desired-location" takes >>>>>> place :( >>>>>> >>>>>> I am sure that I am missing something, as :: >>>>>> >>>>>> * I have simply done the porting in the "textual sense". >>>>>> * "Search" is too major a feature to not work in GTK3. >>>>>> >>>>>> >>>>>> I will be grateful for any pointers, that may help rectify my >>>>>> situation :) >>>>>> >>>>>> >>>>>> >>>>>> Thanks and Regards, >>>>>> Ajay >>>>>> >>>>>> _______________________________________________ >>>>>> evince-list mailing list >>>>>> [email protected] >>>>>> https://mail.gnome.org/mailman/listinfo/evince-list >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Regards, >>>> Ajay >>>> >>> >>> >>> >>> -- >>> Regards, >>> Ajay >>> >> >> >> >> -- >> Regards, >> Ajay >> > > -- Regards, Ajay
_______________________________________________ evince-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/evince-list
