1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

Improved add texture as node dialog

This commit is contained in:
Daniel J. Ramirez
2017-08-10 11:40:28 -05:00
parent 81dde2687f
commit 03f62495ca
8 changed files with 187 additions and 13 deletions

View File

@@ -3485,7 +3485,7 @@ void CanvasItemEditorViewport::_on_change_type() {
}
void CanvasItemEditorViewport::_create_preview(const Vector<String> &files) const {
label->set_position(get_global_position() + Point2(14, 14));
label->set_position(get_global_position() + Point2(14, 14) * EDSCALE);
label_desc->set_position(label->get_position() + Point2(0, label->get_size().height));
for (int i = 0; i < files.size(); i++) {
String path = files[i];
@@ -3791,10 +3791,16 @@ void CanvasItemEditorViewport::drop_data(const Point2 &p_point, const Variant &p
}
void CanvasItemEditorViewport::_notification(int p_what) {
if (p_what == NOTIFICATION_ENTER_TREE) {
connect("mouse_exited", this, "_on_mouse_exit");
} else if (p_what == NOTIFICATION_EXIT_TREE) {
disconnect("mouse_exited", this, "_on_mouse_exit");
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
connect("mouse_exited", this, "_on_mouse_exit");
label->add_color_override("font_color", get_color("warning_color", "Editor"));
} break;
case NOTIFICATION_EXIT_TREE: {
disconnect("mouse_exited", this, "_on_mouse_exit");
} break;
default: break;
}
}
@@ -3824,11 +3830,12 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasIte
accept = memnew(AcceptDialog);
editor->get_gui_base()->add_child(accept);
selector = memnew(WindowDialog);
selector = memnew(AcceptDialog);
selector->set_title(TTR("Change default type"));
VBoxContainer *vbc = memnew(VBoxContainer);
vbc->add_constant_override("separation", 10 * EDSCALE);
vbc->set_h_size_flags(SIZE_EXPAND_FILL);
vbc->set_v_size_flags(SIZE_EXPAND_FILL);
vbc->set_custom_minimum_size(Size2(200, 260) * EDSCALE);
selector_label = memnew(Label);
@@ -3851,17 +3858,12 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasIte
}
vbc->add_child(btn_group);
Button *ok = memnew(Button);
ok->set_text(TTR("OK"));
ok->set_h_size_flags(0);
vbc->add_child(ok);
ok->connect("pressed", this, "_on_change_type");
selector->connect("confirmed", this, "_on_change_type");
selector->add_child(vbc);
editor->get_gui_base()->add_child(selector);
label = memnew(Label);
label->add_color_override("font_color", Color(1, 1, 0, 1));
label->add_color_override("font_color_shadow", Color(0, 0, 0, 1));
label->add_constant_override("shadow_as_outline", 1 * EDSCALE);
label->hide();