summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/editor/plugins/script_editor_plugin.cpp7
-rw-r--r--tools/editor/script_editor_debugger.cpp24
-rw-r--r--tools/editor/script_editor_debugger.h2
3 files changed, 20 insertions, 13 deletions
diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp
index 37f4076a0c..c96616b42c 100644
--- a/tools/editor/plugins/script_editor_plugin.cpp
+++ b/tools/editor/plugins/script_editor_plugin.cpp
@@ -605,6 +605,7 @@ void ScriptEditor::_show_debugger(bool p_show) {
debug_menu->get_popup()->set_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW), p_show);
+ debugger->set_always_visible(p_show);
}
void ScriptEditor::_script_created(Ref<Script> p_script) {
@@ -1338,11 +1339,7 @@ void ScriptEditor::_menu_option(int p_option) {
case DEBUG_SHOW: {
if (debugger) {
bool visible = debug_menu->get_popup()->is_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW) );
- debug_menu->get_popup()->set_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW), !visible);
- if (visible)
- debugger->hide();
- else
- debugger->show();
+ _show_debugger(!visible);
}
} break;
case HELP_CONTEXTUAL: {
diff --git a/tools/editor/script_editor_debugger.cpp b/tools/editor/script_editor_debugger.cpp
index 60f2afa2c2..6ca949083a 100644
--- a/tools/editor/script_editor_debugger.cpp
+++ b/tools/editor/script_editor_debugger.cpp
@@ -570,11 +570,12 @@ void ScriptEditorDebugger::_notification(int p_what) {
ppeer->set_stream_peer(connection);
- show();
+ if (!always_visible)
+ show();
+
dobreak->set_disabled(false);
tabs->set_current_tab(0);
- emit_signal("show_debugger",true);
reason->set_text("Child Process Connected");
reason->set_tooltip("Child Process Connected");
scene_tree->clear();
@@ -736,10 +737,8 @@ void ScriptEditorDebugger::stop(){
le_clear->set_disabled(false);
le_set->set_disabled(true);
-
- hide();
- emit_signal("show_debugger",false);
-
+ if (!always_visible)
+ hide();
}
@@ -768,9 +767,7 @@ void ScriptEditorDebugger::_stack_dump_frame_selected() {
void ScriptEditorDebugger::_hide_request() {
- hide();
emit_signal("show_debugger",false);
-
}
void ScriptEditorDebugger::_output_clear() {
@@ -1160,6 +1157,16 @@ void ScriptEditorDebugger:: _error_stack_selected(int p_idx){
}
+void ScriptEditorDebugger::set_always_visible(bool p_visible) {
+
+ always_visible=p_visible;
+
+ if (p_visible)
+ show();
+ else
+ hide();
+}
+
void ScriptEditorDebugger::_bind_methods() {
@@ -1455,6 +1462,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
add_child(msgdialog);
hide();
+ always_visible=false;
log_forced_visible=false;
p_editor->get_undo_redo()->set_method_notify_callback(_method_changeds,this);
diff --git a/tools/editor/script_editor_debugger.h b/tools/editor/script_editor_debugger.h
index 6b66a62dd5..23815ca3bb 100644
--- a/tools/editor/script_editor_debugger.h
+++ b/tools/editor/script_editor_debugger.h
@@ -79,6 +79,7 @@ class ScriptEditorDebugger : public Control {
TabContainer *tabs;
Label *reason;
+ bool always_visible;
bool log_forced_visible;
ScriptEditorDebuggerVariables *variables;
@@ -182,6 +183,7 @@ public:
void update_live_edit_root();
+ void set_always_visible(bool p_visible);
virtual Size2 get_minimum_size() const;
ScriptEditorDebugger(EditorNode *p_editor=NULL);