File tree 1 file changed +13
-13
lines changed
1 file changed +13
-13
lines changed Original file line number Diff line number Diff line change @@ -748,7 +748,19 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
748
748
return ;
749
749
}
750
750
751
- if (items[i].selectable && (!items[i].selected || allow_reselect) && select_mode != SELECT_TOGGLE) {
751
+ if (select_mode == SELECT_TOGGLE) {
752
+ if (items[i].selectable ) {
753
+ if (items[i].selected ) {
754
+ deselect (i);
755
+ current = i;
756
+ emit_signal (SNAME (" multi_selected" ), i, false );
757
+ } else {
758
+ select (i, false );
759
+ current = i;
760
+ emit_signal (SNAME (" multi_selected" ), i, true );
761
+ }
762
+ }
763
+ } else if (items[i].selectable && (!items[i].selected || allow_reselect)) {
752
764
select (i, select_mode == SELECT_SINGLE || !mb->is_command_or_control_pressed ());
753
765
754
766
if (select_mode == SELECT_SINGLE) {
@@ -758,18 +770,6 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
758
770
}
759
771
}
760
772
761
- if (items[i].selectable && select_mode == SELECT_TOGGLE) {
762
- if (items[i].selected ) {
763
- deselect (i);
764
- current = i;
765
- emit_signal (SNAME (" multi_selected" ), i, false );
766
- } else {
767
- select (i, false );
768
- current = i;
769
- emit_signal (SNAME (" multi_selected" ), i, true );
770
- }
771
- }
772
-
773
773
emit_signal (SNAME (" item_clicked" ), i, get_local_mouse_position (), mb->get_button_index ());
774
774
775
775
if (mb->get_button_index () == MouseButton::LEFT && mb->is_double_click ()) {
You can’t perform that action at this time.
0 commit comments