From 629e4af83bab6703b591cd3e194cc317561f09c8 Mon Sep 17 00:00:00 2001 From: Bernhard Sirlinger Date: Thu, 14 Feb 2013 10:10:02 +0100 Subject: [PATCH 1/4] Using ProjectManager.showInTree() --- src/project/ProjectManager.js | 2 ++ src/search/FindInFiles.js | 1 + 2 files changed, 3 insertions(+) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index d75989f9021..1a7d06cd978 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -914,6 +914,8 @@ define(function (require, exports, module) { .done(function ($node) { // jsTree will automatically expand parent nodes to ensure visible _projectTree.jstree("select_node", $node, false); + _lastSelected = entry; + _redraw(true, true); }); } diff --git a/src/search/FindInFiles.js b/src/search/FindInFiles.js index 106981ac661..fac3b290ce5 100644 --- a/src/search/FindInFiles.js +++ b/src/search/FindInFiles.js @@ -306,6 +306,7 @@ define(function (require, exports, module) { .done(function (doc) { // Opened document is now the current main editor EditorManager.getCurrentFullEditor().setSelection(match.start, match.end, true); + ProjectManager.showInTree(doc.file); }); }); resultsDisplayed++; From 0eab66e80364a6e1de1577349bae69dc94669499 Mon Sep 17 00:00:00 2001 From: Bernhard Sirlinger Date: Wed, 6 Mar 2013 17:50:27 +0100 Subject: [PATCH 2/4] First deselect all nodes before reselecting --- src/project/ProjectManager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index 1a7d06cd978..9f17e1f7a04 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -912,10 +912,11 @@ define(function (require, exports, module) { function showInTree(entry) { return _findTreeNode(entry) .done(function ($node) { + _projectTree.jstree("deselect_all"); // jsTree will automatically expand parent nodes to ensure visible _projectTree.jstree("select_node", $node, false); _lastSelected = entry; - _redraw(true, true); + _redraw(true); }); } From 35e02fbede5733214c0183edc8c4e76a4c6ca1c4 Mon Sep 17 00:00:00 2001 From: Bernhard Sirlinger Date: Thu, 7 Mar 2013 14:40:08 +0100 Subject: [PATCH 3/4] Added the selection changed parameter --- src/project/ProjectManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index 9f17e1f7a04..72635585211 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -916,7 +916,7 @@ define(function (require, exports, module) { // jsTree will automatically expand parent nodes to ensure visible _projectTree.jstree("select_node", $node, false); _lastSelected = entry; - _redraw(true); + _redraw(true, true); }); } From 2a27cc7f2a384dc9f82952effd3e8d58b5006d41 Mon Sep 17 00:00:00 2001 From: Bernhard Sirlinger Date: Wed, 3 Apr 2013 16:39:59 +0200 Subject: [PATCH 4/4] Final fix implemented --- src/project/ProjectManager.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index bc8b4c029cc..51c25143e10 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -908,10 +908,10 @@ define(function (require, exports, module) { function showInTree(entry) { return _findTreeNode(entry) .done(function ($node) { - _projectTree.jstree("deselect_all"); - // jsTree will automatically expand parent nodes to ensure visible - _projectTree.jstree("select_node", $node, false); - _lastSelected = entry; + _projectTree.jstree("deselect_node", _lastSelected); + _lastSelected = null; + _projectTree.jstree("select_node", $node); + _lastSelected = $node; _redraw(true, true); }); }