...
|
...
|
@@ -1575,6 +1575,7 @@ class DotWidget(Gtk.DrawingArea):
|
1575
|
1575
|
self.drag_action = NullAction(self)
|
1576
|
1576
|
self.presstime = None
|
1577
|
1577
|
self.highlight = None
|
|
1578
|
+ self.highlight_search = False
|
1578
|
1579
|
|
1579
|
1580
|
def error_dialog(self, message):
|
1580
|
1581
|
self.emit('error', message)
|
...
|
...
|
@@ -1676,7 +1677,13 @@ class DotWidget(Gtk.DrawingArea):
|
1676
|
1677
|
self.y = y
|
1677
|
1678
|
self.queue_draw()
|
1678
|
1679
|
|
1679
|
|
- def set_highlight(self, items):
|
|
1680
|
+ def set_highlight(self, items, search=False):
|
|
1681
|
+ # Enable or disable search highlight
|
|
1682
|
+ if search:
|
|
1683
|
+ self.highlight_search = items is not None
|
|
1684
|
+ # Ignore cursor highlight while searching
|
|
1685
|
+ if self.highlight_search and not search:
|
|
1686
|
+ return
|
1680
|
1687
|
if self.highlight != items:
|
1681
|
1688
|
self.highlight = items
|
1682
|
1689
|
self.queue_draw()
|
...
|
...
|
@@ -2046,21 +2053,21 @@ class DotWindow(Gtk.Window):
|
2046
|
2053
|
entry_text = entry.get_text()
|
2047
|
2054
|
dot_widget = self.dotwidget
|
2048
|
2055
|
if not entry_text:
|
2049
|
|
- dot_widget.set_highlight(None)
|
|
2056
|
+ dot_widget.set_highlight(None, search=True)
|
2050
|
2057
|
return
|
2051
|
2058
|
|
2052
|
2059
|
found_items = self.find_text(entry_text)
|
2053
|
|
- dot_widget.set_highlight(found_items)
|
|
2060
|
+ dot_widget.set_highlight(found_items, search=True)
|
2054
|
2061
|
|
2055
|
2062
|
def textentry_activate(self, widget, entry):
|
2056
|
2063
|
entry_text = entry.get_text()
|
2057
|
2064
|
dot_widget = self.dotwidget
|
2058
|
2065
|
if not entry_text:
|
2059
|
|
- dot_widget.set_highlight(None)
|
|
2066
|
+ dot_widget.set_highlight(None, search=True)
|
2060
|
2067
|
return;
|
2061
|
2068
|
|
2062
|
2069
|
found_items = self.find_text(entry_text)
|
2063
|
|
- dot_widget.set_highlight(found_items)
|
|
2070
|
+ dot_widget.set_highlight(found_items, search=True)
|
2064
|
2071
|
if(len(found_items) == 1):
|
2065
|
2072
|
dot_widget.animate_to(found_items[0].x, found_items[0].y)
|
2066
|
2073
|
|