diff options
Diffstat (limited to 'editor')
-rw-r--r-- | editor/editor_dock_manager.cpp | 4 | ||||
-rw-r--r-- | editor/editor_node.cpp | 27 | ||||
-rw-r--r-- | editor/editor_node.h | 1 | ||||
-rw-r--r-- | editor/filesystem_dock.cpp | 7 | ||||
-rw-r--r-- | editor/filesystem_dock.h | 2 | ||||
-rw-r--r-- | editor/plugins/node_3d_editor_plugin.cpp | 12 |
6 files changed, 19 insertions, 34 deletions
diff --git a/editor/editor_dock_manager.cpp b/editor/editor_dock_manager.cpp index 0a13377857..dc4c809860 100644 --- a/editor/editor_dock_manager.cpp +++ b/editor/editor_dock_manager.cpp @@ -510,9 +510,7 @@ void EditorDockManager::save_docks_to_config(Ref<ConfigFile> p_layout, const Str Array bottom_docks_dump; for (Control *bdock : bottom_docks) { - Control *dock = bdock; - String name = dock->get_name(); - bottom_docks_dump.push_back(name); + bottom_docks_dump.push_back(bdock->get_name()); } p_layout->set_value(p_section, "dock_bottom", bottom_docks_dump); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 3691172c18..6711be3d06 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -5158,27 +5158,11 @@ void EditorNode::_scene_tab_closed(int p_tab) { scene_tabs->update_scene_tabs(); } -class EditorBottomDockButton : public Button { - GDCLASS(EditorBottomDockButton, Button) - - static void _bind_methods() { - ADD_SIGNAL(MethodInfo("dropping")); - } - -public: - virtual bool can_drop_data(const Point2 &p_point, const Variant &p_data) const override { - if (!is_pressed()) { - const_cast<EditorBottomDockButton *>(this)->emit_signal("dropping"); - } - return false; - } -}; - Button *EditorNode::add_bottom_panel_item(String p_text, Control *p_item, bool p_at_front) { - Button *tb = memnew(EditorBottomDockButton); + Button *tb = memnew(Button); tb->set_flat(true); tb->connect("toggled", callable_mp(this, &EditorNode::_bottom_panel_switch_by_control).bind(p_item)); - tb->connect("dropping", callable_mp(this, &EditorNode::_bottom_panel_switch_by_control).bind(true, p_item)); + tb->set_drag_forwarding(Callable(), callable_mp(this, &EditorNode::_bottom_panel_drag_hover).bind(tb, p_item), Callable()); tb->set_text(p_text); tb->set_toggle_mode(true); tb->set_focus_mode(Control::FOCUS_NONE); @@ -6015,6 +5999,13 @@ void EditorNode::_bottom_panel_raise_toggled(bool p_pressed) { top_split->set_visible(!p_pressed); } +bool EditorNode::_bottom_panel_drag_hover(const Vector2 &, const Variant &, Button *p_button, Control *p_control) { + if (!p_button->is_pressed()) { + _bottom_panel_switch_by_control(true, p_control); + } + return false; +} + void EditorNode::_update_renderer_color() { String rendering_method = renderer->get_selected_metadata(); diff --git a/editor/editor_node.h b/editor/editor_node.h index 7d6123d04b..e7011e921e 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -657,6 +657,7 @@ private: void _bottom_panel_switch_by_control(bool p_enable, Control *p_control); void _bottom_panel_switch(bool p_enable, int p_idx); void _bottom_panel_raise_toggled(bool); + bool _bottom_panel_drag_hover(const Vector2 &, const Variant &, Button *p_button, Control *p_control); void _begin_first_scan(); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index facc3c3bb5..02ae15b80d 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -495,12 +495,7 @@ void FileSystemDock::_update_display_mode(bool p_force) { void FileSystemDock::_notification(int p_what) { switch (p_what) { - case NOTIFICATION_ENTER_TREE: { - if (initialized) { - return; - } - initialized = true; - + case NOTIFICATION_READY: { EditorFeatureProfileManager::get_singleton()->connect("current_feature_profile_changed", callable_mp(this, &FileSystemDock::_feature_profile_changed)); EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &FileSystemDock::_fs_changed)); EditorResourcePreview::get_singleton()->connect("preview_invalidated", callable_mp(this, &FileSystemDock::_preview_invalidated)); diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index d161a3bd15..c9d2bc535e 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -230,8 +230,6 @@ private: String current_path; String select_after_scan; - bool initialized = false; - bool updating_tree = false; int tree_update_id; FileSystemTree *tree = nullptr; diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index e4d24832bf..df2203009f 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -1749,7 +1749,8 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { _edit.mode = TRANSFORM_NONE; _edit.original = spatial_editor->get_gizmo_transform(); // To prevent to break when flipping with scale. - bool can_select_gizmos = spatial_editor->get_single_selected_node(); + bool node_selected = spatial_editor->get_single_selected_node(); + bool can_select_gizmos = node_selected; { int idx = view_menu->get_popup()->get_item_index(VIEW_GIZMOS); @@ -1839,17 +1840,17 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { clicked = ObjectID(); - if (can_select_gizmos && ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_or_control_pressed()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE)) { + if (node_selected && ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_or_control_pressed()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE)) { begin_transform(TRANSFORM_ROTATE, false); break; } - if (can_select_gizmos && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE) { + if (node_selected && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE) { begin_transform(TRANSFORM_TRANSLATE, false); break; } - if (can_select_gizmos && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SCALE) { + if (node_selected && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SCALE) { begin_transform(TRANSFORM_SCALE, false); break; } @@ -8576,7 +8577,8 @@ Node3DEditor::Node3DEditor() { settings_fov->set_step(0.1); settings_fov->set_value(EDITOR_GET("editors/3d/default_fov")); settings_fov->set_select_all_on_focus(true); - settings_vbc->add_margin_child(TTR("Perspective FOV (deg.):"), settings_fov); + settings_fov->set_tooltip_text(TTR("FOV is defined as a vertical value, as the editor camera always uses the Keep Height aspect mode.")); + settings_vbc->add_margin_child(TTR("Perspective VFOV (deg.):"), settings_fov); settings_znear = memnew(SpinBox); settings_znear->set_max(MAX_Z); |