diff options
Diffstat (limited to 'tools/editor/editor_node.cpp')
-rw-r--r-- | tools/editor/editor_node.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index 83ebde1c4f..94f44c6a05 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -94,6 +94,7 @@ #include "tools/editor/io_plugins/editor_sample_import_plugin.h" #include "tools/editor/io_plugins/editor_translation_import_plugin.h" + EditorNode *EditorNode::singleton=NULL; void EditorNode::_update_title() { @@ -2130,9 +2131,28 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { } break; case RUN_SETTINGS: { - project_settings->popup_project_settings(); } break; + case RUN_PROJECT_MANAGER: { + + if (!p_confirmed) { + confirmation->get_ok()->set_text("Yes"); + confirmation->set_text("Open Project Manager? \n(Unsaved changes will be lost)"); + confirmation->popup_centered(Size2(300,70)); + break; + } + + get_scene()->quit(); + String exec = OS::get_singleton()->get_executable_path(); + + List<String> args; + args.push_back ( "-path" ); + args.push_back (exec.get_base_dir() ); + + OS::ProcessID pid=0; + Error err = OS::get_singleton()->execute(exec,args,false,&pid); + ERR_FAIL_COND(err); + } break; case RUN_FILE_SERVER: { //file_server @@ -3407,6 +3427,7 @@ EditorNode::EditorNode() { p->add_item("Redo",EDIT_REDO,KEY_MASK_CMD+KEY_MASK_SHIFT+KEY_Z); p->add_separator(); p->add_item("Project Settings",RUN_SETTINGS); + p->add_item("Project Manager",RUN_PROJECT_MANAGER); p->add_separator(); p->add_item("Quit",FILE_QUIT,KEY_MASK_CMD+KEY_Q); |