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>2009-08-26 16:14:25 +0400
committerMike Krüger <mkrueger@novell.com>2009-08-26 16:14:25 +0400
commitaaac17ecd2beef1158067051508c853418f2f9e5 (patch)
tree84449cc5d873c71c6c1801f7e2a57101761f5f6e /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles
parentf65b399dc238b9ec8b64ce6f0c381760102d1bad (diff)
* MonoDevelop.Ide.FindInFiles/SearchResultWidget.cs: Optimized the
search result widget. svn path=/trunk/monodevelop/; revision=140708
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchResultWidget.cs24
1 files changed, 18 insertions, 6 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchResultWidget.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchResultWidget.cs
index 166aff2eb7..e79369b56f 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchResultWidget.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchResultWidget.cs
@@ -94,11 +94,8 @@ namespace MonoDevelop.Ide.FindInFiles
fileNameColumn.SetCellDataFunc (fileNameRenderer, new Gtk.TreeCellDataFunc (FileNameDataFunc));
treeviewSearchResults.AppendColumn (fileNameColumn);
- store.SetSortFunc (0, new TreeIterCompareFunc (CompareFileNames));
-
TreeViewColumn lineColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Line"), new Gtk.CellRendererText (), new Gtk.TreeCellDataFunc (ResultLineDataFunc));
lineColumn.SortColumnId = 1;
- store.SetSortFunc (1, new TreeIterCompareFunc (CompareLineNumbers));
TreeViewColumn textColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Text"), new Gtk.CellRendererText (), new Gtk.TreeCellDataFunc (ResultTextDataFunc));
textColumn.SortColumnId = 2;
@@ -107,6 +104,8 @@ namespace MonoDevelop.Ide.FindInFiles
TreeViewColumn pathColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Path"), new Gtk.CellRendererText (), new Gtk.TreeCellDataFunc (ResultPathDataFunc));
pathColumn.SortColumnId = 3;
pathColumn.Resizable = true;
+ store.SetSortFunc (0, new TreeIterCompareFunc (CompareFileNames));
+ store.SetSortFunc (1, new TreeIterCompareFunc (CompareLineNumbers));
store.SetSortFunc (3, new TreeIterCompareFunc (CompareFilePaths));
treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated;
@@ -173,13 +172,19 @@ namespace MonoDevelop.Ide.FindInFiles
{
Reset ();
buttonStop.Sensitive = true;
-// treeviewSearchResults.Model = null;
+ treeviewSearchResults.FreezeChildNotify ();
+ store.SetSortFunc (0, new TreeIterCompareFunc (DefaultSortFunc));
+ store.SetSortFunc (1, new TreeIterCompareFunc (DefaultSortFunc));
+ store.SetSortFunc (3, new TreeIterCompareFunc (DefaultSortFunc));
}
public void EndProgress ()
{
buttonStop.Sensitive = false;
-// treeviewSearchResults.Model = store;
+ store.SetSortFunc (0, new TreeIterCompareFunc (CompareFileNames));
+ store.SetSortFunc (1, new TreeIterCompareFunc (CompareLineNumbers));
+ store.SetSortFunc (3, new TreeIterCompareFunc (CompareFilePaths));
+ treeviewSearchResults.ThawChildNotify ();
}
public void Reset ()
@@ -192,6 +197,7 @@ namespace MonoDevelop.Ide.FindInFiles
store.Clear ();
labelStatus.Text = "";
textviewLog.Buffer.Clear ();
+
}
protected override void OnDestroyed ()
@@ -304,6 +310,11 @@ namespace MonoDevelop.Ide.FindInFiles
return loc1.Line.CompareTo (loc2.Line);
}
+ static int DefaultSortFunc (TreeModel model, TreeIter first, TreeIter second)
+ {
+ return 0;
+ }
+
static int CompareFileNames (TreeModel model, TreeIter first, TreeIter second)
{
SearchResult searchResult1 = (SearchResult)model.GetValue (first, SearchResultColumn);
@@ -342,6 +353,7 @@ namespace MonoDevelop.Ide.FindInFiles
{
CellRendererText textRenderer = (CellRendererText)cell;
SearchResult searchResult = (SearchResult)store.GetValue (iter, SearchResultColumn);
+
Mono.TextEditor.Document doc = GetDocument (searchResult);
int lineNr = doc.OffsetToLineNumber (searchResult.Offset);
LineSegment line = doc.GetLine (lineNr);
@@ -458,8 +470,8 @@ namespace MonoDevelop.Ide.FindInFiles
public void Add (SearchResult result)
{
+ store.InsertWithValues (ResultCount, result, false);
ResultCount++;
- store.AppendValues (result, false);
}
void OpenDocumentAt (Gtk.TreeIter iter)