11from loguru import logger
22
3- import pandas as pd
4-
53from qtpy import QtWidgets , QtCore , QtGui
6- from qtpy .QtCore import Qt
74
85from activity_browser .ui import delegates , core
9- from .item_model import ABItemModel
6+
7+ from .line_edit import ABLineEdit
108
119
1210
@@ -26,11 +24,11 @@ def __init__(self, pos: QtCore.QPoint, view: "ABNewTreeView"):
2624 col_index = view .columnAt (pos .x ())
2725 col_name = model .columns ()[col_index ]
2826
29- search_box = QtWidgets . QLineEdit (self )
27+ search_box = ABLineEdit (self )
3028 search_box .setText (view .columnFilters .get (col_name , "" ))
3129 search_box .setPlaceholderText ("Search" )
3230 search_box .selectAll ()
33- search_box .textChanged .connect (lambda query : view .setColumnFilter (col_name , query ))
31+ search_box .textChangedDebounce .connect (lambda query : view .setColumnFilter (col_name , query ))
3432 widget_action = QtWidgets .QWidgetAction (self )
3533 widget_action .setDefaultWidget (search_box )
3634 self .addAction (widget_action )
@@ -103,7 +101,7 @@ def setModel(self, model):
103101 self .updateIndexColumnVisibility ()
104102 self .updateBranchSpanning ()
105103
106- def model (self ) -> ABItemModel :
104+ def model (self ) -> core . ABTreeModel :
107105 return super ().model ()
108106
109107 # === Functionality related to contextmenus
@@ -122,10 +120,10 @@ def setColumnFilter(self, column_name: str, query: str):
122120
123121 if query :
124122 self .columnFilters [column_name ] = query
125- # self.model().filtered_columns.add(col_index)
123+ self .model ().filtered_columns .add (col_index )
126124 elif column_name in self .columnFilters :
127125 del self .columnFilters [column_name ]
128- # self.model().filtered_columns.discard(col_index)
126+ self .model ().filtered_columns .discard (col_index )
129127
130128 self .applyFilter ()
131129
@@ -144,7 +142,7 @@ def buildQuery(self) -> str:
144142 del self .columnFilters [col ]
145143
146144 for col , query in self .columnFilters .items ():
147- q = f"({ col } .astype('str').str.contains('{ self .format_query (query )} '))"
145+ q = f"({ col } .astype('str').str.contains('{ self .format_query (query )} ', False ))"
148146 queries .append (q )
149147
150148 # query for the all filter
0 commit comments