Clean up setting dialogues a bit.
This commit is contained in:
parent
cacab4ba62
commit
0d04f212a3
|
@ -548,34 +548,28 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
|
||||||
HBoxContainer *hbc = memnew(HBoxContainer);
|
HBoxContainer *hbc = memnew(HBoxContainer);
|
||||||
add_child(hbc);
|
add_child(hbc);
|
||||||
|
|
||||||
VBoxContainer *vbc_path = memnew(VBoxContainer);
|
Label *l = memnew(Label);
|
||||||
vbc_path->set_h_size_flags(SIZE_EXPAND_FILL);
|
l->set_text(TTR("Path:"));
|
||||||
|
hbc->add_child(l);
|
||||||
|
|
||||||
autoload_add_path = memnew(EditorLineEditFileChooser);
|
autoload_add_path = memnew(EditorLineEditFileChooser);
|
||||||
autoload_add_path->set_h_size_flags(SIZE_EXPAND_FILL);
|
autoload_add_path->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
|
||||||
autoload_add_path->get_file_dialog()->set_mode(EditorFileDialog::MODE_OPEN_FILE);
|
autoload_add_path->get_file_dialog()->set_mode(EditorFileDialog::MODE_OPEN_FILE);
|
||||||
autoload_add_path->get_file_dialog()->connect("file_selected", this, "_autoload_file_callback");
|
autoload_add_path->get_file_dialog()->connect("file_selected", this, "_autoload_file_callback");
|
||||||
|
hbc->add_child(autoload_add_path);
|
||||||
|
|
||||||
vbc_path->add_margin_child(TTR("Path:"), autoload_add_path);
|
l = memnew(Label);
|
||||||
hbc->add_child(vbc_path);
|
l->set_text(TTR("Node Name:"));
|
||||||
|
hbc->add_child(l);
|
||||||
VBoxContainer *vbc_name = memnew(VBoxContainer);
|
|
||||||
vbc_name->set_h_size_flags(SIZE_EXPAND_FILL);
|
|
||||||
|
|
||||||
HBoxContainer *hbc_name = memnew(HBoxContainer);
|
|
||||||
|
|
||||||
autoload_add_name = memnew(LineEdit);
|
autoload_add_name = memnew(LineEdit);
|
||||||
autoload_add_name->set_h_size_flags(SIZE_EXPAND_FILL);
|
autoload_add_name->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
hbc_name->add_child(autoload_add_name);
|
hbc->add_child(autoload_add_name);
|
||||||
|
|
||||||
Button *add_autoload = memnew(Button);
|
Button *add_autoload = memnew(Button);
|
||||||
add_autoload->set_text(TTR("Add"));
|
add_autoload->set_text(TTR("Add"));
|
||||||
hbc_name->add_child(add_autoload);
|
|
||||||
add_autoload->connect("pressed", this, "_autoload_add");
|
add_autoload->connect("pressed", this, "_autoload_add");
|
||||||
|
hbc->add_child(add_autoload);
|
||||||
vbc_name->add_margin_child(TTR("Node Name:"), hbc_name);
|
|
||||||
hbc->add_child(vbc_name);
|
|
||||||
|
|
||||||
tree = memnew(Tree);
|
tree = memnew(Tree);
|
||||||
tree->set_hide_root(true);
|
tree->set_hide_root(true);
|
||||||
|
@ -606,5 +600,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
|
||||||
tree->connect("item_edited", this, "_autoload_edited");
|
tree->connect("item_edited", this, "_autoload_edited");
|
||||||
tree->connect("button_pressed", this, "_autoload_button_pressed");
|
tree->connect("button_pressed", this, "_autoload_button_pressed");
|
||||||
|
|
||||||
add_margin_child(TTR("List:"), tree, true);
|
tree->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
|
||||||
|
add_child(tree, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1690,13 +1690,13 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
|
||||||
vbc->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 0);
|
vbc->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 0);
|
||||||
vbc->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 0);
|
vbc->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 0);
|
||||||
|
|
||||||
l = memnew(Label);
|
|
||||||
vbc->add_child(l);
|
|
||||||
l->set_text(TTR("Action:"));
|
|
||||||
|
|
||||||
hbc = memnew(HBoxContainer);
|
hbc = memnew(HBoxContainer);
|
||||||
vbc->add_child(hbc);
|
vbc->add_child(hbc);
|
||||||
|
|
||||||
|
l = memnew(Label);
|
||||||
|
hbc->add_child(l);
|
||||||
|
l->set_text(TTR("Action:"));
|
||||||
|
|
||||||
action_name = memnew(LineEdit);
|
action_name = memnew(LineEdit);
|
||||||
action_name->set_h_size_flags(SIZE_EXPAND_FILL);
|
action_name->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
hbc->add_child(action_name);
|
hbc->add_child(action_name);
|
||||||
|
|
|
@ -4599,7 +4599,7 @@ SectionedPropertyEditor::SectionedPropertyEditor() {
|
||||||
sections->set_v_size_flags(SIZE_EXPAND_FILL);
|
sections->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
sections->set_hide_root(true);
|
sections->set_hide_root(true);
|
||||||
|
|
||||||
left_vb->add_margin_child(TTR("Sections:"), sections, true);
|
left_vb->add_child(sections, true);
|
||||||
|
|
||||||
VBoxContainer *right_vb = memnew(VBoxContainer);
|
VBoxContainer *right_vb = memnew(VBoxContainer);
|
||||||
right_vb->set_h_size_flags(SIZE_EXPAND_FILL);
|
right_vb->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
@ -4608,7 +4608,7 @@ SectionedPropertyEditor::SectionedPropertyEditor() {
|
||||||
filter = memnew(SectionedPropertyEditorFilter);
|
filter = memnew(SectionedPropertyEditorFilter);
|
||||||
editor = memnew(PropertyEditor);
|
editor = memnew(PropertyEditor);
|
||||||
editor->set_v_size_flags(SIZE_EXPAND_FILL);
|
editor->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
right_vb->add_margin_child(TTR("Properties:"), editor, true);
|
right_vb->add_child(editor, true);
|
||||||
|
|
||||||
editor->get_scene_tree()->set_column_titles_visible(false);
|
editor->get_scene_tree()->set_column_titles_visible(false);
|
||||||
|
|
||||||
|
|
|
@ -314,9 +314,9 @@ public:
|
||||||
|
|
||||||
class SectionedPropertyEditorFilter;
|
class SectionedPropertyEditorFilter;
|
||||||
|
|
||||||
class SectionedPropertyEditor : public HBoxContainer {
|
class SectionedPropertyEditor : public HSplitContainer {
|
||||||
|
|
||||||
GDCLASS(SectionedPropertyEditor, HBoxContainer);
|
GDCLASS(SectionedPropertyEditor, HSplitContainer);
|
||||||
|
|
||||||
ObjectID obj;
|
ObjectID obj;
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,8 @@ void EditorSettingsDialog::popup_edit_settings() {
|
||||||
} else {
|
} else {
|
||||||
popup_centered_ratio(0.7);
|
popup_centered_ratio(0.7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_focus_current_search_box();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorSettingsDialog::_clear_search_box() {
|
void EditorSettingsDialog::_clear_search_box() {
|
||||||
|
@ -137,13 +139,18 @@ void EditorSettingsDialog::_notification(int p_what) {
|
||||||
undo_redo->set_commit_notify_callback(_undo_redo_callback, this);
|
undo_redo->set_commit_notify_callback(_undo_redo_callback, this);
|
||||||
} break;
|
} break;
|
||||||
case NOTIFICATION_ENTER_TREE: {
|
case NOTIFICATION_ENTER_TREE: {
|
||||||
clear_button->set_icon(get_icon("Close", "EditorIcons"));
|
_update_icons();
|
||||||
shortcut_clear_button->set_icon(get_icon("Close", "EditorIcons"));
|
|
||||||
} break;
|
} break;
|
||||||
case NOTIFICATION_POPUP_HIDE: {
|
case NOTIFICATION_POPUP_HIDE: {
|
||||||
EditorSettings::get_singleton()->set("interface/dialogs/editor_settings_bounds", get_rect());
|
EditorSettings::get_singleton()->set("interface/dialogs/editor_settings_bounds", get_rect());
|
||||||
set_process_unhandled_input(false);
|
set_process_unhandled_input(false);
|
||||||
} break;
|
} break;
|
||||||
|
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
|
||||||
|
_update_icons();
|
||||||
|
// Update theme colors.
|
||||||
|
property_editor->update_category_list();
|
||||||
|
_update_shortcuts();
|
||||||
|
} break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +186,14 @@ void EditorSettingsDialog::_unhandled_input(const Ref<InputEvent> &p_event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorSettingsDialog::_update_icons() {
|
||||||
|
|
||||||
|
search_box->add_icon_override("right_icon", get_icon("Search", "EditorIcons"));
|
||||||
|
shortcut_search_box->add_icon_override("right_icon", get_icon("Search", "EditorIcons"));
|
||||||
|
clear_button->set_icon(get_icon("Close", "EditorIcons"));
|
||||||
|
shortcut_clear_button->set_icon(get_icon("Close", "EditorIcons"));
|
||||||
|
}
|
||||||
|
|
||||||
void EditorSettingsDialog::_update_shortcuts() {
|
void EditorSettingsDialog::_update_shortcuts() {
|
||||||
|
|
||||||
shortcuts->clear();
|
shortcuts->clear();
|
||||||
|
@ -329,6 +344,26 @@ void EditorSettingsDialog::_press_a_key_confirm() {
|
||||||
undo_redo->commit_action();
|
undo_redo->commit_action();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorSettingsDialog::_tabs_tab_changed(int p_tab) {
|
||||||
|
|
||||||
|
_focus_current_search_box();
|
||||||
|
}
|
||||||
|
|
||||||
|
void EditorSettingsDialog::_focus_current_search_box() {
|
||||||
|
|
||||||
|
Control *tab = tabs->get_current_tab_control();
|
||||||
|
LineEdit* current_search_box;
|
||||||
|
if (tab == tab_general)
|
||||||
|
current_search_box = search_box;
|
||||||
|
else if (tab == tab_shortcuts)
|
||||||
|
current_search_box = shortcut_search_box;
|
||||||
|
|
||||||
|
if (current_search_box) {
|
||||||
|
current_search_box->grab_focus();
|
||||||
|
current_search_box->select_all();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void EditorSettingsDialog::_bind_methods() {
|
void EditorSettingsDialog::_bind_methods() {
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("_unhandled_input"), &EditorSettingsDialog::_unhandled_input);
|
ClassDB::bind_method(D_METHOD("_unhandled_input"), &EditorSettingsDialog::_unhandled_input);
|
||||||
|
@ -342,6 +377,7 @@ void EditorSettingsDialog::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("_update_shortcuts"), &EditorSettingsDialog::_update_shortcuts);
|
ClassDB::bind_method(D_METHOD("_update_shortcuts"), &EditorSettingsDialog::_update_shortcuts);
|
||||||
ClassDB::bind_method(D_METHOD("_press_a_key_confirm"), &EditorSettingsDialog::_press_a_key_confirm);
|
ClassDB::bind_method(D_METHOD("_press_a_key_confirm"), &EditorSettingsDialog::_press_a_key_confirm);
|
||||||
ClassDB::bind_method(D_METHOD("_wait_for_key"), &EditorSettingsDialog::_wait_for_key);
|
ClassDB::bind_method(D_METHOD("_wait_for_key"), &EditorSettingsDialog::_wait_for_key);
|
||||||
|
ClassDB::bind_method(D_METHOD("_tabs_tab_changed"), &EditorSettingsDialog::_tabs_tab_changed);
|
||||||
}
|
}
|
||||||
|
|
||||||
EditorSettingsDialog::EditorSettingsDialog() {
|
EditorSettingsDialog::EditorSettingsDialog() {
|
||||||
|
@ -352,20 +388,19 @@ EditorSettingsDialog::EditorSettingsDialog() {
|
||||||
|
|
||||||
tabs = memnew(TabContainer);
|
tabs = memnew(TabContainer);
|
||||||
tabs->set_tab_align(TabContainer::ALIGN_LEFT);
|
tabs->set_tab_align(TabContainer::ALIGN_LEFT);
|
||||||
|
tabs->connect("tab_changed", this, "_tabs_tab_changed");
|
||||||
add_child(tabs);
|
add_child(tabs);
|
||||||
//set_child_rect(tabs);
|
//set_child_rect(tabs);
|
||||||
|
|
||||||
VBoxContainer *vbc = memnew(VBoxContainer);
|
// General Tab
|
||||||
tabs->add_child(vbc);
|
|
||||||
vbc->set_name(TTR("General"));
|
tab_general = memnew(VBoxContainer);
|
||||||
|
tabs->add_child(tab_general);
|
||||||
|
tab_general->set_name(TTR("General"));
|
||||||
|
|
||||||
HBoxContainer *hbc = memnew(HBoxContainer);
|
HBoxContainer *hbc = memnew(HBoxContainer);
|
||||||
hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
vbc->add_child(hbc);
|
tab_general->add_child(hbc);
|
||||||
|
|
||||||
Label *l = memnew(Label);
|
|
||||||
l->set_text(TTR("Search:") + " ");
|
|
||||||
hbc->add_child(l);
|
|
||||||
|
|
||||||
search_box = memnew(LineEdit);
|
search_box = memnew(LineEdit);
|
||||||
search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
|
@ -381,20 +416,18 @@ EditorSettingsDialog::EditorSettingsDialog() {
|
||||||
property_editor->register_search_box(search_box);
|
property_editor->register_search_box(search_box);
|
||||||
property_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL);
|
property_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
property_editor->get_property_editor()->set_undo_redo(undo_redo);
|
property_editor->get_property_editor()->set_undo_redo(undo_redo);
|
||||||
vbc->add_child(property_editor);
|
tab_general->add_child(property_editor);
|
||||||
property_editor->get_property_editor()->connect("property_edited", this, "_settings_property_edited");
|
property_editor->get_property_editor()->connect("property_edited", this, "_settings_property_edited");
|
||||||
|
|
||||||
vbc = memnew(VBoxContainer);
|
// Shortcuts Tab
|
||||||
tabs->add_child(vbc);
|
|
||||||
vbc->set_name(TTR("Shortcuts"));
|
tab_shortcuts = memnew(VBoxContainer);
|
||||||
|
tabs->add_child(tab_shortcuts);
|
||||||
|
tab_shortcuts->set_name(TTR("Shortcuts"));
|
||||||
|
|
||||||
hbc = memnew(HBoxContainer);
|
hbc = memnew(HBoxContainer);
|
||||||
hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
vbc->add_child(hbc);
|
tab_shortcuts->add_child(hbc);
|
||||||
|
|
||||||
l = memnew(Label);
|
|
||||||
l->set_text(TTR("Search:") + " ");
|
|
||||||
hbc->add_child(l);
|
|
||||||
|
|
||||||
shortcut_search_box = memnew(LineEdit);
|
shortcut_search_box = memnew(LineEdit);
|
||||||
shortcut_search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
shortcut_search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
|
@ -406,7 +439,8 @@ EditorSettingsDialog::EditorSettingsDialog() {
|
||||||
shortcut_clear_button->connect("pressed", this, "_clear_shortcut_search_box");
|
shortcut_clear_button->connect("pressed", this, "_clear_shortcut_search_box");
|
||||||
|
|
||||||
shortcuts = memnew(Tree);
|
shortcuts = memnew(Tree);
|
||||||
vbc->add_margin_child(TTR("Shortcut List:"), shortcuts, true);
|
tab_shortcuts->add_child(shortcuts, true);
|
||||||
|
shortcuts->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
shortcuts->set_columns(2);
|
shortcuts->set_columns(2);
|
||||||
shortcuts->set_hide_root(true);
|
shortcuts->set_hide_root(true);
|
||||||
//shortcuts->set_hide_folding(true);
|
//shortcuts->set_hide_folding(true);
|
||||||
|
@ -419,7 +453,7 @@ EditorSettingsDialog::EditorSettingsDialog() {
|
||||||
press_a_key->set_focus_mode(FOCUS_ALL);
|
press_a_key->set_focus_mode(FOCUS_ALL);
|
||||||
add_child(press_a_key);
|
add_child(press_a_key);
|
||||||
|
|
||||||
l = memnew(Label);
|
Label *l = memnew(Label);
|
||||||
l->set_text(TTR("Press a Key.."));
|
l->set_text(TTR("Press a Key.."));
|
||||||
l->set_anchors_and_margins_preset(Control::PRESET_WIDE);
|
l->set_anchors_and_margins_preset(Control::PRESET_WIDE);
|
||||||
l->set_align(Label::ALIGN_CENTER);
|
l->set_align(Label::ALIGN_CENTER);
|
||||||
|
|
|
@ -41,6 +41,8 @@ class EditorSettingsDialog : public AcceptDialog {
|
||||||
bool updating;
|
bool updating;
|
||||||
|
|
||||||
TabContainer *tabs;
|
TabContainer *tabs;
|
||||||
|
Control *tab_general;
|
||||||
|
Control *tab_shortcuts;
|
||||||
|
|
||||||
LineEdit *search_box;
|
LineEdit *search_box;
|
||||||
LineEdit *shortcut_search_box;
|
LineEdit *shortcut_search_box;
|
||||||
|
@ -68,10 +70,14 @@ class EditorSettingsDialog : public AcceptDialog {
|
||||||
|
|
||||||
void _unhandled_input(const Ref<InputEvent> &p_event);
|
void _unhandled_input(const Ref<InputEvent> &p_event);
|
||||||
void _notification(int p_what);
|
void _notification(int p_what);
|
||||||
|
void _update_icons();
|
||||||
|
|
||||||
void _press_a_key_confirm();
|
void _press_a_key_confirm();
|
||||||
void _wait_for_key(const Ref<InputEvent> &p_event);
|
void _wait_for_key(const Ref<InputEvent> &p_event);
|
||||||
|
|
||||||
|
void _tabs_tab_changed(int p_tab);
|
||||||
|
void _focus_current_search_box();
|
||||||
|
|
||||||
void _clear_shortcut_search_box();
|
void _clear_shortcut_search_box();
|
||||||
void _clear_search_box();
|
void _clear_search_box();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue