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 <mkrueger@novell.com>2010-01-14 16:10:50 +0300
committerMike Krüger <mkrueger@novell.com>2010-01-14 16:10:50 +0300
commit90de5975caa9f72f2e9d48df302745c43fe3d7b2 (patch)
tree7f8f7e25c56738fc746a7c2702af95b672fd8f7a /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components
parentba7d75874fa35bcb3d1e899378e04eb62a91e009 (diff)
* MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs: Added
left/right as collapse/expand keys. svn path=/trunk/monodevelop/; revision=149554
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs42
1 files changed, 39 insertions, 3 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 77af44dc63..6efc757995 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
@@ -698,7 +698,7 @@ namespace MonoDevelop.Ide.Gui.Components
// will be handled by the node Entry.
if (editingText)
return null;
-
+
ArrayList targets = new ArrayList ();
foreach (SelectionGroup grp in GetSelectedNodesGrouped ()) {
@@ -716,18 +716,48 @@ namespace MonoDevelop.Ide.Gui.Components
lastNode = newNode;
}
}
-
+
if (targetChain != null)
targets.Add (targetChain);
}
}
if (targets.Count == 1)
- return targets [0];
+ return targets[0];
else if (targets.Count > 1)
return new MulticastNodeRouter (targets);
else
return null;
}
+
+ void ExpandCurrentItem ()
+ {
+ try {
+ LockUpdates ();
+ foreach (SelectionGroup grp in GetSelectedNodesGrouped ()) {
+ grp.SavePositions ();
+ foreach (var node in grp.Nodes) {
+ node.Expanded = true;
+ }
+ }
+ } finally {
+ UnlockUpdates ();
+ }
+ }
+
+ void CollapseCurrentItem ()
+ {
+ try {
+ LockUpdates ();
+ foreach (SelectionGroup grp in GetSelectedNodesGrouped ()) {
+ grp.SavePositions ();
+ foreach (var node in grp.Nodes) {
+ node.Expanded = false;
+ }
+ }
+ } finally {
+ UnlockUpdates ();
+ }
+ }
[CommandHandler (ViewCommands.Open)]
public virtual void ActivateCurrentItem ()
@@ -1646,6 +1676,12 @@ namespace MonoDevelop.Ide.Gui.Components
}
args.RetVal = true;
}
+ if (args.Event.Key == Gdk.Key.Right || args.Event.Key == Gdk.Key.KP_Right) {
+ ExpandCurrentItem ();
+ }
+ if (args.Event.Key == Gdk.Key.Left || args.Event.Key == Gdk.Key.KP_Left) {
+ CollapseCurrentItem ();
+ }
if (args.Event.Key == Gdk.Key.Return || args.Event.Key == Gdk.Key.KP_Enter) {
ActivateCurrentItem ();