diff options
author | Mike Krüger <mkrueger@novell.com> | 2010-04-08 16:55:30 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@novell.com> | 2010-04-08 16:55:30 +0400 |
commit | e2a20932247269b9f1790be4f110e2913176fb0c (patch) | |
tree | b5e6e914f942ab4ab9e2505602c603c2446b7989 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion | |
parent | 1c7e54f5472dab18267bfec0fafbaae3b0cb5422 (diff) |
* MonoDevelop.Ide.addin.xml:
* MonoDevelop.Ide.CodeCompletion/ListWindow.cs:
* MonoDevelop.Ide.Commands/TextEditorCommands.cs:
* MonoDevelop.Ide.CodeCompletion/CompletionListWindow.cs:
* MonoDevelop.Ide.CodeCompletion/CompletionWindowManager.cs:
Implemented 'Bug 572067 - Shortcut for toggling between completion
and suggestion mode'.
svn path=/trunk/monodevelop/; revision=155044
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion')
3 files changed, 21 insertions, 6 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionListWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionListWindow.cs index a39fee9136..6fd3fc515e 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionListWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionListWindow.cs @@ -467,7 +467,6 @@ namespace MonoDevelop.Ide.CodeCompletion public bool Timer () { Opacity = System.Math.Min (1.0, Opacity + 0.33); - Console.WriteLine (" current:" + window.declarationviewwindow.Opacity + " set to:" + Opacity); window.declarationviewwindow.Opacity = Opacity; bool result = Math.Round (Opacity * 10.0) < 10; if (!result) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionWindowManager.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionWindowManager.cs index 5b5d44c1c0..8ba9b47298 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionWindowManager.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionWindowManager.cs @@ -51,7 +51,18 @@ namespace MonoDevelop.Ide.CodeCompletion get { return wnd.CodeCompletionContext; } - } + } + + static bool forceSuggestionMode; + public static bool ForceSuggestionMode { + get { return forceSuggestionMode; } + set { + forceSuggestionMode = value; + if (wnd != null) { + wnd.AutoCompleteEmptyMatch = wnd.AutoSelect = !forceSuggestionMode; + } + } + } static CompletionWindowManager () { @@ -71,6 +82,10 @@ namespace MonoDevelop.Ide.CodeCompletion DestroyWindow (); return false; } + + if (ForceSuggestionMode) + wnd.AutoSelect = false; + OnWindowShown (EventArgs.Empty); return true; } catch (Exception ex) { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs index 82beccdda7..ac2877d2dc 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs @@ -240,7 +240,7 @@ namespace MonoDevelop.Ide.CodeCompletion switch (key) { case Gdk.Key.Up: if ((modifier & Gdk.ModifierType.ShiftMask) == Gdk.ModifierType.ShiftMask) { - if (!SelectionEnabled) + if (!SelectionEnabled && !CompletionWindowManager.ForceSuggestionMode) AutoCompleteEmptyMatch = AutoSelect = true; if (!List.InCategoryMode) { List.InCategoryMode = true; @@ -251,7 +251,7 @@ namespace MonoDevelop.Ide.CodeCompletion } if (SelectionEnabled && list.filteredItems.Count < 2) return KeyActions.CloseWindow | KeyActions.Process; - if (!SelectionEnabled) { + if (!SelectionEnabled && !CompletionWindowManager.ForceSuggestionMode) { AutoCompleteEmptyMatch = AutoSelect = true; } else { list.MoveCursor (-1); @@ -260,7 +260,7 @@ namespace MonoDevelop.Ide.CodeCompletion case Gdk.Key.Down: if ((modifier & Gdk.ModifierType.ShiftMask) == Gdk.ModifierType.ShiftMask) { - if (!SelectionEnabled) + if (!SelectionEnabled && !CompletionWindowManager.ForceSuggestionMode) AutoCompleteEmptyMatch = AutoSelect = true; if (!List.InCategoryMode) { List.InCategoryMode = true; @@ -271,7 +271,8 @@ namespace MonoDevelop.Ide.CodeCompletion } if (SelectionEnabled && list.filteredItems.Count < 2) return KeyActions.CloseWindow | KeyActions.Process; - if (!SelectionEnabled) { + + if (!SelectionEnabled && !CompletionWindowManager.ForceSuggestionMode) { AutoCompleteEmptyMatch = AutoSelect = true; } else { list.MoveCursor (1); |