summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/io/resource_format_xml.cpp1
-rw-r--r--demos/2d/area_input/icon.pngbin1684 -> 3416 bytes
-rw-r--r--demos/2d/dynamic_collision_shapes/icon.pngbin844 -> 1563 bytes
-rw-r--r--demos/2d/fog_of_war/icon.png.flags1
-rw-r--r--demos/2d/hdr/icon.pngbin2670 -> 3962 bytes
-rw-r--r--demos/2d/isometric_light/icon.pngbin3638 -> 7675 bytes
-rw-r--r--demos/2d/light_mask/icon.pngbin3344 -> 6285 bytes
-rw-r--r--demos/2d/lights_shadows/icon.pngbin2733 -> 3988 bytes
-rw-r--r--demos/2d/lookat/engine.cfg1
-rw-r--r--demos/2d/lookat/icon.pngbin0 -> 1495 bytes
-rw-r--r--demos/2d/motion/engine.cfg1
-rw-r--r--demos/2d/motion/icon.pngbin0 -> 2621 bytes
-rw-r--r--demos/2d/navpoly/icon.pngbin2420 -> 3642 bytes
-rw-r--r--demos/2d/normalmaps/icon.pngbin4876 -> 10402 bytes
-rw-r--r--demos/2d/polygon_path_finder/engine.cfg5
-rw-r--r--demos/2d/polygon_path_finder/icon.pngbin0 -> 712 bytes
-rw-r--r--demos/2d/polygon_path_finder/poly_with_holes.scnbin0 -> 2974 bytes
-rw-r--r--demos/2d/polygon_path_finder/polygonpathfinder.gd (renamed from demos/2d/polygon_path_finder_demo/polygonpathfinder.gd)0
-rw-r--r--demos/2d/polygon_path_finder_demo/engine.cfg5
-rw-r--r--demos/2d/polygon_path_finder_demo/icon.pngbin3639 -> 0 bytes
-rw-r--r--demos/2d/polygon_path_finder_demo/icon.png.flags1
-rw-r--r--demos/2d/polygon_path_finder_demo/new_scene_poly_with_holes.scnbin2609 -> 0 bytes
-rw-r--r--demos/2d/screen_space_shaders/icon.pngbin3341 -> 7479 bytes
-rw-r--r--demos/2d/sdf_font/icon.pngbin1534 -> 3560 bytes
-rw-r--r--demos/2d/splash/icon.pngbin3408 -> 7041 bytes
-rw-r--r--demos/2d/sprite_shaders/icon.pngbin3934 -> 8209 bytes
-rw-r--r--demos/2d/texscreen/engine.cfg1
-rw-r--r--demos/2d/texscreen/icon.pngbin0 -> 9245 bytes
-rw-r--r--demos/3d/navmesh/icon.pngbin2803 -> 4902 bytes
-rw-r--r--demos/3d/sat_test/icon.pngbin2699 -> 4628 bytes
-rw-r--r--demos/3d/truck_town/engine.cfg1
-rw-r--r--demos/3d/truck_town/icon.pngbin0 -> 6878 bytes
-rw-r--r--demos/gui/drag_and_drop/engine.cfg1
-rw-r--r--demos/gui/drag_and_drop/icon.pngbin0 -> 806 bytes
-rw-r--r--demos/gui/input_mapping/engine.cfg1
-rw-r--r--demos/gui/input_mapping/icon.pngbin0 -> 1503 bytes
-rw-r--r--demos/gui/rich_text_bbcode/icon.pngbin2293 -> 4304 bytes
-rw-r--r--demos/gui/translation/engine.cfg1
-rw-r--r--demos/gui/translation/icon.pngbin0 -> 2557 bytes
-rw-r--r--demos/misc/instancing/icon.pngbin2185 -> 3396 bytes
-rw-r--r--demos/misc/regex/engine.cfg1
-rw-r--r--demos/misc/regex/icon.pngbin0 -> 2215 bytes
-rw-r--r--demos/misc/tween/icon.pngbin3621 -> 2831 bytes
-rw-r--r--demos/misc/window_management/icon.pngbin3639 -> 4210 bytes
-rw-r--r--demos/misc/window_management/icon.png.flags1
-rw-r--r--demos/viewport/3d_in_2d/engine.cfg1
-rw-r--r--demos/viewport/3d_in_2d/icon.pngbin0 -> 3758 bytes
-rw-r--r--demos/viewport/gui_in_3d/engine.cfg1
-rw-r--r--demos/viewport/gui_in_3d/icon.pngbin0 -> 3770 bytes
-rw-r--r--demos/viewport/screen_capture/engine.cfg1
-rw-r--r--demos/viewport/screen_capture/icon.pngbin0 -> 7350 bytes
-rw-r--r--doc/core_classes.xml4
-rw-r--r--doc/engine_classes.xml2
-rw-r--r--platform/android/java/src/com/android/godot/GodotView.java23
-rw-r--r--servers/audio_server.cpp2
-rw-r--r--tools/editor/editor_node.cpp49
-rw-r--r--tools/editor/editor_node.h7
-rw-r--r--tools/editor/project_settings.cpp156
-rw-r--r--tools/editor/project_settings.h9
-rw-r--r--tools/editor/property_editor.cpp57
-rw-r--r--tools/editor/property_editor.h10
-rw-r--r--tools/editor/settings_config_dialog.cpp45
-rw-r--r--tools/editor/settings_config_dialog.h4
63 files changed, 305 insertions, 88 deletions
diff --git a/core/io/resource_format_xml.cpp b/core/io/resource_format_xml.cpp
index 66ae014dbc..48917a19ea 100644
--- a/core/io/resource_format_xml.cpp
+++ b/core/io/resource_format_xml.cpp
@@ -1955,7 +1955,6 @@ void ResourceFormatLoaderXML::get_recognized_extensions_for_type(const String& p
if (ext=="res")
continue;
p_extensions->push_back("x"+ext);
- p_extensions->push_back(ext);
}
p_extensions->push_back("xml");
diff --git a/demos/2d/area_input/icon.png b/demos/2d/area_input/icon.png
index d9bb881693..2f412ecf68 100644
--- a/demos/2d/area_input/icon.png
+++ b/demos/2d/area_input/icon.png
Binary files differ
diff --git a/demos/2d/dynamic_collision_shapes/icon.png b/demos/2d/dynamic_collision_shapes/icon.png
index ac01d401ba..b47506d7c8 100644
--- a/demos/2d/dynamic_collision_shapes/icon.png
+++ b/demos/2d/dynamic_collision_shapes/icon.png
Binary files differ
diff --git a/demos/2d/fog_of_war/icon.png.flags b/demos/2d/fog_of_war/icon.png.flags
deleted file mode 100644
index dbef2209e8..0000000000
--- a/demos/2d/fog_of_war/icon.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-gen_mipmaps=true
diff --git a/demos/2d/hdr/icon.png b/demos/2d/hdr/icon.png
index 2df0ec38e9..461cd4638a 100644
--- a/demos/2d/hdr/icon.png
+++ b/demos/2d/hdr/icon.png
Binary files differ
diff --git a/demos/2d/isometric_light/icon.png b/demos/2d/isometric_light/icon.png
index 3de9749729..0801f78ea5 100644
--- a/demos/2d/isometric_light/icon.png
+++ b/demos/2d/isometric_light/icon.png
Binary files differ
diff --git a/demos/2d/light_mask/icon.png b/demos/2d/light_mask/icon.png
index c12b045e62..34a6b709f6 100644
--- a/demos/2d/light_mask/icon.png
+++ b/demos/2d/light_mask/icon.png
Binary files differ
diff --git a/demos/2d/lights_shadows/icon.png b/demos/2d/lights_shadows/icon.png
index c7f9e13bae..554f01bb46 100644
--- a/demos/2d/lights_shadows/icon.png
+++ b/demos/2d/lights_shadows/icon.png
Binary files differ
diff --git a/demos/2d/lookat/engine.cfg b/demos/2d/lookat/engine.cfg
index 56917a39ec..81df107f0e 100644
--- a/demos/2d/lookat/engine.cfg
+++ b/demos/2d/lookat/engine.cfg
@@ -2,3 +2,4 @@
name="Look At Pointer"
main_scene="res://lookat.scn"
+icon="res://icon.png"
diff --git a/demos/2d/lookat/icon.png b/demos/2d/lookat/icon.png
new file mode 100644
index 0000000000..442cc1799f
--- /dev/null
+++ b/demos/2d/lookat/icon.png
Binary files differ
diff --git a/demos/2d/motion/engine.cfg b/demos/2d/motion/engine.cfg
index 261111904c..6e660572d6 100644
--- a/demos/2d/motion/engine.cfg
+++ b/demos/2d/motion/engine.cfg
@@ -2,6 +2,7 @@
name="Motion Test"
main_scene="res://motion.scn"
+icon="res://icon.png"
[display]
diff --git a/demos/2d/motion/icon.png b/demos/2d/motion/icon.png
new file mode 100644
index 0000000000..9e64961d3c
--- /dev/null
+++ b/demos/2d/motion/icon.png
Binary files differ
diff --git a/demos/2d/navpoly/icon.png b/demos/2d/navpoly/icon.png
index df7fb43633..7a28a367c6 100644
--- a/demos/2d/navpoly/icon.png
+++ b/demos/2d/navpoly/icon.png
Binary files differ
diff --git a/demos/2d/normalmaps/icon.png b/demos/2d/normalmaps/icon.png
index 4e5d835005..11ff5de829 100644
--- a/demos/2d/normalmaps/icon.png
+++ b/demos/2d/normalmaps/icon.png
Binary files differ
diff --git a/demos/2d/polygon_path_finder/engine.cfg b/demos/2d/polygon_path_finder/engine.cfg
new file mode 100644
index 0000000000..47450408af
--- /dev/null
+++ b/demos/2d/polygon_path_finder/engine.cfg
@@ -0,0 +1,5 @@
+[application]
+
+name="Polygon Pathfinder"
+main_scene="res://poly_with_holes.scn"
+icon="res://icon.png"
diff --git a/demos/2d/polygon_path_finder/icon.png b/demos/2d/polygon_path_finder/icon.png
new file mode 100644
index 0000000000..643f5595ee
--- /dev/null
+++ b/demos/2d/polygon_path_finder/icon.png
Binary files differ
diff --git a/demos/2d/polygon_path_finder/poly_with_holes.scn b/demos/2d/polygon_path_finder/poly_with_holes.scn
new file mode 100644
index 0000000000..6b340377b7
--- /dev/null
+++ b/demos/2d/polygon_path_finder/poly_with_holes.scn
Binary files differ
diff --git a/demos/2d/polygon_path_finder_demo/polygonpathfinder.gd b/demos/2d/polygon_path_finder/polygonpathfinder.gd
index a0e71dd127..a0e71dd127 100644
--- a/demos/2d/polygon_path_finder_demo/polygonpathfinder.gd
+++ b/demos/2d/polygon_path_finder/polygonpathfinder.gd
diff --git a/demos/2d/polygon_path_finder_demo/engine.cfg b/demos/2d/polygon_path_finder_demo/engine.cfg
deleted file mode 100644
index de5593c417..0000000000
--- a/demos/2d/polygon_path_finder_demo/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="polygon_path_finder_demo"
-main_scene="res://new_scene_poly_with_holes.scn"
-icon="res://icon.png"
diff --git a/demos/2d/polygon_path_finder_demo/icon.png b/demos/2d/polygon_path_finder_demo/icon.png
deleted file mode 100644
index 0c422e37b0..0000000000
--- a/demos/2d/polygon_path_finder_demo/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/2d/polygon_path_finder_demo/icon.png.flags b/demos/2d/polygon_path_finder_demo/icon.png.flags
deleted file mode 100644
index dbef2209e8..0000000000
--- a/demos/2d/polygon_path_finder_demo/icon.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-gen_mipmaps=true
diff --git a/demos/2d/polygon_path_finder_demo/new_scene_poly_with_holes.scn b/demos/2d/polygon_path_finder_demo/new_scene_poly_with_holes.scn
deleted file mode 100644
index 07838be41e..0000000000
--- a/demos/2d/polygon_path_finder_demo/new_scene_poly_with_holes.scn
+++ /dev/null
Binary files differ
diff --git a/demos/2d/screen_space_shaders/icon.png b/demos/2d/screen_space_shaders/icon.png
index 65247f9ae7..e3cc049081 100644
--- a/demos/2d/screen_space_shaders/icon.png
+++ b/demos/2d/screen_space_shaders/icon.png
Binary files differ
diff --git a/demos/2d/sdf_font/icon.png b/demos/2d/sdf_font/icon.png
index be9fefa8b0..0c700ad77c 100644
--- a/demos/2d/sdf_font/icon.png
+++ b/demos/2d/sdf_font/icon.png
Binary files differ
diff --git a/demos/2d/splash/icon.png b/demos/2d/splash/icon.png
index 88620eb35b..b8e24f209e 100644
--- a/demos/2d/splash/icon.png
+++ b/demos/2d/splash/icon.png
Binary files differ
diff --git a/demos/2d/sprite_shaders/icon.png b/demos/2d/sprite_shaders/icon.png
index b044b31f93..8b13ef6bb4 100644
--- a/demos/2d/sprite_shaders/icon.png
+++ b/demos/2d/sprite_shaders/icon.png
Binary files differ
diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg
index fb683dfc1d..92d0e98d5b 100644
--- a/demos/2d/texscreen/engine.cfg
+++ b/demos/2d/texscreen/engine.cfg
@@ -2,6 +2,7 @@
name="Glass Bubbles (Texscreen)"
main_scene="res://bubbles.scn"
+icon="res://icon.png"
[display]
diff --git a/demos/2d/texscreen/icon.png b/demos/2d/texscreen/icon.png
new file mode 100644
index 0000000000..d74d025ced
--- /dev/null
+++ b/demos/2d/texscreen/icon.png
Binary files differ
diff --git a/demos/3d/navmesh/icon.png b/demos/3d/navmesh/icon.png
index 5b354f931c..51fef7b2df 100644
--- a/demos/3d/navmesh/icon.png
+++ b/demos/3d/navmesh/icon.png
Binary files differ
diff --git a/demos/3d/sat_test/icon.png b/demos/3d/sat_test/icon.png
index b89c5a7467..194456e10f 100644
--- a/demos/3d/sat_test/icon.png
+++ b/demos/3d/sat_test/icon.png
Binary files differ
diff --git a/demos/3d/truck_town/engine.cfg b/demos/3d/truck_town/engine.cfg
index 3c340e6dcd..b2a463e1e2 100644
--- a/demos/3d/truck_town/engine.cfg
+++ b/demos/3d/truck_town/engine.cfg
@@ -2,6 +2,7 @@
name="Truck Town"
main_scene="res://car_select.scn"
+icon="res://icon.png"
[display]
diff --git a/demos/3d/truck_town/icon.png b/demos/3d/truck_town/icon.png
new file mode 100644
index 0000000000..7d7bd42116
--- /dev/null
+++ b/demos/3d/truck_town/icon.png
Binary files differ
diff --git a/demos/gui/drag_and_drop/engine.cfg b/demos/gui/drag_and_drop/engine.cfg
index 448939c61d..49b9b93512 100644
--- a/demos/gui/drag_and_drop/engine.cfg
+++ b/demos/gui/drag_and_drop/engine.cfg
@@ -2,3 +2,4 @@
name="Drag & Drop (GUI)"
main_scene="res://drag_and_drop.scn"
+icon="res://icon.png"
diff --git a/demos/gui/drag_and_drop/icon.png b/demos/gui/drag_and_drop/icon.png
new file mode 100644
index 0000000000..f900d8d4a3
--- /dev/null
+++ b/demos/gui/drag_and_drop/icon.png
Binary files differ
diff --git a/demos/gui/input_mapping/engine.cfg b/demos/gui/input_mapping/engine.cfg
index 6470ec6cd8..811635ce25 100644
--- a/demos/gui/input_mapping/engine.cfg
+++ b/demos/gui/input_mapping/engine.cfg
@@ -2,6 +2,7 @@
name="Input Mapping GUI"
main_scene="res://controls.scn"
+icon="res://icon.png"
[display]
diff --git a/demos/gui/input_mapping/icon.png b/demos/gui/input_mapping/icon.png
new file mode 100644
index 0000000000..5a1abf4f58
--- /dev/null
+++ b/demos/gui/input_mapping/icon.png
Binary files differ
diff --git a/demos/gui/rich_text_bbcode/icon.png b/demos/gui/rich_text_bbcode/icon.png
index 78358ba71b..6db48a3a9b 100644
--- a/demos/gui/rich_text_bbcode/icon.png
+++ b/demos/gui/rich_text_bbcode/icon.png
Binary files differ
diff --git a/demos/gui/translation/engine.cfg b/demos/gui/translation/engine.cfg
index 169b65e154..dcd3d1983d 100644
--- a/demos/gui/translation/engine.cfg
+++ b/demos/gui/translation/engine.cfg
@@ -2,6 +2,7 @@
name="Translation Demo"
main_scene="res://main.scn"
+icon="res://icon.png"
[locale]
diff --git a/demos/gui/translation/icon.png b/demos/gui/translation/icon.png
new file mode 100644
index 0000000000..4be5ac1127
--- /dev/null
+++ b/demos/gui/translation/icon.png
Binary files differ
diff --git a/demos/misc/instancing/icon.png b/demos/misc/instancing/icon.png
index 7a6de677c5..79a4283de7 100644
--- a/demos/misc/instancing/icon.png
+++ b/demos/misc/instancing/icon.png
Binary files differ
diff --git a/demos/misc/regex/engine.cfg b/demos/misc/regex/engine.cfg
index 0a6f4f869c..ef5483e096 100644
--- a/demos/misc/regex/engine.cfg
+++ b/demos/misc/regex/engine.cfg
@@ -2,3 +2,4 @@
name="RegEx"
main_scene="res://regex.scn"
+icon="res://icon.png"
diff --git a/demos/misc/regex/icon.png b/demos/misc/regex/icon.png
new file mode 100644
index 0000000000..7a5232ec4b
--- /dev/null
+++ b/demos/misc/regex/icon.png
Binary files differ
diff --git a/demos/misc/tween/icon.png b/demos/misc/tween/icon.png
index 3e991fcc29..ed55c24140 100644
--- a/demos/misc/tween/icon.png
+++ b/demos/misc/tween/icon.png
Binary files differ
diff --git a/demos/misc/window_management/icon.png b/demos/misc/window_management/icon.png
index 0c422e37b0..ec5c7891f9 100644
--- a/demos/misc/window_management/icon.png
+++ b/demos/misc/window_management/icon.png
Binary files differ
diff --git a/demos/misc/window_management/icon.png.flags b/demos/misc/window_management/icon.png.flags
deleted file mode 100644
index 5130fd1aab..0000000000
--- a/demos/misc/window_management/icon.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-gen_mipmaps=false
diff --git a/demos/viewport/3d_in_2d/engine.cfg b/demos/viewport/3d_in_2d/engine.cfg
index cc893361b5..6d456d7bd4 100644
--- a/demos/viewport/3d_in_2d/engine.cfg
+++ b/demos/viewport/3d_in_2d/engine.cfg
@@ -2,3 +2,4 @@
name="3D in 2D"
main_scene="res://main.scn"
+icon="res://icon.png"
diff --git a/demos/viewport/3d_in_2d/icon.png b/demos/viewport/3d_in_2d/icon.png
new file mode 100644
index 0000000000..d8a332c18f
--- /dev/null
+++ b/demos/viewport/3d_in_2d/icon.png
Binary files differ
diff --git a/demos/viewport/gui_in_3d/engine.cfg b/demos/viewport/gui_in_3d/engine.cfg
index 25a6636132..252e53ca33 100644
--- a/demos/viewport/gui_in_3d/engine.cfg
+++ b/demos/viewport/gui_in_3d/engine.cfg
@@ -2,3 +2,4 @@
name="GUI in 3D"
main_scene="res://gui_3d.scn"
+icon="res://icon.png"
diff --git a/demos/viewport/gui_in_3d/icon.png b/demos/viewport/gui_in_3d/icon.png
new file mode 100644
index 0000000000..22bdd791bb
--- /dev/null
+++ b/demos/viewport/gui_in_3d/icon.png
Binary files differ
diff --git a/demos/viewport/screen_capture/engine.cfg b/demos/viewport/screen_capture/engine.cfg
index b25ed8258e..a843242720 100644
--- a/demos/viewport/screen_capture/engine.cfg
+++ b/demos/viewport/screen_capture/engine.cfg
@@ -2,6 +2,7 @@
name="Screen Capturing"
main_scene="res://screen_capture.scn"
+icon="res://icon.png"
[display]
diff --git a/demos/viewport/screen_capture/icon.png b/demos/viewport/screen_capture/icon.png
new file mode 100644
index 0000000000..a696824775
--- /dev/null
+++ b/demos/viewport/screen_capture/icon.png
Binary files differ
diff --git a/doc/core_classes.xml b/doc/core_classes.xml
index 02b46ac4b9..c37b50f122 100644
--- a/doc/core_classes.xml
+++ b/doc/core_classes.xml
@@ -575,8 +575,8 @@
3x3 Matrix.
</brief_description>
<description>
- </description>
Matrix represent a 3x3 (3 rows by 3 columns) transformation matrix. it is used mainly to represent and accumulate transformations such as rotation or scale when used as an OCS (oriented coordinate system).
+ </description>
<methods>
<method name="invert">
<description>
@@ -937,8 +937,8 @@
Vector used for 2D Math.
</brief_description>
<description>
- </description>
Vector class, which performs basic 2D vector math operations.
+ </description>
<methods>
<method name="operator+">
<argument index="0" name="b" type="Vector2">
diff --git a/doc/engine_classes.xml b/doc/engine_classes.xml
index af153a16ef..43602e26e9 100644
--- a/doc/engine_classes.xml
+++ b/doc/engine_classes.xml
@@ -1502,7 +1502,7 @@
<description>
</description>
</method>
- <method name="free">
+ <method name="free_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
diff --git a/platform/android/java/src/com/android/godot/GodotView.java b/platform/android/java/src/com/android/godot/GodotView.java
index ad0354e624..1a84923065 100644
--- a/platform/android/java/src/com/android/godot/GodotView.java
+++ b/platform/android/java/src/com/android/godot/GodotView.java
@@ -371,8 +371,8 @@ public class GodotView extends GLSurfaceView {
if (use_32) {
setEGLConfigChooser( translucent ?
- new ConfigChooser(8, 8, 8, 8, 24, stencil) :
- new ConfigChooser(8, 8, 8, 8, 24, stencil) );
+ new FallbackConfigChooser(8, 8, 8, 8, 24, stencil, new ConfigChooser(8, 8, 8, 8, 16, stencil)) :
+ new FallbackConfigChooser(8, 8, 8, 8, 24, stencil, new ConfigChooser(5, 6, 5, 0, 16, stencil)) );
} else {
setEGLConfigChooser( translucent ?
@@ -410,6 +410,25 @@ public class GodotView extends GLSurfaceView {
Log.e(TAG, String.format("%s: EGL error: 0x%x", prompt, error));
}
}
+ /* Fallback if 32bit View is not supported*/
+ private static class FallbackConfigChooser extends ConfigChooser {
+ private ConfigChooser fallback;
+
+ public FallbackConfigChooser(int r, int g, int b, int a, int depth, int stencil, ConfigChooser fallback) {
+ super(r, g, b, a, depth, stencil);
+ this.fallback = fallback;
+ }
+
+ @Override
+ public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display, EGLConfig[] configs) {
+ EGLConfig ec = super.chooseConfig(egl, display, configs);
+ if (ec == null) {
+ Log.w(TAG, "Trying ConfigChooser fallback");
+ ec = fallback.chooseConfig(egl, display, configs);
+ }
+ return ec;
+ }
+ }
private static class ConfigChooser implements GLSurfaceView.EGLConfigChooser {
diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp
index c155f5204a..6c5a2de97b 100644
--- a/servers/audio_server.cpp
+++ b/servers/audio_server.cpp
@@ -132,7 +132,7 @@ void AudioServer::_bind_methods() {
ObjectTypeDB::bind_method(_MD("voice_stop","voice"), &AudioServer::voice_stop );
- ObjectTypeDB::bind_method(_MD("free","rid"), &AudioServer::free );
+ ObjectTypeDB::bind_method(_MD("free_rid","rid"), &AudioServer::free );
ObjectTypeDB::bind_method(_MD("set_stream_global_volume_scale","scale"), &AudioServer::set_stream_global_volume_scale );
ObjectTypeDB::bind_method(_MD("get_stream_global_volume_scale"), &AudioServer::get_stream_global_volume_scale );
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index 7d837f3211..4e22592880 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -4024,6 +4024,8 @@ void EditorNode::_bind_methods() {
ObjectTypeDB::bind_method("_prepare_history",&EditorNode::_prepare_history);
ObjectTypeDB::bind_method("_select_history",&EditorNode::_select_history);
+ ObjectTypeDB::bind_method("_toggle_search_bar",&EditorNode::_toggle_search_bar);
+ ObjectTypeDB::bind_method("_clear_search_box",&EditorNode::_clear_search_box);
ObjectTypeDB::bind_method(_MD("add_editor_import_plugin", "plugin"), &EditorNode::add_editor_import_plugin);
ObjectTypeDB::bind_method(_MD("remove_editor_import_plugin", "plugin"), &EditorNode::remove_editor_import_plugin);
@@ -4517,6 +4519,30 @@ void EditorNode::_scene_tab_changed(int p_tab) {
}
+void EditorNode::_toggle_search_bar(bool p_pressed) {
+
+ property_editor->set_use_filter(p_pressed);
+
+ if (p_pressed) {
+
+ search_bar->show();
+ search_box->grab_focus();
+ search_box->select_all();
+ } else {
+
+ search_bar->hide();
+ }
+}
+
+void EditorNode::_clear_search_box() {
+
+ if (search_box->get_text()=="")
+ return;
+
+ search_box->clear();
+ property_editor->update_tree();
+}
+
EditorNode::EditorNode() {
EditorHelp::generate_doc(); //before any editor classes are crated
@@ -5322,6 +5348,12 @@ EditorNode::EditorNode() {
editor_path->set_h_size_flags(Control::SIZE_EXPAND_FILL);
prop_editor_hb->add_child(editor_path);
+ search_button = memnew( ToolButton );
+ search_button->set_toggle_mode(true);
+ search_button->set_pressed(false);
+ search_button->set_icon(gui_base->get_icon("Zoom","EditorIcons"));
+ prop_editor_hb->add_child(search_button);
+ search_button->connect("toggled",this,"_toggle_search_bar");
object_menu = memnew( MenuButton );
object_menu->set_icon(gui_base->get_icon("Tools","EditorIcons"));
@@ -5333,6 +5365,22 @@ EditorNode::EditorNode() {
create_dialog->set_base_type("Resource");
create_dialog->connect("create",this,"_resource_created");
+ search_bar = memnew( HBoxContainer );
+ search_bar->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ prop_editor_base->add_child(search_bar);
+ search_bar->hide();
+
+ l = memnew( Label("Search: ") );
+ search_bar->add_child(l);
+
+ search_box = memnew( LineEdit );
+ search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ search_bar->add_child(search_box);
+
+ ToolButton *clear_button = memnew( ToolButton );
+ clear_button->set_icon(gui_base->get_icon("Close","EditorIcons"));
+ search_bar->add_child(clear_button);
+ clear_button->connect("pressed",this,"_clear_search_box");
property_editor = memnew( PropertyEditor );
property_editor->set_autoclear(true);
@@ -5341,6 +5389,7 @@ EditorNode::EditorNode() {
property_editor->set_use_doc_hints(true);
property_editor->hide_top_label();
+ property_editor->register_text_enter(search_box);
prop_editor_base->add_child( property_editor );
property_editor->set_undo_redo(&editor_data.get_undo_redo());
diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h
index 002df0f3ea..7d8b97688e 100644
--- a/tools/editor/editor_node.h
+++ b/tools/editor/editor_node.h
@@ -250,6 +250,7 @@ class EditorNode : public Node {
ToolButton *play_scene_button;
ToolButton *play_custom_scene_button;
MenuButton *debug_button;
+ ToolButton *search_button;
TextureProgress *audio_vu;
//MenuButton *fileserver_menu;
@@ -268,6 +269,9 @@ class EditorNode : public Node {
ScenesDock *scenes_dock;
EditorRunNative *run_native;
+ HBoxContainer *search_bar;
+ LineEdit *search_box;
+
CreateDialog *create_dialog;
CallDialog *call_dialog;
@@ -517,6 +521,9 @@ class EditorNode : public Node {
void _save_docks();
void _load_docks();
+ void _toggle_search_bar(bool p_pressed);
+ void _clear_search_box();
+
protected:
void _notification(int p_what);
static void _bind_methods();
diff --git a/tools/editor/project_settings.cpp b/tools/editor/project_settings.cpp
index 25a2750166..2fd8b37753 100644
--- a/tools/editor/project_settings.cpp
+++ b/tools/editor/project_settings.cpp
@@ -59,6 +59,9 @@ void ProjectSettings::_notification(int p_what) {
if (p_what==NOTIFICATION_ENTER_TREE) {
+ search_button->set_icon(get_icon("Zoom","EditorIcons"));
+ clear_button->set_icon(get_icon("Close","EditorIcons"));
+
translation_list->connect("button_pressed",this,"_translation_delete");
_update_actions();
popup_add->add_icon_item(get_icon("Keyboard","EditorIcons"),"Key",InputEvent::KEY);
@@ -1171,6 +1174,31 @@ void ProjectSettings::_update_autoload() {
}
+void ProjectSettings::_toggle_search_bar(bool p_pressed) {
+
+ globals_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->update_tree();
+}
void ProjectSettings::_bind_methods() {
@@ -1212,6 +1240,9 @@ void ProjectSettings::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_update_autoload"),&ProjectSettings::_update_autoload);
ObjectTypeDB::bind_method(_MD("_autoload_delete"),&ProjectSettings::_autoload_delete);
+ ObjectTypeDB::bind_method(_MD("_clear_search_box"),&ProjectSettings::_clear_search_box);
+ ObjectTypeDB::bind_method(_MD("_toggle_search_bar"),&ProjectSettings::_toggle_search_bar);
+
}
ProjectSettings::ProjectSettings(EditorData *p_data) {
@@ -1232,87 +1263,93 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
//tab_container->set_anchor_and_margin(MARGIN_TOP,ANCHOR_BEGIN, 15 );
//tab_container->set_anchor_and_margin(MARGIN_BOTTOM,ANCHOR_END, 35 );
- Control *props_base = memnew( Control );
+ VBoxContainer *props_base = memnew( VBoxContainer );
+ props_base->set_alignment(BoxContainer::ALIGN_BEGIN);
+ props_base->set_v_size_flags(Control::SIZE_EXPAND_FILL);
tab_container->add_child(props_base);
props_base->set_name("General");
- globals_editor = memnew( PropertyEditor );
- props_base->add_child(globals_editor);
- globals_editor->set_area_as_parent_rect();
- globals_editor->hide_top_label();
- globals_editor->set_anchor_and_margin(MARGIN_TOP,ANCHOR_BEGIN, 55 );
- globals_editor->set_anchor_and_margin(MARGIN_BOTTOM,ANCHOR_END, 35 );
- globals_editor->set_anchor_and_margin(MARGIN_LEFT,ANCHOR_BEGIN, 5 );
- globals_editor->set_anchor_and_margin(MARGIN_RIGHT,ANCHOR_END, 5 );
- globals_editor->set_capitalize_paths(false);
- globals_editor->get_scene_tree()->connect("cell_selected",this,"_item_selected");
- globals_editor->connect("property_toggled",this,"_item_checked");
- globals_editor->connect("property_edited",this,"_settings_prop_edited");
+ HBoxContainer *hbc = memnew( HBoxContainer );
+ hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ props_base->add_child(hbc);
- Label *l = memnew( Label );
- props_base->add_child(l);
- l->set_pos(Point2(6,5));
- l->set_text("Category:");
+ search_button = memnew( ToolButton );
+ search_button->set_toggle_mode(true);
+ search_button->set_pressed(false);
+ search_button->set_text("Search");
+ hbc->add_child(search_button);
+ search_button->connect("toggled",this,"_toggle_search_bar");
+ hbc->add_child( memnew( VSeparator ) );
- l = memnew( Label );
- l->set_anchor(MARGIN_LEFT,ANCHOR_RATIO);
- props_base->add_child(l);
- l->set_begin(Point2(0.21,5));
- l->set_text("Property:");
+ add_prop_bar = memnew( HBoxContainer );
+ add_prop_bar->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ hbc->add_child(add_prop_bar);
- l = memnew( Label );
- l->set_anchor(MARGIN_LEFT,ANCHOR_RATIO);
- props_base->add_child(l);
- l->set_begin(Point2(0.51,5));
- l->set_text("Type:");
+ Label *l = memnew( Label );
+ add_prop_bar->add_child(l);
+ l->set_text("Category:");
category = memnew( LineEdit );
- props_base->add_child(category);
- category->set_anchor(MARGIN_RIGHT,ANCHOR_RATIO);
- category->set_begin( Point2(5,25) );
- category->set_end( Point2(0.20,26) );
+ category->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ add_prop_bar->add_child(category);
category->connect("text_entered",this,"_item_adds");
+ l = memnew( Label );
+ add_prop_bar->add_child(l);
+ l->set_text("Property:");
+
property = memnew( LineEdit );
- props_base->add_child(property);
- property->set_anchor(MARGIN_LEFT,ANCHOR_RATIO);
- property->set_anchor(MARGIN_RIGHT,ANCHOR_RATIO);
- property->set_begin( Point2(0.21,25) );
- property->set_end( Point2(0.50,26) );
+ property->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ add_prop_bar->add_child(property);
property->connect("text_entered",this,"_item_adds");
+ l = memnew( Label );
+ add_prop_bar->add_child(l);
+ l->set_text("Type:");
type = memnew( OptionButton );
- props_base->add_child(type);
- type->set_anchor(MARGIN_LEFT,ANCHOR_RATIO);
- type->set_anchor(MARGIN_RIGHT,ANCHOR_RATIO);
- type->set_begin( Point2(0.51,25) );
- type->set_end( Point2(0.70,26) );
+ type->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ add_prop_bar->add_child(type);
type->add_item("bool");
type->add_item("int");
type->add_item("float");
type->add_item("string");
Button *add = memnew( Button );
- props_base->add_child(add);
- add->set_anchor(MARGIN_LEFT,ANCHOR_RATIO);
- add->set_anchor(MARGIN_RIGHT,ANCHOR_RATIO);
- add->set_begin( Point2(0.71,25) );
- add->set_end( Point2(0.85,26) );
+ add_prop_bar->add_child(add);
add->set_text("Add");
add->connect("pressed",this,"_item_add");
Button *del = memnew( Button );
- props_base->add_child(del);
- del->set_anchor(MARGIN_LEFT,ANCHOR_RATIO);
- del->set_anchor(MARGIN_RIGHT,ANCHOR_END);
- del->set_begin( Point2(0.86,25) );
- del->set_end( Point2(5,26) );
+ add_prop_bar->add_child(del);
del->set_text("Del");
del->connect("pressed",this,"_item_del");
- /*
+ 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");
+
+ globals_editor = memnew( PropertyEditor );
+ props_base->add_child(globals_editor);
+ globals_editor->hide_top_label();
+ globals_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ globals_editor->register_text_enter(search_box);
+ globals_editor->set_capitalize_paths(false);
+ globals_editor->get_scene_tree()->connect("cell_selected",this,"_item_selected");
+ globals_editor->connect("property_toggled",this,"_item_checked");
+ globals_editor->connect("property_edited",this,"_settings_prop_edited");
+
+/*
Button *save = memnew( Button );
props_base->add_child(save);
@@ -1325,17 +1362,16 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
save->set_text("Save");
save->connect("pressed",this,"_save");
*/
+
+ hbc = memnew( HBoxContainer );
+ props_base->add_child(hbc);
+
popup_platform = memnew( MenuButton );
popup_platform->set_text("Copy To Platform..");
popup_platform->set_disabled(true);
- props_base->add_child(popup_platform);
-
- popup_platform->set_anchor(MARGIN_LEFT,ANCHOR_BEGIN);
- popup_platform->set_anchor(MARGIN_RIGHT,ANCHOR_BEGIN);
- popup_platform->set_anchor(MARGIN_TOP,ANCHOR_END);
- popup_platform->set_anchor(MARGIN_BOTTOM,ANCHOR_END);
- popup_platform->set_begin( Point2(10,28) );
- popup_platform->set_end( Point2(150,20) );
+ hbc->add_child(popup_platform);
+
+ hbc->add_spacer();
List<StringName> ep;
EditorImportExport::get_singleton()->get_export_platforms(&ep);
diff --git a/tools/editor/project_settings.h b/tools/editor/project_settings.h
index 7c91254764..b122609e52 100644
--- a/tools/editor/project_settings.h
+++ b/tools/editor/project_settings.h
@@ -47,6 +47,12 @@ class ProjectSettings : public AcceptDialog {
UndoRedo *undo_redo;
PropertyEditor *globals_editor;
+ HBoxContainer *search_bar;
+ ToolButton *search_button;
+ LineEdit *search_box;
+ ToolButton *clear_button;
+
+ HBoxContainer *add_prop_bar;
ConfirmationDialog *message;
LineEdit *category;
LineEdit *property;
@@ -130,6 +136,9 @@ class ProjectSettings : public AcceptDialog {
void _translation_res_option_changed();
void _translation_res_option_delete(Object *p_item,int p_column, int p_button);
+ void _toggle_search_bar(bool p_pressed);
+ void _clear_search_box();
+
ProjectSettings();
diff --git a/tools/editor/property_editor.cpp b/tools/editor/property_editor.cpp
index d6eae51fbd..31393ebcbc 100644
--- a/tools/editor/property_editor.cpp
+++ b/tools/editor/property_editor.cpp
@@ -2363,6 +2363,8 @@ void PropertyEditor::update_tree() {
TreeItem * current_category=NULL;
+ String filter = search_box ? search_box->get_text() : "";
+
for (List<PropertyInfo>::Element *I=plist.front() ; I ; I=I->next()) {
PropertyInfo& p = I->get();
@@ -2426,7 +2428,24 @@ void PropertyEditor::update_tree() {
} else if ( ! (p.usage&PROPERTY_USAGE_EDITOR ) )
continue;
+ String name = (p.name.find("/")!=-1)?p.name.right( p.name.find_last("/")+1 ):p.name;
+
+ if (capitalize_paths)
+ name = name.camelcase_to_underscore().capitalize();
+
String path=p.name.left( p.name.find_last("/") ) ;
+
+ if (use_filter && filter!="") {
+
+ String cat = path;
+
+ if (capitalize_paths)
+ cat = cat.capitalize();
+
+ if (cat.findn(filter)==-1 && name.findn(filter)==-1)
+ continue;
+ }
+
//printf("property %s\n",p.name.ascii().get_data());
TreeItem * parent = get_parent_node(path,item_path,current_category?current_category:root );
//if (parent->get_parent()==root)
@@ -2448,8 +2467,6 @@ void PropertyEditor::update_tree() {
TreeItem * item = tree->create_item( parent );
- String name = (p.name.find("/")!=-1)?p.name.right( p.name.find_last("/")+1 ):p.name;
-
if (level>0) {
item->set_custom_bg_color(0,col);
//item->set_custom_bg_color(1,col);
@@ -2465,11 +2482,7 @@ void PropertyEditor::update_tree() {
item->set_checked(0,p.usage&PROPERTY_USAGE_CHECKED);
}
- if (capitalize_paths)
- item->set_text( 0, name.camelcase_to_underscore().capitalize() );
- else
- item->set_text( 0, name );
-
+ item->set_text(0, name);
item->set_tooltip(0, p.name);
if (use_doc_hints) {
@@ -3403,6 +3416,11 @@ void PropertyEditor::_draw_flags(Object *t,const Rect2& p_rect) {
}
+void PropertyEditor::_filter_changed(const String& p_text) {
+
+ update_tree();
+}
+
void PropertyEditor::_bind_methods() {
ObjectTypeDB::bind_method( "_item_edited",&PropertyEditor::_item_edited);
@@ -3415,6 +3433,7 @@ void PropertyEditor::_bind_methods() {
ObjectTypeDB::bind_method( "_changed_callback",&PropertyEditor::_changed_callbacks);
ObjectTypeDB::bind_method( "_draw_flags",&PropertyEditor::_draw_flags);
ObjectTypeDB::bind_method( "_set_range_def",&PropertyEditor::_set_range_def);
+ ObjectTypeDB::bind_method( "_filter_changed",&PropertyEditor::_filter_changed);
ADD_SIGNAL( MethodInfo("property_toggled",PropertyInfo( Variant::STRING, "property"),PropertyInfo( Variant::BOOL, "value")));
ADD_SIGNAL( MethodInfo("resource_selected", PropertyInfo( Variant::OBJECT, "res"),PropertyInfo( Variant::STRING, "prop") ) );
@@ -3469,12 +3488,32 @@ void PropertyEditor::set_show_categories(bool p_show) {
update_tree();
}
+void PropertyEditor::set_use_filter(bool p_use) {
+
+ if (p_use==use_filter)
+ return;
+
+ use_filter=p_use;
+ update_tree();
+}
+
+void PropertyEditor::register_text_enter(Node* p_line_edit) {
+
+ ERR_FAIL_NULL(p_line_edit);
+ search_box=p_line_edit->cast_to<LineEdit>();
+
+ if (search_box)
+ search_box->connect("text_changed",this,"_filter_changed");
+
+}
+
PropertyEditor::PropertyEditor() {
_prop_edited="property_edited";
_prop_edited_name.push_back(String());
undo_redo=NULL;
obj=NULL;
+ search_box=NULL;
changing=false;
update_tree_pending=false;
@@ -3527,7 +3566,9 @@ PropertyEditor::PropertyEditor() {
show_categories=false;
refresh_countdown=0;
use_doc_hints=false;
-
+
+ use_filter=false;
+
}
diff --git a/tools/editor/property_editor.h b/tools/editor/property_editor.h
index dcb7b66abd..5fb8386b1b 100644
--- a/tools/editor/property_editor.h
+++ b/tools/editor/property_editor.h
@@ -147,6 +147,7 @@ class PropertyEditor : public Control {
Tree *tree;
Label *top_label;
//Object *object;
+ LineEdit *search_box;
Object* obj;
@@ -163,6 +164,8 @@ class PropertyEditor : public Control {
float refresh_countdown;
bool use_doc_hints;
+ bool use_filter;
+
HashMap<String,String> pending;
String selected_property;
@@ -201,6 +204,8 @@ class PropertyEditor : public Control {
void _refresh_item(TreeItem *p_item);
void _set_range_def(Object *p_item, String prop, float p_frame);
+ void _filter_changed(const String& p_text);
+
UndoRedo *undo_redo;
protected:
@@ -230,7 +235,10 @@ public:
void set_show_categories(bool p_show);
void set_use_doc_hints(bool p_enable) { use_doc_hints=p_enable; }
-
+
+ void set_use_filter(bool p_use);
+ void register_text_enter(Node *p_line_edit);
+
PropertyEditor();
~PropertyEditor();
diff --git a/tools/editor/settings_config_dialog.cpp b/tools/editor/settings_config_dialog.cpp
index f73de26eec..6d8f849427 100644
--- a/tools/editor/settings_config_dialog.cpp
+++ b/tools/editor/settings_config_dialog.cpp
@@ -72,6 +72,10 @@ void EditorSettingsDialog::popup_edit_settings() {
property_editor->edit(EditorSettings::get_singleton());
property_editor->update_tree();
+
+ search_box->select_all();
+ search_box->grab_focus();
+
popup_centered_ratio(0.7);
}
@@ -244,11 +248,21 @@ void EditorSettingsDialog::_update_plugins() {
}
+void EditorSettingsDialog::_clear_search_box() {
+
+ if (search_box->get_text()=="")
+ return;
+
+ search_box->clear();
+ property_editor->update_tree();
+}
+
void EditorSettingsDialog::_notification(int p_what) {
if (p_what==NOTIFICATION_ENTER_TREE) {
rescan_plugins->set_icon(get_icon("Reload","EditorIcons"));
+ clear_button->set_icon(get_icon("Close","EditorIcons"));
_update_plugins();
}
}
@@ -261,6 +275,7 @@ void EditorSettingsDialog::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_plugin_settings"),&EditorSettingsDialog::_plugin_settings);
ObjectTypeDB::bind_method(_MD("_plugin_edited"),&EditorSettingsDialog::_plugin_edited);
ObjectTypeDB::bind_method(_MD("_plugin_install"),&EditorSettingsDialog::_plugin_install);
+ ObjectTypeDB::bind_method(_MD("_clear_search_box"),&EditorSettingsDialog::_clear_search_box);
}
EditorSettingsDialog::EditorSettingsDialog() {
@@ -271,16 +286,38 @@ EditorSettingsDialog::EditorSettingsDialog() {
add_child(tabs);
set_child_rect(tabs);
+ VBoxContainer *vbc = memnew( VBoxContainer );
+ tabs->add_child(vbc);
+ vbc->set_name("General");
+
+ HBoxContainer *hbc = memnew( HBoxContainer );
+ hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ vbc->add_child(hbc);
+
+ Label *l = memnew( Label );
+ l->set_text("Search: ");
+ hbc->add_child(l);
+
+ search_box = memnew( LineEdit );
+ search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL);
+ hbc->add_child(search_box);
+
+ clear_button = memnew( ToolButton );
+ hbc->add_child(clear_button);
+ clear_button->connect("pressed",this,"_clear_search_box");
+
property_editor = memnew( PropertyEditor );
property_editor->hide_top_label();
- tabs->add_child(property_editor);
- property_editor->set_name("General");
+ property_editor->set_use_filter(true);
+ property_editor->register_text_enter(search_box);
+ property_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ vbc->add_child(property_editor);
- VBoxContainer *vbc = memnew( VBoxContainer );
+ vbc = memnew( VBoxContainer );
tabs->add_child(vbc);
vbc->set_name("Plugins");
- HBoxContainer *hbc = memnew( HBoxContainer );
+ hbc = memnew( HBoxContainer );
vbc->add_child(hbc);
hbc->add_child( memnew( Label("Plugin List: ")));
hbc->add_spacer();
diff --git a/tools/editor/settings_config_dialog.h b/tools/editor/settings_config_dialog.h
index cca1ef33d5..50159cf488 100644
--- a/tools/editor/settings_config_dialog.h
+++ b/tools/editor/settings_config_dialog.h
@@ -51,6 +51,8 @@ class EditorSettingsDialog : public AcceptDialog {
Button *rescan_plugins;
Tree *plugins;
+ LineEdit *search_box;
+ ToolButton *clear_button;
PropertyEditor *property_editor;
Timer *timer;
@@ -71,6 +73,8 @@ class EditorSettingsDialog : public AcceptDialog {
void _rescan_plugins();
void _update_plugins();
+ void _clear_search_box();
+
protected:
static void _bind_methods();