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:
authortherzok <marius.ungureanu@xamarin.com>2016-10-04 18:47:26 +0300
committertherzok <marius.ungureanu@xamarin.com>2016-10-04 18:47:26 +0300
commitc44733b162101e0b8c3ab1daa228d38ceab6ab22 (patch)
tree75514ad09d59ce60748f3bfa66e851870332f5c6 /main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar
parentd67e17abd71cea90c3ced030f5ebd78c05993372 (diff)
Revert "Revert "[Ide] Optimize GetRowMarkup allocations.""
This reverts commit 8188ad4b06058d527f709ee29f813e969ae2c78f.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs20
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchResult.cs7
2 files changed, 20 insertions, 7 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 e065ada657..ee72a25f89 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
@@ -1011,11 +1011,23 @@ namespace MonoDevelop.Components.MainToolbar
{
var resultFgColor = selected ? selectedResultTextColor : resultTextColor;
var descFgColor = selected ? selectedResultDescriptionTextColor : resultDescriptionTextColor;
- string txt = "<span foreground=\"" + resultFgColor + "\">" + result.GetMarkupText(selected) +"</span>";
+ string text = result.GetMarkupText (selected);
string desc = result.GetDescriptionMarkupText ();
- if (!string.IsNullOrEmpty (desc))
- txt += "<span foreground=\"" + descFgColor + "\" size=\"small\">\n" + desc + "</span>";
- return txt;
+
+ var sb = new System.Text.StringBuilder (text.Length + resultFgColor.Length + desc.Length + descFgColor.Length + 68);
+ sb.Append ("<span foreground=\"");
+ sb.Append (resultFgColor);
+ sb.Append ("\">");
+ sb.Append (text);
+ sb.Append ("</span>");
+ if (!string.IsNullOrEmpty (desc)) {
+ sb.Append ("<span foreground=\"");
+ sb.Append (descFgColor);
+ sb.Append ("\" size=\"small\">\n");
+ sb.Append (desc);
+ sb.Append ("</span>");
+ }
+ return sb.ToString ();
}
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchResult.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchResult.cs
index 947de20ce6..6c74611fb3 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchResult.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchResult.cs
@@ -99,12 +99,13 @@ namespace MonoDevelop.Components.MainToolbar
this.MatchedString = matchedString;
Rank = rank;
}
-
+
+ static string selectedResultMatchTextColor = Styles.ColorGetHex (Styles.GlobalSearch.SelectedResultMatchTextColor);
+ static string resultMatchTextColor = Styles.ColorGetHex (Styles.GlobalSearch.ResultMatchTextColor);
protected static string HighlightMatch (string text, string toMatch, bool selected)
{
var lane = StringMatcher.GetMatcher (toMatch, true).GetMatch (text);
- var matchColor = selected ? Styles.GlobalSearch.SelectedResultMatchTextColor : Styles.GlobalSearch.ResultMatchTextColor;
- var matchHexColor = Styles.ColorGetHex (matchColor);
+ var matchHexColor = selected ? selectedResultMatchTextColor : resultMatchTextColor;
StringBuilder result = new StringBuilder ();
if (lane != null) {
int lastPos = 0;