Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mikkrg@microsoft.com>2019-07-16 13:34:10 +0300
committerMike Krüger <mikkrg@microsoft.com>2019-07-16 13:34:10 +0300
commit487a7b83669aa4b20e7663f0c45f60e56a8718b4 (patch)
tree4a20e75ebe24b91398e3dcc0261aa977e976eea3
parent85af902b1a58cbee1a0d1770bf5290e303db6199 (diff)
[Ide] Fixed editing text during ExtensibleTreeView refresh.master-vsts933992
Update is now only done for a node when the node is not edited. An update is done always (even on cancel) on the node edited. + Removed the "delay" from folder node builder "add folder" command.
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs3
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs4
3 files changed, 8 insertions, 5 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs
index aa0a970ac5..70bbbaaff1 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs
@@ -66,8 +66,9 @@ namespace MonoDevelop.Ide.Gui.Components
TreeBuilderContext builderContext;
Dictionary<object, List<TreeNodeCallback>> callbacks = new Dictionary<object, List<TreeNodeCallback>> ();
bool editingText = false;
+ Gtk.TreeIter editingIter;
- TreePadOption[] options;
+ TreePadOption [] options;
TreeOptions globalOptions;
TreeNodeNavigator workNode;
@@ -1406,7 +1407,8 @@ namespace MonoDevelop.Ide.Gui.Components
// Ensure we set all our state variables before calling SetCursor
// as this may directly invoke HandleOnEditCancelled
text_render.Editable = true;
- editingText = true;
+ editingText = true;
+ editingIter = iter;
tree.SetCursor (store.GetPath (iter), complete_column, true);
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs
index ed9a5c74ae..55d4f37cf4 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs
@@ -270,7 +270,8 @@ namespace MonoDevelop.Ide.Gui.Components
void UpdateNode (NodeBuilder[] chain, NodeAttributes ats, object dataObject)
{
bool isNew = false;
-
+ if (pad.editingText && currentIter.Equals (pad.editingIter))
+ return;
var ni = (NodeInfo)store.GetValue (currentIter, ExtensibleTreeView.NodeInfoColumn);
if (ni == null || ni.IsShared) {
ni = new NodeInfo ();
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs
index a5f7838ad4..01238edb04 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs
@@ -553,13 +553,13 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
newFolder.Subtype = Subtype.Directory;
project.Files.Add (newFolder);
- await IdeApp.ProjectOperations.SaveAsync (project);
-
Tree.AddNodeInsertCallback (new ProjectFolder (newFolderPath, project), nav => {
nav.Selected = true;
nav.Expanded = true;
Tree.StartLabelEdit ();
});
+
+ await IdeApp.ProjectOperations.SaveAsync (project);
}
static bool AddNewFolder (FilePath directoryPath)