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:
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs66
1 files changed, 42 insertions, 24 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
index b996ba099c..b062f6ca28 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
@@ -30,11 +30,11 @@ using MonoDevelop.Core;
using System.Collections.Generic;
using Gtk;
using System.Linq;
-using ICSharpCode.NRefactory.TypeSystem;
using MonoDevelop.Ide;
using MonoDevelop.Ide.CodeCompletion;
using Mono.Addins;
-using Mono.TextEditor;
+using MonoDevelop.Ide.Gui;
+using MonoDevelop.Core.Text;
namespace MonoDevelop.Components.MainToolbar
{
@@ -84,7 +84,13 @@ namespace MonoDevelop.Components.MainToolbar
{
throw new NotImplementedException ();
}
- DomRegion ISearchDataSource.GetRegion (int item)
+
+ ISegment ISearchDataSource.GetRegion (int item)
+ {
+ throw new NotImplementedException ();
+ }
+
+ string ISearchDataSource.GetFileName (int item)
{
throw new NotImplementedException ();
}
@@ -176,16 +182,18 @@ namespace MonoDevelop.Components.MainToolbar
var region = SelectedItemRegion;
Destroy ();
- if (string.IsNullOrEmpty (region.FileName))
+ if (string.IsNullOrEmpty (SelectedItemFileName))
return;
- if (region.Begin.IsEmpty) {
+ if (region.Length <= 0) {
if (Pattern.LineNumber == 0) {
- IdeApp.Workbench.OpenDocument (region.FileName);
+ IdeApp.Workbench.OpenDocument (SelectedItemFileName);
} else {
- IdeApp.Workbench.OpenDocument (region.FileName, Pattern.LineNumber, Pattern.HasColumn ? Pattern.Column : 1);
+ IdeApp.Workbench.OpenDocument (SelectedItemFileName, Pattern.LineNumber, Pattern.HasColumn ? Pattern.Column : 1);
}
} else {
- IdeApp.Workbench.OpenDocument (region.FileName, region.BeginLine, region.BeginColumn);
+ IdeApp.Workbench.OpenDocument (new FileOpenInformation (SelectedItemFileName, null) {
+ Offset = region.Offset
+ });
}
}
}
@@ -226,6 +234,8 @@ namespace MonoDevelop.Components.MainToolbar
LoggingService.LogError ("Error getting search results", t.Exception);
} else {
Application.Invoke (delegate {
+ if (token.IsCancellationRequested)
+ return;
ShowResult (cat, t.Result ?? new NullDataSource ());
});
}
@@ -344,13 +354,13 @@ namespace MonoDevelop.Components.MainToolbar
return new ItemIdentifier (category, dataSrc, i);
}
- var region = dataSrc.GetRegion (i);
- if (!region.Begin.IsEmpty) {
- layout.SetMarkup (region.BeginLine.ToString ());
- int w2, h2;
- layout.GetPixelSize (out w2, out h2);
- w += w2;
- }
+// var region = dataSrc.GetRegion (i);
+// if (!region.IsEmpty) {
+// layout.SetMarkup (region.BeginLine.ToString ());
+// int w2, h2;
+// layout.GetPixelSize (out w2, out h2);
+// w += w2;
+// }
itemsAdded++;
}
if (itemsAdded > 0)
@@ -743,14 +753,22 @@ namespace MonoDevelop.Components.MainToolbar
handler (this, e);
}
- public DomRegion SelectedItemRegion {
+ public ISegment SelectedItemRegion {
get {
if (selectedItem == null || selectedItem.Item < 0 || selectedItem.Item >= selectedItem.DataSource.ItemCount)
- return DomRegion.Empty;
+ return TextSegment.Invalid;
return selectedItem.DataSource.GetRegion (selectedItem.Item);
}
}
+ public string SelectedItemFileName {
+ get {
+ if (selectedItem == null || selectedItem.Item < 0 || selectedItem.Item >= selectedItem.DataSource.ItemCount)
+ return null;
+ return selectedItem.DataSource.GetFileName (selectedItem.Item);
+ }
+ }
+
class ItemIdentifier {
public SearchCategory Category { get; private set; }
public ISearchDataSource DataSource { get; private set; }
@@ -820,13 +838,13 @@ namespace MonoDevelop.Components.MainToolbar
return new Cairo.Rectangle (0, y, Allocation.Width, h + itemSeparatorHeight);
y += h + itemSeparatorHeight;
- var region = dataSrc.GetRegion (i);
- if (!region.Begin.IsEmpty) {
- layout.SetMarkup (region.BeginLine.ToString ());
- int w2, h2;
- layout.GetPixelSize (out w2, out h2);
- w += w2;
- }
+// var region = dataSrc.GetRegion (i);
+// if (!region.IsEmpty) {
+// layout.SetMarkup (region.BeginLine.ToString ());
+// int w2, h2;
+// layout.GetPixelSize (out w2, out h2);
+// w += w2;
+// }
itemsAdded++;
}
if (itemsAdded > 0)