mirror of
https://github.com/godotengine/godot.git
synced 2024-12-25 20:33:24 +00:00
Merge pull request #3043 from TheHX/pr-script-debugger
Script debugger remains visible when using Debug->Show Debugger
This commit is contained in:
commit
c3db5d951c
@ -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: {
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user