2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/*************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*  project_settings.cpp                                                 */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                       This file is part of:                           */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                           GODOT ENGINE                                */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                    http://www.godotengine.org                         */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*************************************************************************/  
						 
					
						
							
								
									
										
										
										
											2017-01-01 22:01:57 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur.                 */  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/*                                                                       */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Permission is hereby granted, free of charge, to any person obtaining */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* a copy of this software and associated documentation files (the       */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* "Software"), to deal in the Software without restriction, including   */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* without limitation the rights to use, copy, modify, merge, publish,   */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* distribute, sublicense, and/or sell copies of the Software, and to    */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* permit persons to whom the Software is furnished to do so, subject to */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* the following conditions:                                             */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                       */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* The above copyright notice and this permission notice shall be        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* included in all copies or substantial portions of the Software.       */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                       */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "project_settings.h" 
  
						 
					
						
							
								
									
										
										
										
											2017-01-16 08:04:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "scene/gui/tab_container.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "globals.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "os/keyboard.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "editor_node.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "scene/gui/margin_container.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "translation.h" 
  
						 
					
						
							
								
									
										
										
										
											2015-12-28 15:59:20 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "global_constants.h" 
  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ProjectSettings  * ProjectSettings : : singleton = NULL ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  const  char *  _button_names [ JOY_BUTTON_MAX ] = {  
						 
					
						
							
								
									
										
										
										
											2016-02-02 07:56:08 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								" PS X, XBox A, Nintendo B " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" PS Circle, XBox B, Nintendo A " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" PS Square, XBox X, Nintendo Y " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" PS Triangle, XBox Y, Nintendo X " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" L, L1 " ,  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								" R, R1 " ,  
						 
					
						
							
								
									
										
										
										
											2016-02-02 07:56:08 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								" L2 " ,  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								" R2 " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" L3 " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" R3 " ,  
						 
					
						
							
								
									
										
										
										
											2016-02-02 07:56:08 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								" Select, Nintendo - " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Start, Nintendo + " ,  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								" D-Pad Up " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" D-Pad Down " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" D-Pad Left " ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" D-Pad Right "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-28 15:53:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  const  char *  _axis_names [ JOY_AXIS_MAX * 2 ]  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Left Stick Left) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Left Stick Right) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Left Stick Up) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Left Stick Down) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Right Stick Left) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Right Stick Right) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Right Stick Up) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"  (Right Stick Down) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									" " , " " , " " , " " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									" " ,  "  (L2) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									" " ,  "  (R2) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _notification ( int  p_what )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-11-05 21:20:42 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( p_what = = NOTIFICATION_ENTER_TREE )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										globals_editor - > edit ( GlobalConfig : : get_singleton ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										search_button - > set_icon ( get_icon ( " Zoom " , " EditorIcons " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										clear_button - > set_icon ( get_icon ( " Close " , " EditorIcons " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										translation_list - > connect ( " button_pressed " , this , " _translation_delete " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										_update_actions ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-30 21:47:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										popup_add - > add_icon_item ( get_icon ( " Keyboard " , " EditorIcons " ) , TTR ( " Key  " ) , InputEvent : : KEY ) ; //"Key " - because the word 'key' has already been used as a key animation
 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										popup_add - > add_icon_item ( get_icon ( " JoyButton " , " EditorIcons " ) , TTR ( " Joy Button " ) , InputEvent : : JOYPAD_BUTTON ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										popup_add - > add_icon_item ( get_icon ( " JoyAxis " , " EditorIcons " ) , TTR ( " Joy Axis " ) , InputEvent : : JOYPAD_MOTION ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-30 21:47:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										popup_add - > add_icon_item ( get_icon ( " Mouse " , " EditorIcons " ) , TTR ( " Mouse Button " ) , InputEvent : : MOUSE_BUTTON ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										List < String >  tfn ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ResourceLoader : : get_recognized_extensions_for_type ( " Translation " , & tfn ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										for  ( List < String > : : Element  * E = tfn . front ( ) ; E ; E = E - > next ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											translation_file_open - > add_filter ( " *. " + E - > get ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										List < String >  rfn ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ResourceLoader : : get_recognized_extensions_for_type ( " Resource " , & rfn ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										for  ( List < String > : : Element  * E = rfn . front ( ) ; E ; E = E - > next ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											translation_res_file_open - > add_filter ( " *. " + E - > get ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											translation_res_option_file_open - > add_filter ( " *. " + E - > get ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  ProjectSettings : : _action_selected ( )  {  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									TreeItem  * ti = input_editor - > get_selected ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! ti  | |  ! ti - > is_editable ( 0 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_at = " input/ " + ti - > get_text ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _action_edited ( )  {  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * ti = input_editor - > get_selected ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! ti ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  new_name = ti - > get_text ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  old_name = add_at . substr ( add_at . find ( " / " ) + 1 , add_at . length ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( new_name = = old_name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( new_name . find ( " / " ) ! = - 1  | |  new_name . find ( " : " ) ! = - 1  | |  new_name = = " " )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										ti - > set_text ( 0 , old_name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										add_at = " input/ " + old_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										message - > set_text ( TTR ( " Invalid action (anything goes but '/' or ':'). " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  action_prop = " input/ " + new_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( GlobalConfig : : get_singleton ( ) - > has ( action_prop ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ti - > set_text ( 0 , old_name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										add_at = " input/ " + old_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										message - > set_text ( vformat ( TTR ( " Action '%s' already exists! " ) , new_name ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int  order  =  GlobalConfig : : get_singleton ( ) - > get_order ( add_at ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Array  va  =  GlobalConfig : : get_singleton ( ) - > get ( add_at ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									setting = true ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Rename Input Action Event " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " clear " , add_at ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " set " , action_prop , va ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " set_order " , action_prop , order ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " clear " , action_prop ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set " , add_at , va ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set_order " , add_at , order ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 21:16:33 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									setting = false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_at = action_prop ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _device_input_add ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									InputEvent  ie ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  name = add_at ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Variant  old_val  =  GlobalConfig : : get_singleton ( ) - > get ( name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									Array  arr = old_val ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-04 01:16:14 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ie . device = device_id - > get_value ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ie . type = add_type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									switch ( add_type )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  InputEvent : : MOUSE_BUTTON :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ie . mouse_button . button_index = device_index - > get_selected ( ) + 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												for ( int  i = 0 ; i < arr . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													InputEvent  aie = arr [ i ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( aie . device  = =  ie . device  & &  aie . type = = InputEvent : : MOUSE_BUTTON  & &  aie . mouse_button . button_index = = ie . mouse_button . button_index )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										case  InputEvent : : JOYPAD_MOTION :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-02 09:37:16 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												ie . joy_motion . axis  =  device_index - > get_selected ( ) > > 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ie . joy_motion . axis_value  =  device_index - > get_selected ( ) & 1 ? 1 : - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												for ( int  i = 0 ; i < arr . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													InputEvent  aie = arr [ i ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													if  ( aie . device  = =  ie . device  & &  aie . type = = InputEvent : : JOYPAD_MOTION  & &  aie . joy_motion . axis = = ie . joy_motion . axis  & &  aie . joy_motion . axis_value = = ie . joy_motion . axis_value )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
														return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										case  InputEvent : : JOYPAD_BUTTON :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ie . joy_button . button_index = device_index - > get_selected ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												for ( int  i = 0 ; i < arr . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													InputEvent  aie = arr [ i ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													if  ( aie . device  = =  ie . device  & &  aie . type = = InputEvent : : JOYPAD_BUTTON  & &  aie . joy_button . button_index = = ie . joy_button . button_index )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
														return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										default : { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									arr . push_back ( ie ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Add Input Action Event " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " set " , name , arr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set " , name , old_val ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 07:57:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									_show_last_added ( ie ,  name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _press_a_key_confirm ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( last_wait_for_key . type ! = InputEvent : : KEY ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									InputEvent  ie ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ie . type = InputEvent : : KEY ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ie . key . scancode = last_wait_for_key . key . scancode ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ie . key . mod = last_wait_for_key . key . mod ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  name = add_at ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Variant  old_val  =  GlobalConfig : : get_singleton ( ) - > get ( name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									Array  arr = old_val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( int  i = 0 ; i < arr . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										InputEvent  aie = arr [ i ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( aie . type = = InputEvent : : KEY  & &  aie . key . scancode = = ie . key . scancode  & &  aie . key . mod = = ie . key . mod )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									arr . push_back ( ie ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Add Input Action Event " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " set " , name , arr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set " , name , old_val ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 07:57:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									_show_last_added ( ie ,  name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 08:14:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 07:57:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  ProjectSettings : : _show_last_added ( const  InputEvent &  p_event ,  const  String  & p_name )  {  
						 
					
						
							
								
									
										
										
										
											2016-08-23 08:14:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									TreeItem  * r  =  input_editor - > get_root ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 07:57:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  name  =  p_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									name . erase ( 0 , 6 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 08:14:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( ! r ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									r = r - > get_children ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! r ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bool  found  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									while ( r ) { 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 07:57:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( r - > get_text ( 0 )  ! =  name )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											r = r - > get_next ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 08:14:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										TreeItem  * child  =  r - > get_children ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										while ( child ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Variant  input  =  child - > get_meta ( " __input " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( p_event = = input ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												child - > select ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												found  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											child = child - > get_next ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( found )  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										r = r - > get_next ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 08:14:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( found )  input_editor - > ensure_cursor_is_visible ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _wait_for_key ( const  InputEvent &  p_event )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( p_event . type = = InputEvent : : KEY  & &  p_event . key . pressed  & &  p_event . key . scancode ! = 0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										last_wait_for_key = p_event ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										String  str = keycode_get_string ( p_event . key . scancode ) . capitalize ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( p_event . key . mod . meta ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											str = TTR ( " Meta+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										if  ( p_event . key . mod . shift ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											str = TTR ( " Shift+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										if  ( p_event . key . mod . alt ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											str = TTR ( " Alt+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										if  ( p_event . key . mod . control ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											str = TTR ( " Control+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										press_a_key_label - > set_text ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										press_a_key - > accept_event ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _add_item ( int  p_item ) {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_type = InputEvent : : Type ( p_item ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									switch ( add_type )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  InputEvent : : KEY :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											press_a_key_label - > set_text ( TTR ( " Press a Key.. " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											last_wait_for_key = InputEvent ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-04 21:31:29 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											press_a_key - > popup_centered ( Size2 ( 250 , 80 ) * EDSCALE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											press_a_key - > grab_focus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  InputEvent : : MOUSE_BUTTON :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-04 01:16:14 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_id - > set_value ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_index_label - > set_text ( TTR ( " Mouse Button Index: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											device_index - > clear ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Left Button " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Right Button " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Middle Button " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Wheel Up Button " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Wheel Down Button " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Button 6 " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Button 7 " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Button 8 " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											device_index - > add_item ( TTR ( " Button 9 " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_input - > popup_centered_minsize ( Size2 ( 350 , 95 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										case  InputEvent : : JOYPAD_MOTION :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-04 01:16:14 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_id - > set_value ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_index_label - > set_text ( TTR ( " Joypad Axis Index: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											device_index - > clear ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-03 00:15:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											for ( int  i = 0 ; i < JOY_AXIS_MAX * 2 ; i + + )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-02 09:37:16 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-28 15:53:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												String  desc  =  _axis_names [ i ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												device_index - > add_item ( TTR ( " Axis " ) + "   " + itos ( i / 2 ) + "   " + ( i & 1 ? " + " : " - " ) + desc ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_input - > popup_centered_minsize ( Size2 ( 350 , 95 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										case  InputEvent : : JOYPAD_BUTTON :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 07:57:46 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_id - > set_value ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_index_label - > set_text ( TTR ( " Joypad Button Index: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											device_index - > clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											for ( int  i = 0 ; i < JOY_BUTTON_MAX ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-02 07:56:08 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												device_index - > add_item ( itos ( i ) + " :  " + String ( _button_names [ i ] ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											device_input - > popup_centered_minsize ( Size2 ( 350 , 95 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										default : { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _action_button_pressed ( Object *  p_obj ,  int  p_column , int  p_id )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * ti = p_obj - > cast_to < TreeItem > ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! ti ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( p_id = = 1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Point2  ofs  =  input_editor - > get_global_pos ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Rect2  ir = input_editor - > get_item_rect ( ti ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ir . pos . y - = input_editor - > get_scroll ( ) . y ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ofs + = ir . pos + ir . size ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ofs . x - = 100 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										popup_add - > set_pos ( ofs ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										popup_add - > popup ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										add_at = " input/ " + ti - > get_text ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  if  ( p_id = = 2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										//remove
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( ti - > get_parent ( ) = = input_editor - > get_root ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											//remove main thing
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											String  name = " input/ " + ti - > get_text ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Variant  old_val  =  GlobalConfig : : get_singleton ( ) - > get ( name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											int  order = GlobalConfig : : get_singleton ( ) - > get_order ( name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											undo_redo - > create_action ( TTR ( " Add Input Action " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " clear " , name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set " , name , old_val ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set_order " , name , order ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_do_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											//remove action
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											String  name = " input/ " + ti - > get_parent ( ) - > get_text ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Variant  old_val  =  GlobalConfig : : get_singleton ( ) - > get ( name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											int  idx  =  ti - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Array  va  =  old_val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ERR_FAIL_INDEX ( idx , va . size ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											for ( int  i = idx ; i < va . size ( ) - 1 ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												va [ i ] = va [ i + 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											va . resize ( va . size ( ) - 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											undo_redo - > create_action ( TTR ( " Erase Input Action Event " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " set " , name , va ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " set " , name , old_val ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_do_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _update_actions ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( setting ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_editor - > clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * root  =  input_editor - > create_item ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_editor - > set_hide_root ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									List < PropertyInfo >  props ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GlobalConfig : : get_singleton ( ) - > get_property_list ( & props ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( List < PropertyInfo > : : Element  * E = props . front ( ) ; E ; E = E - > next ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										const  PropertyInfo  & pi = E - > get ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( ! pi . name . begins_with ( " input/ " ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										String  name  =  pi . name . get_slice ( " / " , 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( name = = " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										TreeItem  * item = input_editor - > create_item ( root ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-03 18:52:42 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										//item->set_cell_mode(0,TreeItem::CELL_MODE_CHECK);
 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										item - > set_text ( 0 , name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										item - > add_button ( 0 , get_icon ( " Add " , " EditorIcons " ) , 1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( ! GlobalConfig : : get_singleton ( ) - > get_input_presets ( ) . find ( pi . name ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											item - > add_button ( 0 , get_icon ( " Remove " , " EditorIcons " ) , 2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											item - > set_editable ( 0 , true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 08:45:34 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										item - > set_custom_bg_color ( 0 , get_color ( " prop_subsection " , " Editor " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-03 18:52:42 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										//item->set_checked(0,pi.usage&PROPERTY_USAGE_CHECKED);
 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Array  actions = GlobalConfig : : get_singleton ( ) - > get ( pi . name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										for ( int  i = 0 ; i < actions . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( actions [ i ] . get_type ( ) ! = Variant : : INPUT_EVENT ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InputEvent  ie  =  actions [ i ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											TreeItem  * action  =  input_editor - > create_item ( item ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											switch ( ie . type )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												case  InputEvent : : KEY :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													String  str = keycode_get_string ( ie . key . scancode ) . capitalize ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( ie . key . mod . meta ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														str = TTR ( " Meta+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													if  ( ie . key . mod . shift ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														str = TTR ( " Shift+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													if  ( ie . key . mod . alt ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														str = TTR ( " Alt+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													if  ( ie . key . mod . control ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														str = TTR ( " Control+ " ) + str ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_text ( 0 , str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_icon ( 0 , get_icon ( " Keyboard " , " EditorIcons " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												}  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												case  InputEvent : : JOYPAD_BUTTON :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													String  str  =  TTR ( " Device " ) + "   " + itos ( ie . device ) + " ,  " + TTR ( " Button " ) + "   " + itos ( ie . joy_button . button_index ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-28 20:53:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													if  ( ie . joy_button . button_index > = 0  & &  ie . joy_button . button_index < JOY_BUTTON_MAX ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
														str + = String ( ) + "  ( " + _button_names [ ie . joy_button . button_index ] + " ). " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														str + = " . " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_text ( 0 , str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_icon ( 0 , get_icon ( " JoyButton " , " EditorIcons " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												}  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												case  InputEvent : : MOUSE_BUTTON :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													String  str  =  TTR ( " Device " ) + "   " + itos ( ie . device ) + " ,  " ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													switch  ( ie . mouse_button . button_index )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														case  BUTTON_LEFT :  str + = TTR ( " Left Button. " ) ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														case  BUTTON_RIGHT :  str + = TTR ( " Right Button. " ) ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														case  BUTTON_MIDDLE :  str + = TTR ( " Middle Button. " ) ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														case  BUTTON_WHEEL_UP :  str + = TTR ( " Wheel Up. " ) ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														case  BUTTON_WHEEL_DOWN :  str + = TTR ( " Wheel Down. " ) ;  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														default :  str + = TTR ( " Button " ) + "   " + itos ( ie . mouse_button . button_index ) + " . " ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_text ( 0 , str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_icon ( 0 , get_icon ( " Mouse " , " EditorIcons " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												}  break ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 17:05:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												case  InputEvent : : JOYPAD_MOTION :  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-03 00:15:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													int  ax  =  ie . joy_motion . axis ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-28 15:53:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													int  n  =  2 * ax  +  ( ie . joy_motion . axis_value < 0  ?  0 : 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													String  desc  =  _axis_names [ n ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													String  str  =  TTR ( " Device " ) + "   " + itos ( ie . device ) + " ,  " + TTR ( " Axis " ) + "   " + itos ( ax ) + "   " + ( ie . joy_motion . axis_value < 0 ? " - " : " + " ) + desc  + " . " ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													action - > set_text ( 0 , str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													action - > set_icon ( 0 , get_icon ( " JoyAxis " , " EditorIcons " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												}  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											action - > add_button ( 0 , get_icon ( " Remove " , " EditorIcons " ) , 2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											action - > set_metadata ( 0 , i ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-23 08:14:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											action - > set_meta ( " __input " ,  ie ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : popup_project_settings ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//popup_centered(Size2(500,400));
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									popup_centered_ratio ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > update_category_list ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									_update_translations ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-04 20:22:28 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									autoload_settings - > update_autoload ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-27 23:10:44 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									plugin_settings - > update_plugins ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _item_selected ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 23:39:36 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									TreeItem  * ti  =  globals_editor - > get_property_editor ( ) - > get_scene_tree ( ) - > get_selected ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if  ( ! ti ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! ti - > get_parent ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-10 17:08:02 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									category - > set_text ( globals_editor - > get_current_section ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									property - > set_text ( ti - > get_text ( 0 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									popup_platform - > set_disabled ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _item_adds ( String )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									_item_add ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _item_add ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Variant  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									switch ( type - > get_selected ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  0 :  value = false ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  1 :  value = 0 ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  2 :  value = 0.0 ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										case  3 :  value = " " ;  break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  catname  =  category - > get_text ( ) . strip_edges ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*if (!catname.is_valid_identifier()) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > set_text ( " Invalid Category. \n Valid characters: a-z,A-Z,0-9 or _ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  propname  =  property - > get_text ( ) . strip_edges ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									/*if (!propname.is_valid_identifier()) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > set_text ( " Invalid Property. \n Valid characters: a-z,A-Z,0-9 or _ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  name  =  catname ! = " "  ?  catname + " / " + propname  :  propname ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( " Add Global Property " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) ,  name ,  value ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( GlobalConfig : : get_singleton ( ) - > has ( name ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) ,  name ,  GlobalConfig : : get_singleton ( ) - > get ( name ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) ,  name ,  Variant ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( globals_editor ,  " update_category_list " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( globals_editor ,  " update_category_list " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this ,  " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this ,  " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									globals_editor - > set_current_section ( catname ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									_settings_changed ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _item_del ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  catname  =  category - > get_text ( ) . strip_edges ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									//ERR_FAIL_COND(!catname.is_valid_identifier());
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  propname  =  property - > get_text ( ) . strip_edges ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									//ERR_FAIL_COND(!propname.is_valid_identifier());
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  name  =  catname ! = " "  ?  catname + " / " + propname  :  propname ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( " Delete Global Property " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) ,  name ,  Variant ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) ,  name ,  GlobalConfig : : get_singleton ( ) - > get ( name ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 10:10:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( globals_editor ,  " update_category_list " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( globals_editor ,  " update_category_list " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this ,  " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this ,  " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-06 11:22:21 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									_settings_changed ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _action_adds ( String )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									_action_add ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _action_add ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  action  =  action_name - > get_text ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( action . find ( " / " ) ! = - 1  | |  action . find ( " : " ) ! = - 1  | |  action = = " " )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										message - > set_text ( TTR ( " Invalid action (anything goes but '/' or ':'). " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( GlobalConfig : : get_singleton ( ) - > has ( " input/ " + action ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										message - > set_text ( vformat ( TTR ( " Action '%s' already exists! " ) , action ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Array  va ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  name  =  " input/ " + action ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Add Input Action Event " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( GlobalConfig : : get_singleton ( ) , " set " , name , va ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( GlobalConfig : : get_singleton ( ) , " clear " , name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_actions " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * r  =  input_editor - > get_root ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! r ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									r = r - > get_children ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! r ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									while ( r - > get_next ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										r = r - > get_next ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! r ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									r - > select ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_editor - > ensure_cursor_is_visible ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _item_checked ( const  String &  p_item ,  bool  p_check )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-16 00:42:34 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 21:16:33 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _save ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Error  err  =  GlobalConfig : : get_singleton ( ) - > save ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-19 00:08:12 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									message - > set_text ( err ! = OK ? TTR ( " Error saving settings. " ) : TTR ( " Settings saved OK. " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _settings_prop_edited ( const  String &  p_name )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-03 19:47:07 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									String  full_item  =  globals_editor - > get_full_item_path ( p_name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									_settings_changed ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _settings_changed ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									timer - > start ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-27 23:10:44 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  ProjectSettings : : queue_save ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									_settings_changed ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _copy_to_platform ( int  p_which )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  catname  =  category - > get_text ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! catname . is_valid_identifier ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > set_text ( " Invalid Category. \n Valid characters: a-z,A-Z,0-9 or _ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  propname  =  property - > get_text ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! propname . is_valid_identifier ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > set_text ( " Invalid Property. \n Valid characters: a-z,A-Z,0-9 or _ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										message - > popup_centered ( Size2 ( 300 , 100 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  name  =  catname + " / " + propname ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Variant  value = GlobalConfig : : get_singleton ( ) - > get ( name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-14 18:03:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									catname + = " . " + popup_platform - > get_popup ( ) - > get_item_text ( p_which ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									name  =  catname + " / " + propname ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GlobalConfig : : get_singleton ( ) - > set ( name , value ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 23:39:36 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > update_tree ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : add_translation ( const  String &  p_translation )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									_translation_add ( p_translation ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_add ( const  String &  p_path )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PoolStringArray  translations  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translations " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( int  i = 0 ; i < translations . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( translations [ i ] = = p_path ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return ;  //exists
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translations . push_back ( p_path ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Add Translation " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translations " , translations ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translations " , GlobalConfig : : get_singleton ( ) - > get ( " locale/translations " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_file_open ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_file_open - > popup_centered_ratio ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_delete ( Object  * p_item , int  p_column ,  int  p_button )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * ti  =  p_item - > cast_to < TreeItem > ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! ti ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  idx = ti - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PoolStringArray  translations  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translations " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_INDEX ( idx , translations . size ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translations . remove ( idx ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Remove Translation " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translations " , translations ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translations " , GlobalConfig : : get_singleton ( ) - > get ( " locale/translations " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_file_open ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_res_file_open - > popup_centered_ratio ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_add ( const  String &  p_path ) {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Variant  prev ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Dictionary  remaps ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( GlobalConfig : : get_singleton ( ) - > has ( " locale/translation_remaps " ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										remaps  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										prev = remaps ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( remaps . has ( p_path ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ;  //pointless already has it
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									remaps [ p_path ] = PoolStringArray ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Add Remapped Path " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , remaps ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , prev ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_option_file_open ( ) {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_res_option_file_open - > popup_centered_ratio ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_option_add ( const  String &  p_path )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! GlobalConfig : : get_singleton ( ) - > has ( " locale/translation_remaps " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Dictionary  remaps  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * k  =  translation_remap - > get_selected ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  key  =  k - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! remaps . has ( key ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PoolStringArray  r  =  remaps [ key ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									r . push_back ( p_path + " : " + " en " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									remaps [ key ] = r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Resource Remap Add Remap " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , remaps ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_select ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( updating_translations ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									call_deferred ( " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_option_changed ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( updating_translations ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( ! GlobalConfig : : get_singleton ( ) - > has ( " locale/translation_remaps " ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Dictionary  remaps  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * k  =  translation_remap - > get_selected ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * ed  =  translation_remap_options - > get_edited ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! ed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  key  =  k - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  idx  =  ed - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  path  =  ed - > get_metadata ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  which  =  ed - > get_range ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Vector < String >  langs  =  TranslationServer : : get_all_locales ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_INDEX ( which , langs . size ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! remaps . has ( key ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PoolStringArray  r  =  remaps [ key ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-12 07:31:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ERR_FAIL_INDEX ( idx , r . size ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									r . set ( idx , path + " : " + langs [ which ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									remaps [ key ] = r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updating_translations = true ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Change Resource Remap Language " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , remaps ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updating_translations = false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_delete ( Object  * p_item , int  p_column ,  int  p_button )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( updating_translations ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( ! GlobalConfig : : get_singleton ( ) - > has ( " locale/translation_remaps " ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Dictionary  remaps  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * k  =  p_item - > cast_to < TreeItem > ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  key  =  k - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! remaps . has ( key ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									remaps . erase ( key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Remove Resource Remap " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , remaps ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _translation_res_option_delete ( Object  * p_item , int  p_column ,  int  p_button )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( updating_translations ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( ! GlobalConfig : : get_singleton ( ) - > has ( " locale/translation_remaps " ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Dictionary  remaps  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * k  =  translation_remap - > get_selected ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! k ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * ed  =  p_item - > cast_to < TreeItem > ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! ed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  key  =  k - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  idx  =  ed - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_COND ( ! remaps . has ( key ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PoolStringArray  r  =  remaps [ key ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									ERR_FAIL_INDEX ( idx , remaps . size ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									r . remove ( idx ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									remaps [ key ] = r ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > create_action ( TTR ( " Remove Resource Remap Option " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									undo_redo - > add_do_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , remaps ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_property ( GlobalConfig : : get_singleton ( ) , " locale/translation_remaps " , GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _update_translations " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_do_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > add_undo_method ( this , " _settings_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									undo_redo - > commit_action ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _update_translations ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//update translations
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( updating_translations ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updating_translations = true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_list - > clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * root  =  translation_list - > create_item ( NULL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_list - > set_hide_root ( true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( GlobalConfig : : get_singleton ( ) - > has ( " locale/translations " ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										PoolStringArray  translations  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translations " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										for ( int  i = 0 ; i < translations . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											TreeItem  * t  =  translation_list - > create_item ( root ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_editable ( 0 , false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_text ( 0 , translations [ i ] . replace_first ( " res:// " , " " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_tooltip ( 0 , translations [ i ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_metadata ( 0 , i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > add_button ( 0 , get_icon ( " Del " , " EditorIcons " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//update translation remaps
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  remap_selected ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( translation_remap - > get_selected ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										remap_selected  =  translation_remap - > get_selected ( ) - > get_metadata ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_remap - > clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_remap_options - > clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									root  =  translation_remap - > create_item ( NULL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TreeItem  * root2  =  translation_remap_options - > create_item ( NULL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_remap - > set_hide_root ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_remap_options - > set_hide_root ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									translation_res_option_add_button - > set_disabled ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Vector < String >  langs  =  TranslationServer : : get_all_locales ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Vector < String >  names  =  TranslationServer : : get_all_locale_names ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									String  langnames ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( int  i = 0 ; i < names . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( i > 0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											langnames + = " , " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										langnames + = names [ i ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( GlobalConfig : : get_singleton ( ) - > has ( " locale/translation_remaps " ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Dictionary  remaps  =  GlobalConfig : : get_singleton ( ) - > get ( " locale/translation_remaps " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										List < Variant >  rk ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										remaps . get_key_list ( & rk ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Vector < String >  keys ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										for ( List < Variant > : : Element  * E = rk . front ( ) ; E ; E = E - > next ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											keys . push_back ( E - > get ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										keys . sort ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										for ( int  i = 0 ; i < keys . size ( ) ; i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											TreeItem  * t  =  translation_remap - > create_item ( root ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_editable ( 0 , false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_text ( 0 , keys [ i ] . replace_first ( " res:// " , " " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_tooltip ( 0 , keys [ i ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > set_metadata ( 0 , keys [ i ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											t - > add_button ( 0 , get_icon ( " Del " , " EditorIcons " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( keys [ i ] = = remap_selected )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												t - > select ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												translation_res_option_add_button - > set_disabled ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-11 00:52:51 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												PoolStringArray  selected  =  remaps [ keys [ i ] ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												for ( int  j = 0 ; j < selected . size ( ) ; j + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													String  s  =  selected [ j ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													int  qp  =  s . find_last ( " : " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													String  path  =  s . substr ( 0 , qp ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													String  locale  =  s . substr ( qp + 1 , s . length ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													TreeItem  * t2  =  translation_remap_options - > create_item ( root2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_editable ( 0 , false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_text ( 0 , path . replace_first ( " res:// " , " " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_tooltip ( 0 , path ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_metadata ( 0 , j ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > add_button ( 0 , get_icon ( " Del " , " EditorIcons " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_cell_mode ( 1 , TreeItem : : CELL_MODE_RANGE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_text ( 1 , langnames ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_editable ( 1 , true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_metadata ( 1 , path ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													int  idx  =  langs . find ( locale ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-12 07:31:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													print_line ( " find  " + locale + "  at  " + itos ( idx ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
													if  ( idx < 0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														idx = 0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													t2 - > set_range ( 1 , idx ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updating_translations = false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  ProjectSettings : : _toggle_search_bar ( bool  p_pressed )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > set_use_filter ( p_pressed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( p_pressed )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										search_bar - > show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										add_prop_bar - > hide ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										search_box - > grab_focus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										search_box - > select_all ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										search_bar - > hide ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										add_prop_bar - > show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _clear_search_box ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( search_box - > get_text ( ) = = " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_box - > clear ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > update_tree ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-12 10:44:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  ProjectSettings : : set_plugins_page ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									tab_container - > set_current_tab (  plugin_settings - > get_index ( )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  ProjectSettings : : _bind_methods ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-13 12:47:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _item_selected " ) , & ProjectSettings : : _item_selected ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _item_add " ) , & ProjectSettings : : _item_add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _item_adds " ) , & ProjectSettings : : _item_adds ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _item_del " ) , & ProjectSettings : : _item_del ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _item_checked " ) , & ProjectSettings : : _item_checked ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _save " ) , & ProjectSettings : : _save ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _action_add " ) , & ProjectSettings : : _action_add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _action_adds " ) , & ProjectSettings : : _action_adds ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _action_selected " ) , & ProjectSettings : : _action_selected ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _action_edited " ) , & ProjectSettings : : _action_edited ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _action_button_pressed " ) , & ProjectSettings : : _action_button_pressed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _update_actions " ) , & ProjectSettings : : _update_actions ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _wait_for_key " ) , & ProjectSettings : : _wait_for_key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _add_item " ) , & ProjectSettings : : _add_item ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _device_input_add " ) , & ProjectSettings : : _device_input_add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _press_a_key_confirm " ) , & ProjectSettings : : _press_a_key_confirm ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _settings_prop_edited " ) , & ProjectSettings : : _settings_prop_edited ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _copy_to_platform " ) , & ProjectSettings : : _copy_to_platform ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _update_translations " ) , & ProjectSettings : : _update_translations ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_delete " ) , & ProjectSettings : : _translation_delete ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _settings_changed " ) , & ProjectSettings : : _settings_changed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_add " ) , & ProjectSettings : : _translation_add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_file_open " ) , & ProjectSettings : : _translation_file_open ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_add " ) , & ProjectSettings : : _translation_res_add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_file_open " ) , & ProjectSettings : : _translation_res_file_open ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_option_add " ) , & ProjectSettings : : _translation_res_option_add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_option_file_open " ) , & ProjectSettings : : _translation_res_option_file_open ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_select " ) , & ProjectSettings : : _translation_res_select ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_option_changed " ) , & ProjectSettings : : _translation_res_option_changed ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_delete " ) , & ProjectSettings : : _translation_res_delete ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _translation_res_option_delete " ) , & ProjectSettings : : _translation_res_option_delete ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _clear_search_box " ) , & ProjectSettings : : _clear_search_box ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ClassDB : : bind_method ( D_METHOD ( " _toggle_search_bar " ) , & ProjectSettings : : _toggle_search_bar ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ProjectSettings : : ProjectSettings ( EditorData  * p_data )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									singleton = this ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-04 20:53:55 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									set_title ( TTR ( " Project Settings (godot.cfg) " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									undo_redo = & p_data - > get_undo_redo ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									data = p_data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-12 10:44:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									tab_container  =  memnew (  TabContainer  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									add_child ( tab_container ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-10 01:49:55 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//set_child_rect(tab_container);
 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//tab_container->set_anchor_and_margin(MARGIN_LEFT,ANCHOR_BEGIN, 15 );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//tab_container->set_anchor_and_margin(MARGIN_RIGHT,ANCHOR_END, 15 );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//tab_container->set_anchor_and_margin(MARGIN_TOP,ANCHOR_BEGIN, 15 );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//tab_container->set_anchor_and_margin(MARGIN_BOTTOM,ANCHOR_END, 35 );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									VBoxContainer  * props_base  =  memnew (  VBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									props_base - > set_alignment ( BoxContainer : : ALIGN_BEGIN ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									props_base - > set_v_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									tab_container - > add_child ( props_base ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									props_base - > set_name ( TTR ( " General " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									HBoxContainer  * hbc  =  memnew (  HBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									props_base - > add_child ( hbc ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									search_button  =  memnew (  ToolButton  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_button - > set_toggle_mode ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_button - > set_pressed ( false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									search_button - > set_text ( TTR ( " Search " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hbc - > add_child ( search_button ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_button - > connect ( " toggled " , this , " _toggle_search_bar " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_child (  memnew (  VSeparator  )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_prop_bar  =  memnew (  HBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_prop_bar - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_child ( add_prop_bar ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Label  * l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( l ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Category: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									category  =  memnew (  LineEdit  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									category - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( category ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									category - > connect ( " text_entered " , this , " _item_adds " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( l ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Property: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									property  =  memnew (  LineEdit  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									property - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( property ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									property - > connect ( " text_entered " , this , " _item_adds " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( l ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Type: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									type  =  memnew (  OptionButton  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									type - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( type ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									type - > add_item ( " bool " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									type - > add_item ( " int " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									type - > add_item ( " float " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									type - > add_item ( " string " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Button  * add  =  memnew (  Button  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( add ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add - > set_text ( TTR ( " Add " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									add - > connect ( " pressed " , this , " _item_add " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Button  * del  =  memnew (  Button  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add_prop_bar - > add_child ( del ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									del - > set_text ( TTR ( " Del " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									del - > connect ( " pressed " , this , " _item_del " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									search_bar  =  memnew (  HBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_bar - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_child ( search_bar ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_bar - > hide ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_box  =  memnew (  LineEdit  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_box - > set_h_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_bar - > add_child ( search_box ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									clear_button  =  memnew (  ToolButton  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									search_bar - > add_child ( clear_button ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									clear_button - > connect ( " pressed " , this , " _clear_search_box " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 23:39:36 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor  =  memnew (  SectionedPropertyEditor  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									props_base - > add_child ( globals_editor ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > set_undo_redo ( EditorNode : : get_singleton ( ) - > get_undo_redo ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 23:39:36 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//globals_editor->hide_top_label();
 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > set_v_size_flags ( Control : : SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-23 16:05:27 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > register_text_enter ( search_box ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 23:39:36 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > set_capitalize_paths ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > get_scene_tree ( ) - > connect ( " cell_selected " , this , " _item_selected " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-16 00:42:34 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > connect ( " property_toggled " , this , " _item_checked " , varray ( ) , CONNECT_DEFERRED ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-15 23:39:36 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									globals_editor - > get_property_editor ( ) - > connect ( " property_edited " , this , " _settings_prop_edited " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									Button  * save  =  memnew (  Button  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-20 19:38:02 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									props_base - > add_child ( save ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_LEFT , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_RIGHT , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_TOP , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_BOTTOM , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_begin (  Point2 ( 80 , 28 )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_end (  Point2 ( 10 , 20 )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-21 01:18:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									save - > set_text ( " Save " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									save - > connect ( " pressed " , this , " _save " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-20 19:38:02 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*/  
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc  =  memnew (  HBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									props_base - > add_child ( hbc ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									popup_platform  =  memnew (  MenuButton  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									popup_platform - > set_text ( TTR ( " Copy To Platform.. " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									popup_platform - > set_disabled ( true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-21 13:42:15 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hbc - > add_child ( popup_platform ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_spacer ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-25 21:55:59 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*List<StringName> ep;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									EditorImportExport : : get_singleton ( ) - > get_export_platforms ( & ep ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ep . sort_custom < StringName : : AlphCompare > ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( List < StringName > : : Element  * E = ep . front ( ) ; E ; E = E - > next ( ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										popup_platform - > get_popup ( ) - > add_item (  E - > get ( )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-25 21:55:59 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} */ 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 18:18:54 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									popup_platform - > get_popup ( ) - > connect ( " id_pressed " , this , " _copy_to_platform " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									get_ok ( ) - > set_text ( TTR ( " Close " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									set_hide_on_ok ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									message  =  memnew (  ConfirmationDialog  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_child ( message ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-14 12:26:56 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//message->get_cancel()->hide();
 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									message - > set_hide_on_ok ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Control  * input_base  =  memnew (  Control  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									input_base - > set_name ( TTR ( " Input Map " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-14 18:03:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									input_base - > set_area_as_parent_rect ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									tab_container - > add_child ( input_base ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 17:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									VBoxContainer  * vbc  =  memnew (  VBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_base - > add_child ( vbc ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc - > set_anchor_and_margin ( MARGIN_TOP , ANCHOR_BEGIN ,  5  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc - > set_anchor_and_margin ( MARGIN_BOTTOM , ANCHOR_END ,  5  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc - > set_anchor_and_margin ( MARGIN_LEFT , ANCHOR_BEGIN ,  5  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc - > set_anchor_and_margin ( MARGIN_RIGHT , ANCHOR_END ,  5  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 17:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									vbc - > add_child ( l ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									l - > set_pos ( Point2 ( 6 , 5 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Action: " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 17:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hbc  =  memnew (  HBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc - > add_child ( hbc ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									action_name  =  memnew (  LineEdit  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 17:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									action_name - > set_h_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_child ( action_name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									action_name - > connect ( " text_entered " , this , " _action_adds " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add  =  memnew (  Button  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 17:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hbc - > add_child ( add ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add - > set_custom_minimum_size ( Size2 ( 150 ,  0 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									add - > set_text ( TTR ( " Add " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									add - > connect ( " pressed " , this , " _action_add " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_editor  =  memnew (  Tree  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-27 17:29:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									vbc - > add_child ( input_editor ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_editor - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-12 16:41:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									input_editor - > connect ( " item_edited " , this , " _action_edited " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_editor - > connect ( " cell_selected " , this , " _action_selected " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									input_editor - > connect ( " button_pressed " , this , " _action_button_pressed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									popup_add  =  memnew (  PopupMenu  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_child ( popup_add ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 18:18:54 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									popup_add - > connect ( " id_pressed " , this , " _add_item " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									press_a_key  =  memnew (  ConfirmationDialog  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									press_a_key - > set_focus_mode ( FOCUS_ALL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_child ( press_a_key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Press a Key.. " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									l - > set_area_as_parent_rect ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									l - > set_align ( Label : : ALIGN_CENTER ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									l - > set_margin ( MARGIN_TOP , 20 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									l - > set_anchor_and_margin ( MARGIN_BOTTOM , ANCHOR_BEGIN , 30 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									press_a_key_label = l ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									press_a_key - > add_child ( l ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-08 16:28:12 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									press_a_key - > connect ( " gui_input " , this , " _wait_for_key " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									press_a_key - > connect ( " confirmed " , this , " _press_a_key_confirm " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									device_input = memnew (  ConfirmationDialog  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_child ( device_input ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									device_input - > get_ok ( ) - > set_text ( TTR ( " Add " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									device_input - > connect ( " confirmed " , this , " _device_input_add " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hbc  =  memnew (  HBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									device_input - > add_child ( hbc ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-14 12:26:56 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//device_input->set_child_rect(hbc);
 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									VBoxContainer  * vbc_left  =  memnew (  VBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_child ( vbc_left ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Device: " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc_left - > add_child ( l ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									device_id  =  memnew (  SpinBox  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-04 01:16:14 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									device_id - > set_value ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									vbc_left - > add_child ( device_id ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									VBoxContainer  * vbc_right  =  memnew (  VBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hbc - > add_child ( vbc_right ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc_right - > set_h_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									l  =  memnew (  Label  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									l - > set_text ( TTR ( " Index: " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc_right - > add_child ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									device_index_label = l ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-04 16:51:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									device_index  =  memnew (  OptionButton  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									vbc_right - > add_child ( device_index ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-20 19:38:02 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/*
 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									save  =  memnew (  Button  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									input_base - > add_child ( save ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_LEFT , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_RIGHT , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_TOP , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_anchor ( MARGIN_BOTTOM , ANCHOR_END ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_begin (  Point2 ( 80 , 28 )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									save - > set_end (  Point2 ( 10 , 20 )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-21 01:18:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									save - > set_text ( " Save " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									save - > connect ( " pressed " , this , " _save " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-04-20 19:38:02 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*/  
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									setting = false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//translations
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									TabContainer  * translations  =  memnew (  TabContainer  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									translations - > set_name ( TTR ( " Localization " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									tab_container - > add_child ( translations ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										VBoxContainer  * tvb  =  memnew (  VBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translations - > add_child ( tvb ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										tvb - > set_name ( TTR ( " Translations " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										HBoxContainer  * thb  =  memnew (  HBoxContainer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tvb - > add_child ( thb ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										thb - > add_child (  memnew (  Label ( TTR ( " Translations: " ) ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										thb - > add_spacer ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Button  * addtr  =  memnew (  Button ( TTR ( " Add.. " ) )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										addtr - > connect ( " pressed " , this , " _translation_file_open " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										thb - > add_child ( addtr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										MarginContainer  * tmc  =  memnew (  MarginContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tvb - > add_child ( tmc ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_list  =  memnew (  Tree  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_list - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc - > add_child ( translation_list ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-06 09:44:38 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_file_open = memnew (  EditorFileDialog  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										add_child ( translation_file_open ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-06 09:44:38 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_file_open - > set_mode ( EditorFileDialog : : MODE_OPEN_FILE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										translation_file_open - > connect ( " file_selected " , this , " _translation_add " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										VBoxContainer  * tvb  =  memnew (  VBoxContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translations - > add_child ( tvb ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										tvb - > set_name ( TTR ( " Remaps " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										HBoxContainer  * thb  =  memnew (  HBoxContainer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tvb - > add_child ( thb ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										thb - > add_child (  memnew (  Label ( TTR ( " Resources: " ) ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										thb - > add_spacer ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Button  * addtr  =  memnew (  Button ( TTR ( " Add.. " ) )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										addtr - > connect ( " pressed " , this , " _translation_res_file_open " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										thb - > add_child ( addtr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										MarginContainer  * tmc  =  memnew (  MarginContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tvb - > add_child ( tmc ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap  =  memnew (  Tree  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap - > connect ( " cell_selected " , this , " _translation_res_select " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc - > add_child ( translation_remap ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap - > connect ( " button_pressed " , this , " _translation_res_delete " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-06 09:44:38 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_res_file_open = memnew (  EditorFileDialog  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										add_child ( translation_res_file_open ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-06 09:44:38 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_res_file_open - > set_mode ( EditorFileDialog : : MODE_OPEN_FILE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										translation_res_file_open - > connect ( " file_selected " , this , " _translation_res_add " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										thb  =  memnew (  HBoxContainer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tvb - > add_child ( thb ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										thb - > add_child (  memnew (  Label ( TTR ( " Remaps by Locale: " ) ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										thb - > add_spacer ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										addtr  =  memnew (  Button ( TTR ( " Add.. " ) )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										addtr - > connect ( " pressed " , this , " _translation_res_option_file_open " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_res_option_add_button = addtr ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										thb - > add_child ( addtr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc  =  memnew (  MarginContainer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tvb - > add_child ( tmc ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options  =  memnew (  Tree  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > set_v_size_flags ( SIZE_EXPAND_FILL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tmc - > add_child ( translation_remap_options ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > set_columns ( 2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-29 16:10:23 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_remap_options - > set_column_title ( 0 , TTR ( " Path " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_remap_options - > set_column_title ( 1 , TTR ( " Locale " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > set_column_titles_visible ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > set_column_expand ( 0 , true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > set_column_expand ( 1 , false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > set_column_min_width ( 1 , 200 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > connect ( " item_edited " , this , " _translation_res_option_changed " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										translation_remap_options - > connect ( " button_pressed " , this , " _translation_res_option_delete " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-06 09:44:38 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_res_option_file_open = memnew (  EditorFileDialog  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										add_child ( translation_res_option_file_open ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-06 09:44:38 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										translation_res_option_file_open - > set_mode ( EditorFileDialog : : MODE_OPEN_FILE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										translation_res_option_file_open - > connect ( " file_selected " , this , " _translation_res_option_add " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-04 20:22:28 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										autoload_settings  =  memnew (  EditorAutoloadSettings  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										autoload_settings - > set_name ( TTR ( " AutoLoad " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										tab_container - > add_child ( autoload_settings ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										autoload_settings - > connect ( " autoload_changed " ,  this ,  " _settings_changed " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-27 23:10:44 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										plugin_settings  =  memnew (  EditorPluginSettings  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-03 22:25:37 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										plugin_settings - > set_name ( TTR ( " Plugins " ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-27 23:10:44 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										tab_container - > add_child ( plugin_settings ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									timer  =  memnew (  Timer  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									timer - > set_wait_time ( 1.5 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-01-05 09:16:00 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									timer - > connect ( " timeout " , GlobalConfig : : get_singleton ( ) , " save " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									timer - > set_one_shot ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									add_child ( timer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updating_translations = false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Control  *  es  =  memnew (  Control  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-21 01:18:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									es - > set_name ( " Export " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-09 22:10:30 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									tab_container - > add_child ( es ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									export_settings  =  memnew (  ProjectExportSettings  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									es - > add_child ( export_settings ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									export_settings - > set_area_as_parent_rect ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									export_settings - > set_anchor_and_margin ( MARGIN_BOTTOM , ANCHOR_END ,  35  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}