@@ -1118,7 +1118,8 @@ def _clusters_selected(self, sender, obj, **kwargs):
11181118 return
11191119 cluster_ids = obj ['selected' ]
11201120 next_cluster = obj ['next' ]
1121- kwargs = obj .get ('kwargs' , {})
1121+ kwargs = dict (obj .get ('kwargs' , {}))
1122+ kwargs .pop ('_selection_intent' , None )
11221123 logger .debug ('Clusters selected: %s (%s)' , cluster_ids , next_cluster )
11231124 change = self .selection .set_normal_selection (cluster_ids )
11241125 change = self ._set_table_presentation_order (change )
@@ -1147,12 +1148,16 @@ def _similar_selected(self, sender, obj):
11471148 return
11481149 similar = obj ['selected' ]
11491150 next_similar = obj ['next' ]
1150- kwargs = obj .get ('kwargs' , {})
1151+ kwargs = dict (obj .get ('kwargs' , {}))
1152+ selection_intent = kwargs .pop ('_selection_intent' , None )
11511153 logger .debug ('Similar clusters selected: %s (%s)' , similar , next_similar )
11521154 presentation_order = self ._presentation_order_from_tables (
11531155 self .selection .state , similar_ids = similar
11541156 )
1155- self .selection .set_similarity_selection (similar , presentation_order )
1157+ if selection_intent == 'navigation' and not self .selection .state .is_merge_mode :
1158+ self .selection .navigate_similarity_selection (similar , presentation_order )
1159+ else :
1160+ self .selection .set_similarity_selection (similar , presentation_order )
11561161 self ._update_selection_colors ()
11571162 self ._project_merge_view ()
11581163 self .task_logger .log (self .similarity_view , 'select' , similar , output = obj )
0 commit comments