def _build_search(self, widget):
'''Builds the search bar.'''
self.srchtab = Gtk.HBox()
# close button
close = Gtk.Image()
close.set_from_stock(Gtk.STOCK_CLOSE, Gtk.IconSize.MENU)
eventbox = Gtk.EventBox()
eventbox.add(close)
eventbox.connect("button-release-event", self._close)
self.srchtab.pack_start(eventbox, False, False, 3)
# label
label = Gtk.Label(label="Find:")
self.srchtab.pack_start(label, False, False, 3)
# entry
self.search_entry = Gtk.Entry()
self.search_entry.set_tooltip_text("Type here the phrase you want to find")
self.search_entry.connect("activate", self._find, "next")
self.search_entry.connect("changed", self._find_cb, "find")
self.srchtab.pack_start(self.search_entry, False, False, 3)
# find next button
if self.small:
but_text = ''
else:
but_text = 'Next'
butn = SemiStockButton(but_text, Gtk.STOCK_GO_DOWN)
butn.set_relief(Gtk.ReliefStyle.NONE)
butn.connect("clicked", self._find, "next")
butn.set_tooltip_text("Find the next ocurrence of the phrase")
self.srchtab.pack_start(butn, False, False, 3)
# find previous button
if self.small:
but_text = ''
else:
but_text = ('Previous')
butp = SemiStockButton(but_text, Gtk.STOCK_GO_UP)
butp.set_relief(Gtk.ReliefStyle.NONE)
butp.connect("clicked", self._find, "previous")
butp.set_tooltip_text("Find the previous ocurrence of the phrase")
self.srchtab.pack_start(butp, False, False, 3)
# make last two buttons equally width
# MEOW
wn,hn = butn.get_preferred_size()
wp,hp = butp.get_preferred_size()
newwidth = max(wn.width, wp.width)
butn.set_size_request(newwidth, hn.height)
butp.set_size_request(newwidth, hp.height)
# Match case CheckButton
butCase = Gtk.CheckButton(('Match case'))
butCase.set_active(self._matchCaseValue)
butCase.connect("clicked", self._matchCase)
# FIXME
# current version of Gtk.TextIter doesn't support SEARCH_CASE_INSENSITIVE
#butCase.show()
#self.srchtab.pack_start(butCase, expand=False, fill=False, padding=3)
self.pack_start(self.srchtab, False, False, 0)
# Results
self._resultsLabel = Gtk.Label(label="")
self.srchtab.pack_start(self._resultsLabel, False, False, 3)
self.searching = False
评论列表
文章目录