Browse code

Ignore cursor highlight while searching

Mickaël Salaün authored on 06/05/2015 19:45:22 • Jose Fonseca committed on 29/04/2016 23:07:22
Showing 1 changed files

  • xdot.py index a24eee5..2a50dd1 100755
... ...
@@ -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