Color Pickers Respect Settings
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
This commit is contained in:
parent
976cb7ea9f
commit
1b8652e86a
@ -3588,6 +3588,13 @@ void EditorNode::set_current_scene(int p_idx) {
|
|||||||
call_deferred(SNAME("_set_main_scene_state"), state, get_edited_scene()); // Do after everything else is done setting up.
|
call_deferred(SNAME("_set_main_scene_state"), state, get_edited_scene()); // Do after everything else is done setting up.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorNode::setup_color_picker(ColorPicker *picker) {
|
||||||
|
int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
|
||||||
|
int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
|
||||||
|
picker->set_color_mode((ColorPicker::ColorModeType)default_color_mode);
|
||||||
|
picker->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
|
||||||
|
}
|
||||||
|
|
||||||
bool EditorNode::is_scene_open(const String &p_path) {
|
bool EditorNode::is_scene_open(const String &p_path) {
|
||||||
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
|
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
|
||||||
if (editor_data.get_scene_path(i) == p_path) {
|
if (editor_data.get_scene_path(i) == p_path) {
|
||||||
|
@ -783,6 +783,8 @@ public:
|
|||||||
void set_current_version(uint64_t p_version);
|
void set_current_version(uint64_t p_version);
|
||||||
void set_current_scene(int p_idx);
|
void set_current_scene(int p_idx);
|
||||||
|
|
||||||
|
void setup_color_picker(ColorPicker *picker);
|
||||||
|
|
||||||
void request_instance_scene(const String &p_path);
|
void request_instance_scene(const String &p_path);
|
||||||
void request_instantiate_scenes(const Vector<String> &p_files);
|
void request_instantiate_scenes(const Vector<String> &p_files);
|
||||||
|
|
||||||
|
@ -3007,14 +3007,6 @@ void EditorPropertyColor::_popup_closed() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorPropertyColor::_picker_created() {
|
|
||||||
// get default color picker mode from editor settings
|
|
||||||
int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
|
|
||||||
picker->get_picker()->set_color_mode((ColorPicker::ColorModeType)default_color_mode);
|
|
||||||
int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
|
|
||||||
picker->get_picker()->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
|
|
||||||
}
|
|
||||||
|
|
||||||
void EditorPropertyColor::_picker_opening() {
|
void EditorPropertyColor::_picker_opening() {
|
||||||
last_color = picker->get_pick_color();
|
last_color = picker->get_pick_color();
|
||||||
}
|
}
|
||||||
@ -3059,7 +3051,7 @@ EditorPropertyColor::EditorPropertyColor() {
|
|||||||
picker->set_flat(true);
|
picker->set_flat(true);
|
||||||
picker->connect("color_changed", callable_mp(this, &EditorPropertyColor::_color_changed));
|
picker->connect("color_changed", callable_mp(this, &EditorPropertyColor::_color_changed));
|
||||||
picker->connect("popup_closed", callable_mp(this, &EditorPropertyColor::_popup_closed));
|
picker->connect("popup_closed", callable_mp(this, &EditorPropertyColor::_popup_closed));
|
||||||
picker->connect("picker_created", callable_mp(this, &EditorPropertyColor::_picker_created));
|
picker->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(picker->get_picker()));
|
||||||
picker->get_popup()->connect("about_to_popup", callable_mp(this, &EditorPropertyColor::_picker_opening));
|
picker->get_popup()->connect("about_to_popup", callable_mp(this, &EditorPropertyColor::_picker_opening));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,6 +85,7 @@ void GradientEditor::reverse_gradient() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
GradientEditor::GradientEditor() {
|
GradientEditor::GradientEditor() {
|
||||||
|
GradientEdit::get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(GradientEdit::get_picker()));
|
||||||
editing = false;
|
editing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8028,6 +8028,7 @@ void fragment() {
|
|||||||
sun_color->set_edit_alpha(false);
|
sun_color->set_edit_alpha(false);
|
||||||
sun_vb->add_margin_child(TTR("Sun Color"), sun_color);
|
sun_vb->add_margin_child(TTR("Sun Color"), sun_color);
|
||||||
sun_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
sun_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
||||||
|
sun_color->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(sun_color->get_picker()));
|
||||||
|
|
||||||
sun_energy = memnew(EditorSpinSlider);
|
sun_energy = memnew(EditorSpinSlider);
|
||||||
sun_vb->add_margin_child(TTR("Sun Energy"), sun_energy);
|
sun_vb->add_margin_child(TTR("Sun Energy"), sun_energy);
|
||||||
@ -8073,10 +8074,12 @@ void fragment() {
|
|||||||
environ_sky_color = memnew(ColorPickerButton);
|
environ_sky_color = memnew(ColorPickerButton);
|
||||||
environ_sky_color->set_edit_alpha(false);
|
environ_sky_color->set_edit_alpha(false);
|
||||||
environ_sky_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
environ_sky_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
||||||
|
environ_sky_color->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(environ_sky_color->get_picker()));
|
||||||
environ_vb->add_margin_child(TTR("Sky Color"), environ_sky_color);
|
environ_vb->add_margin_child(TTR("Sky Color"), environ_sky_color);
|
||||||
environ_ground_color = memnew(ColorPickerButton);
|
environ_ground_color = memnew(ColorPickerButton);
|
||||||
environ_ground_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
environ_ground_color->connect("color_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
||||||
environ_ground_color->set_edit_alpha(false);
|
environ_ground_color->set_edit_alpha(false);
|
||||||
|
environ_ground_color->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(environ_ground_color->get_picker()));
|
||||||
environ_vb->add_margin_child(TTR("Ground Color"), environ_ground_color);
|
environ_vb->add_margin_child(TTR("Ground Color"), environ_ground_color);
|
||||||
environ_energy = memnew(EditorSpinSlider);
|
environ_energy = memnew(EditorSpinSlider);
|
||||||
environ_energy->connect("value_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
environ_energy->connect("value_changed", callable_mp(this, &Node3DEditor::_preview_settings_changed).unbind(1));
|
||||||
|
@ -1862,16 +1862,10 @@ void ScriptTextEditor::_enable_code_editor() {
|
|||||||
color_picker = memnew(ColorPicker);
|
color_picker = memnew(ColorPicker);
|
||||||
color_picker->set_deferred_mode(true);
|
color_picker->set_deferred_mode(true);
|
||||||
color_picker->connect("color_changed", callable_mp(this, &ScriptTextEditor::_color_changed));
|
color_picker->connect("color_changed", callable_mp(this, &ScriptTextEditor::_color_changed));
|
||||||
|
color_panel->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(color_picker));
|
||||||
|
|
||||||
color_panel->add_child(color_picker);
|
color_panel->add_child(color_picker);
|
||||||
|
|
||||||
// get default color picker mode from editor settings
|
|
||||||
int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
|
|
||||||
color_picker->set_color_mode((ColorPicker::ColorModeType)default_color_mode);
|
|
||||||
|
|
||||||
int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
|
|
||||||
color_picker->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
|
|
||||||
|
|
||||||
quick_open = memnew(ScriptEditorQuickOpen);
|
quick_open = memnew(ScriptEditorQuickOpen);
|
||||||
quick_open->connect("goto_line", callable_mp(this, &ScriptTextEditor::_goto_line));
|
quick_open->connect("goto_line", callable_mp(this, &ScriptTextEditor::_goto_line));
|
||||||
add_child(quick_open);
|
add_child(quick_open);
|
||||||
|
@ -2492,6 +2492,7 @@ void ThemeTypeEditor::_update_type_items() {
|
|||||||
if (E.value) {
|
if (E.value) {
|
||||||
item_editor->set_pick_color(edited_theme->get_color(E.key, edited_type));
|
item_editor->set_pick_color(edited_theme->get_color(E.key, edited_type));
|
||||||
item_editor->connect("color_changed", callable_mp(this, &ThemeTypeEditor::_color_item_changed), varray(E.key));
|
item_editor->connect("color_changed", callable_mp(this, &ThemeTypeEditor::_color_item_changed), varray(E.key));
|
||||||
|
item_editor->get_popup()->connect("about_to_popup", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(item_editor->get_picker()));
|
||||||
} else {
|
} else {
|
||||||
item_editor->set_pick_color(Theme::get_default()->get_color(E.key, edited_type));
|
item_editor->set_pick_color(Theme::get_default()->get_color(E.key, edited_type));
|
||||||
item_editor->set_disabled(true);
|
item_editor->set_disabled(true);
|
||||||
|
@ -828,13 +828,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::
|
|||||||
value_vbox->add_child(color_picker);
|
value_vbox->add_child(color_picker);
|
||||||
color_picker->hide();
|
color_picker->hide();
|
||||||
color_picker->connect("color_changed", callable_mp(this, &CustomPropertyEditor::_color_changed));
|
color_picker->connect("color_changed", callable_mp(this, &CustomPropertyEditor::_color_changed));
|
||||||
|
color_picker->connect("show", callable_mp(EditorNode::get_singleton(), &EditorNode::setup_color_picker), varray(color_picker));
|
||||||
// get default color picker mode from editor settings
|
|
||||||
int default_color_mode = EDITOR_GET("interface/inspector/default_color_picker_mode");
|
|
||||||
color_picker->set_color_mode((ColorPicker::ColorModeType)default_color_mode);
|
|
||||||
|
|
||||||
int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape");
|
|
||||||
color_picker->set_picker_shape((ColorPicker::PickerShapeType)picker_shape);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
color_picker->show();
|
color_picker->show();
|
||||||
|
@ -437,6 +437,10 @@ ColorPicker *GradientEdit::get_picker() {
|
|||||||
return picker;
|
return picker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PopupPanel *GradientEdit::get_popup() {
|
||||||
|
return popup;
|
||||||
|
}
|
||||||
|
|
||||||
void GradientEdit::_bind_methods() {
|
void GradientEdit::_bind_methods() {
|
||||||
ADD_SIGNAL(MethodInfo("ramp_changed"));
|
ADD_SIGNAL(MethodInfo("ramp_changed"));
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,7 @@ public:
|
|||||||
void set_interpolation_mode(Gradient::InterpolationMode p_interp_mode);
|
void set_interpolation_mode(Gradient::InterpolationMode p_interp_mode);
|
||||||
Gradient::InterpolationMode get_interpolation_mode();
|
Gradient::InterpolationMode get_interpolation_mode();
|
||||||
ColorPicker *get_picker();
|
ColorPicker *get_picker();
|
||||||
|
PopupPanel *get_popup();
|
||||||
|
|
||||||
virtual Size2 get_minimum_size() const override;
|
virtual Size2 get_minimum_size() const override;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user