Merge pull request #257 from yoavp77/allow-invert-search

Add support for inverted search
This commit is contained in:
Matt Rose 2020-10-26 12:29:44 -04:00 committed by GitHub
commit acba6fa34e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 1 deletions

View File

@ -124,6 +124,7 @@ DEFAULTS = {
'clear_select_on_copy' : False,
'line_height' : 1.0,
'case_sensitive' : True,
'invert_search' : False,
},
'keybindings': {
'zoom_in' : '<Control>plus',

View File

@ -95,17 +95,31 @@ class Searchbar(Gtk.HBox):
self.wrap.set_active(True)
self.wrap.connect('toggled', self.wrap_toggled)
# Invert Search checkbox
self.invert_search = Gtk.CheckButton.new_with_label('Invert Search')
self.invert_search.show()
self.search_is_inverted = self.config.base.get_item('invert_search')
self.invert_search.set_active(self.search_is_inverted)
self.invert_search.connect('toggled', self.wrap_invert_search)
self.pack_start(label, False, True, 0)
self.pack_start(self.entry, True, True, 0)
self.pack_start(self.prev, False, False, 0)
self.pack_start(self.next, False, False, 0)
self.pack_start(self.wrap, False, False, 0)
self.pack_start(self.match_case, False, False, 0)
self.pack_start(self.invert_search, False, False, 0)
self.pack_end(close, False, False, 0)
self.hide()
self.set_no_show_all(True)
def wrap_invert_search(self, toggled):
self.search_is_inverted = toggled.get_active()
self.invert_search.set_active(toggled.get_active())
self.config.base.set_item('invert_search', toggled.get_active())
self.config.save()
def wrap_toggled(self, toggled):
toggled_state = toggled.get_active()
self.vte.search_set_wrap_around(toggled_state)
@ -188,7 +202,11 @@ class Searchbar(Gtk.HBox):
self.next.set_sensitive(True)
self.prev.set_sensitive(True)
self.next_search(None)
# switch search direction based on the inversion checkbox
if not self.search_is_inverted:
self.next_search(None)
else:
self.prev_search(None)
def next_search(self, widget):
"""Search forwards and jump to the next result, if any"""