Explorar o código

ColorPicker: Fix preset button order after calling `add_preset`

Haoyu Qiu hai 3 semanas
pai
achega
52df1aeb59
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      scene/gui/color_picker.cpp

+ 8 - 1
scene/gui/color_picker.cpp

@@ -1196,7 +1196,14 @@ void ColorPicker::add_preset(const Color &p_color) {
 	if (e) {
 		presets.move_to_back(e);
 
-		preset_container->move_child(preset_group->get_pressed_button(), preset_container->get_child_count() - 1);
+		for (int i = 1; i < preset_container->get_child_count(); i++) {
+			ColorPresetButton *current_btn = Object::cast_to<ColorPresetButton>(preset_container->get_child(i));
+			if (current_btn && p_color == current_btn->get_preset_color()) {
+				preset_container->move_child(current_btn, preset_container->get_child_count() - 1);
+				current_btn->set_pressed(true);
+				break;
+			}
+		}
 	} else {
 		presets.push_back(p_color);