summaryrefslogtreecommitdiffstats
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_dock_manager.cpp4
-rw-r--r--editor/editor_node.cpp27
-rw-r--r--editor/editor_node.h1
-rw-r--r--editor/filesystem_dock.cpp7
-rw-r--r--editor/filesystem_dock.h2
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp12
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);