summaryrefslogtreecommitdiff
path: root/tools/editor
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-11-19 00:20:54 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-11-19 00:20:54 -0300
commit6a3484260d80cf3dcb88fe069b1cd2453f5fcb3d (patch)
tree0ca2cc192d8311d0796e404f8ba249f71ef3760e /tools/editor
parent0168947084af1991a2af978956e823afb7b17d33 (diff)
parentfca36207e34e908a580a7f7277f7519f39d3fbda (diff)
Merge pull request #2451 from PeaceSells50/FixForFilesystemAdd
Fixed bug with adding an instance from the FIleSystem dialog.
Diffstat (limited to 'tools/editor')
-rw-r--r--tools/editor/scenes_dock.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/tools/editor/scenes_dock.cpp b/tools/editor/scenes_dock.cpp
index 7d9c5b24b2..dfd729354d 100644
--- a/tools/editor/scenes_dock.cpp
+++ b/tools/editor/scenes_dock.cpp
@@ -352,10 +352,30 @@ String ScenesDock::get_selected_path() const {
void ScenesDock::_instance_pressed() {
- TreeItem *sel = tree->get_selected();
- if (!sel)
- return;
- String path = sel->get_metadata(0);
+ if (tree_mode)
+ {
+ TreeItem *sel = tree->get_selected();
+ if (!sel)
+ return;
+ String path = sel->get_metadata(0);
+ }
+ else
+ {
+ int idx = -1;
+ for (int i = 0; i<files->get_item_count(); i++) {
+ if (files->is_selected(i))
+ {
+ idx = i;
+ break;
+ }
+ }
+
+ if (idx<0)
+ return;
+
+ path = files->get_item_metadata(idx);
+ }
+
emit_signal("instance",path);
}