Re: [Sugar-devel] Bug No. #398
Shan, I think we should get back to the original format and try to implement the search with the existing functions. For the first target, since the hilite word function is nowhere to be found so far for gtk2viewer, try to implement a system in which you can hilite the line of the search text, like I said that day. Try your best. About git diff, do as Tomeu instructed. run git diff inside jhbuild. Sorry about that day, on which I hurriedly explained you how to create a gut diff file in a source dir itself. Regards, Dipankar On Thu, Sep 30, 2010 at 3:08 PM, Tomeu Vizoso to...@sugarlabs.org wrote: On Wed, Sep 29, 2010 at 17:49, Shanjit Singh Jajmann shan...@dev.seeta.in wrote: Hi, I have changed a few things in viewsource.py, and i am posting the diff file, You should be making changes in sugar-jhbuild/source/sugar and use git diff to generate the diff. Ask your colleagues in Seeta if you have doubts. the issue still remains the same although i have changed view type from gtksourceview2 to gtk.textview. I have no idea why you think changing that may have helped with whatever problems you have found. Regards, Tomeu --- git diff file. diff --git a/install/lib/python2.6/site-packages/jarabe/view/viewsource.py b/install/lib/python2.6/site-packages/jarabe/view/viewsource.py index 524db9e..24e361c 100644 --- a/install/lib/python2.6/site-packages/jarabe/view/viewsource.py +++ b/install/lib/python2.6/site-packages/jarabe/view/viewsource.py @@ -321,18 +321,18 @@ class Toolbar(gtk.Toolbar): search_item.show() search_entry.show() -_search_prev = ToolButton('go-previous-paired') -_search_prev.set_tooltip(_('Previous')) -#self._search_prev.connect('clicked', self._search_prev_cb) -self.insert(_search_prev, -1) -_search_prev.show() +self._search_prev = ToolButton('go-previous-paired') +self._search_prev.set_tooltip(_('Previous')) +self._search_prev.connect('clicked', self._search_prev_cb) +self.insert(self._search_prev, -1) +self._search_prev.show() -_search_next = ToolButton('go-next-paired') -_search_next.set_tooltip(_('Next')) -#self._search_next.connect('clicked', self._search_next_cb) -self.insert(_search_next, -1) -_search_next.show() -#self._update_search_buttons() +self._search_next = ToolButton('go-next-paired') +self._search_next.set_tooltip(_('Next')) +self._search_next.connect('clicked', self._search_next_cb) +self.insert(self._search_next, -1) +self._search_next.show() +self._update_search_buttons() stop = ToolButton(icon_name='dialog-cancel') @@ -343,10 +343,30 @@ class Toolbar(gtk.Toolbar): def _search_entry_activate_cb(self, entry): self.viewer.set_search_text(entry.props.text) +self._update_search_buttons() def _search_entry_changed_cb(self, entry): self.viewer.set_search_text(entry.props.text) - +self._update_search_buttons() + +def _search_prev_cb(self, button): +self.viewer.search_next('backward') +self._update_search_buttons() + +def _search_next_cb(self, button): +self.viewer.search_next('forward') +self._update_search_buttons() + +def _update_search_buttons(self,): +if len(self.viewer.search_text) == 0: +self._search_prev.props.sensitive = False +self._search_next.props.sensitive = False +else: +prev = self.viewer.get_next_result('backward') +next = self.viewer.get_next_result('forward') +self._search_prev.props.sensitive = prev != None +self._search_next.props.sensitive = next != None + def _add_separator(self, expand=False): separator = gtk.SeparatorToolItem() separator.props.draw = False @@ -452,22 +472,88 @@ class SourceDisplay(gtk.ScrolledWindow): self._buffer = gtksourceview2.Buffer() self._buffer.set_highlight_syntax(True) -self._source_view = gtksourceview2.View(self._buffer) -self._source_view.set_editable(False) -self._source_view.set_cursor_visible(True) -self._source_view.set_show_line_numbers(True) -self._source_view.set_show_right_margin(True) -self._source_view.set_right_margin_position(80) +self.search_text = ' ' + +#self._source_view = gtksourceview2.View(self._buffer) +#self._source_view.set_editable(False) +#self._source_view.set_cursor_visible(True) +#self._source_view.set_show_line_numbers(True) +#self._source_view.set_show_right_margin(True) +#self._source_view.set_right_margin_position(80)
Re: [Sugar-devel] Bug No. #398
Hi, I have changed a few things in viewsource.py, and i am posting the diff file, the issue still remains the same although i have changed view type from gtksourceview2 to gtk.textview. --- git diff file. diff --git a/install/lib/python2.6/site-packages/jarabe/view/viewsource.py b/install/lib/python2.6/site-packages/jarabe/view/viewsource.py index 524db9e..24e361c 100644 --- a/install/lib/python2.6/site-packages/jarabe/view/viewsource.py +++ b/install/lib/python2.6/site-packages/jarabe/view/viewsource.py @@ -321,18 +321,18 @@ class Toolbar(gtk.Toolbar): search_item.show() search_entry.show() -_search_prev = ToolButton('go-previous-paired') -_search_prev.set_tooltip(_('Previous')) -#self._search_prev.connect('clicked', self._search_prev_cb) -self.insert(_search_prev, -1) -_search_prev.show() +self._search_prev = ToolButton('go-previous-paired') +self._search_prev.set_tooltip(_('Previous')) +self._search_prev.connect('clicked', self._search_prev_cb) +self.insert(self._search_prev, -1) +self._search_prev.show() -_search_next = ToolButton('go-next-paired') -_search_next.set_tooltip(_('Next')) -#self._search_next.connect('clicked', self._search_next_cb) -self.insert(_search_next, -1) -_search_next.show() -#self._update_search_buttons() +self._search_next = ToolButton('go-next-paired') +self._search_next.set_tooltip(_('Next')) +self._search_next.connect('clicked', self._search_next_cb) +self.insert(self._search_next, -1) +self._search_next.show() +self._update_search_buttons() stop = ToolButton(icon_name='dialog-cancel') @@ -343,10 +343,30 @@ class Toolbar(gtk.Toolbar): def _search_entry_activate_cb(self, entry): self.viewer.set_search_text(entry.props.text) +self._update_search_buttons() def _search_entry_changed_cb(self, entry): self.viewer.set_search_text(entry.props.text) - +self._update_search_buttons() + +def _search_prev_cb(self, button): +self.viewer.search_next('backward') +self._update_search_buttons() + +def _search_next_cb(self, button): +self.viewer.search_next('forward') +self._update_search_buttons() + +def _update_search_buttons(self,): +if len(self.viewer.search_text) == 0: +self._search_prev.props.sensitive = False +self._search_next.props.sensitive = False +else: +prev = self.viewer.get_next_result('backward') +next = self.viewer.get_next_result('forward') +self._search_prev.props.sensitive = prev != None +self._search_next.props.sensitive = next != None + def _add_separator(self, expand=False): separator = gtk.SeparatorToolItem() separator.props.draw = False @@ -452,22 +472,88 @@ class SourceDisplay(gtk.ScrolledWindow): self._buffer = gtksourceview2.Buffer() self._buffer.set_highlight_syntax(True) -self._source_view = gtksourceview2.View(self._buffer) -self._source_view.set_editable(False) -self._source_view.set_cursor_visible(True) -self._source_view.set_show_line_numbers(True) -self._source_view.set_show_right_margin(True) -self._source_view.set_right_margin_position(80) +self.search_text = ' ' + +#self._source_view = gtksourceview2.View(self._buffer) +#self._source_view.set_editable(False) +#self._source_view.set_cursor_visible(True) +#self._source_view.set_show_line_numbers(True) +#self._source_view.set_show_right_margin(True) +#self._source_view.set_right_margin_position(80) #self._source_view.set_highlight_current_line(True) #FIXME: Ugly color -self._source_view.modify_font(_SOURCE_FONT) -self.add(self._source_view) -self._source_view.show() +#self._source_view.modify_font(_SOURCE_FONT) + # self.add(self._source_view) + # self._source_view.show() + +self._textview = gtk.TextView(self._buffer) +self.add(self._textview) +self._tagtable = gtk.TextTagTable() +hilite_tag = gtk.TextTag('search-hilite') +hilite_tag.props.background = '#B0' +self._tagtable.add(hilite_tag) +select_tag = gtk.TextTag('search-select') +select_tag.props.background = '#B0B0FF' +self._tagtable.add(select_tag) + +scroll = gtk.ScrolledWindow() +scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) +scroll.add(self._textview) +self._textview.show() + self._file_path = None def set_search_text(self, text): self.search_text = text +buffer = self._textview.get_buffer() +start, end = buffer.get_bounds() + #
[Sugar-devel] Bug No. #398
Team, I am working on http://bugs.sugarlabs.org/ticket/398 : Regarding the search box, i have tried to introduce the same functionality as in the 'Log' activity, in the toolbar of viewsource (jarabe/view/viewscreen.py), however i have run into some searching and highlighting issues regarding working with gtksourceview used in the sourceview function of the same file. Could you please provide some pointers on how to achieve the searching and highlighting ? (i could not get the bounds of the buffer created, start,end . The highlight function has me confused as it isn't working) or any other approach if possible. Regards Shan ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Bug No. #398
On Mon, Sep 27, 2010 at 16:36, Shanjit Singh Jajmann shan...@dev.seeta.in wrote: Team, I am working on http://bugs.sugarlabs.org/ticket/398 : Regarding the search box, i have tried to introduce the same functionality as in the 'Log' activity, in the toolbar of viewsource (jarabe/view/viewscreen.py), however i have run into some searching and highlighting issues regarding working Without knowing which are the issues is a bit hard to know how to help. Can you be more explicit and also post the patch? Regards, Tomeu with gtksourceview used in the sourceview function of the same file. Could you please provide some pointers on how to achieve the searching and highlighting ? (i could not get the bounds of the buffer created, start,end . The highlight function has me confused as it isn't working) or any other approach if possible. Regards Shan ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel