@@ -176,11 +176,11 @@ def show_all_views(self):
176176
177177 def apply_action_filter (self , index = None ):
178178 """
179- [MODIFIED] Filter the tree based on 4 custom states for Classification.
179+ Filter the tree based on 4 custom states for Classification.
180180 0: Show All
181- 1: Hand Labelled (Confirmed, purely manual)
182- 2: Smart Labelled (Confirmed via smart annotation)
183- 3: No Labelled (Not confirmed at all )
181+ 1: Hand Labelled (Has manual annotation )
182+ 2: Smart Labelled (Has confirmed smart annotation)
183+ 3: No Labelled (Neither hand nor smart confirmed )
184184 """
185185 tree = self .ui .classification_ui .left_panel .tree
186186 combo = self .ui .classification_ui .left_panel .filter_combo
@@ -203,19 +203,23 @@ def apply_action_filter(self, index=None):
203203
204204 # 2. Is it Smart Labelled? (Has _confirmed flag in smart_annotations)
205205 smart_data = self .model .smart_annotations .get (path , {})
206- # If manual annotation exists, we prioritize classifying it as Hand Labelled to avoid overlap
207- is_smart_labelled = smart_data .get ("_confirmed" , False ) and not is_hand_labelled
206+ # [MODIFIED] Removed the mutually exclusive condition "and not is_hand_labelled".
207+ # Now an item can be treated as both Hand Labelled and Smart Labelled simultaneously.
208+ is_smart_labelled = smart_data .get ("_confirmed" , False )
208209
209210 # 3. No Labelled (Neither hand nor smart confirmed)
210211 is_no_labelled = not is_hand_labelled and not is_smart_labelled
211212
212213 # 4. Apply hiding logic based on the selected filter index
213214 hidden = False
214215 if filter_idx == 1 and not is_hand_labelled :
216+ # Hide if "Hand Labelled" is selected but the item lacks hand labels
215217 hidden = True
216218 elif filter_idx == 2 and not is_smart_labelled :
219+ # Hide if "Smart Labelled" is selected but the item lacks smart labels
217220 hidden = True
218221 elif filter_idx == 3 and not is_no_labelled :
222+ # Hide if "No Labelled" is selected but the item has ANY label
219223 hidden = True
220224
221225 tree .setRowHidden (row , QModelIndex (), hidden )
@@ -263,4 +267,4 @@ def _nav_tree(self, step, level):
263267 new_row = curr .row () + step
264268 if 0 <= new_row < model .rowCount (parent ):
265269 nxt = model .index (new_row , 0 , parent )
266- tree .setCurrentIndex (nxt ); tree .scrollTo (nxt )
270+ tree .setCurrentIndex (nxt ); tree .scrollTo (nxt )
0 commit comments