@@ -70,6 +70,9 @@ def setup_fiter_controls(self) -> None:
70
70
self .filter_button = QPushButton ("Filter" )
71
71
self .filter_button .setMaximumSize (120 , 30 )
72
72
self .filter_button .pressed .connect (self .filter_table )
73
+ self .clear_filter_button = QPushButton ("Clear Filters" )
74
+ self .clear_filter_button .setMaximumSize (120 , 30 )
75
+ self .clear_filter_button .pressed .connect (self .clear_filters )
73
76
self .filter_active_label = QLabel ("Filter Active: " )
74
77
self .filter_active_label .setStyleSheet ("background-color: orange" )
75
78
self .filter_active_label .hide ()
@@ -182,6 +185,7 @@ def setup_date_controls(self) -> None:
182
185
self .calendar_layout .addWidget (self .end_date )
183
186
self .calendar_layout .addWidget (self .preset_queries_dropdown )
184
187
self .calendar_layout .addWidget (self .filter_button )
188
+ self .calendar_layout .addWidget (self .clear_filter_button )
185
189
186
190
self .layout .addLayout (self .calendar_layout )
187
191
self .layout .addWidget (self .filter_active_label )
@@ -410,6 +414,11 @@ def filter_table(self) -> None:
410
414
411
415
self .tableProxyModel .invalidateFilter ()
412
416
417
+ def clear_filters (self ) -> None :
418
+ """ Clear all line edits of text so that the user can start fresh """
419
+ for line_edit in self .line_edits .values ():
420
+ line_edit .clear ()
421
+
413
422
def apply_preset (self , index : int ) -> None :
414
423
"""
415
424
Applies a user-defined preset to the filtering options, auto-selecting them based on the preset chosen
@@ -434,8 +443,7 @@ def apply_preset(self, index: int) -> None:
434
443
self .line_edits [column_name ].setText (value )
435
444
else :
436
445
# Clear all line edits if no filters are present
437
- for line_edit in self .line_edits .values ():
438
- line_edit .clear ()
446
+ self .clear_filters ()
439
447
440
448
def reset_preset_queries_dropdown (self ) -> None :
441
449
""" Reset the preset queries dropdown """
0 commit comments