diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/editor/editor_node.cpp | 23 | ||||
-rw-r--r-- | tools/editor/editor_node.h | 1 |
2 files changed, 23 insertions, 1 deletions
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index e6dc2491f8..35809e653e 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -92,6 +92,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() { @@ -2128,9 +2129,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 @@ -3405,6 +3425,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); diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h index 41d38c1ca9..89b3917d7c 100644 --- a/tools/editor/editor_node.h +++ b/tools/editor/editor_node.h @@ -137,6 +137,7 @@ class EditorNode : public Node { RUN_PLAY_CUSTOM_SCENE, RUN_SCENE_SETTINGS, RUN_SETTINGS, + RUN_PROJECT_MANAGER, RUN_FILE_SERVER, RUN_DEPLOY_DUMB_CLIENTS, SETTINGS_UPDATE_ALWAYS, |