Make the base URL show in bold font in the URL input field, and the rest of the

text in dark gray.

git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@445 94f232f2-1747-11df-bad5-a5bfde151594
This commit is contained in:
stippi 2010-04-20 22:52:41 +00:00 committed by Alexandre Deckner
parent c53bbc329d
commit 9d15059974

View File

@ -171,6 +171,7 @@ URLInputGroup::URLTextView::URLTextView(URLInputGroup* parent)
fPreviousText("")
{
MakeResizable(true);
SetStylable(true);
}
@ -334,6 +335,31 @@ URLInputGroup::URLTextView::InsertText(const char* inText, int32 inLength,
BTextView::InsertText(filteredText.String(), inLength, inOffset,
inRuns);
}
// Make the base URL part bold.
BString text(Text(), TextLength());
int32 baseUrlStart = text.FindFirst("://");
if (baseUrlStart >= 0)
baseUrlStart += 3;
else
baseUrlStart = 0;
int32 baseUrlEnd = text.FindFirst("/", baseUrlStart);
if (baseUrlEnd < 0)
baseUrlEnd = TextLength();
BFont font;
GetFont(&font);
const rgb_color black = (rgb_color){ 0, 0, 0, 255 };
const rgb_color gray = (rgb_color){ 60, 60, 60, 255 };
if (baseUrlStart > 0)
SetFontAndColor(0, baseUrlStart - 1, &font, B_FONT_ALL, &gray);
if (baseUrlEnd > baseUrlStart) {
font.SetFace(B_BOLD_FACE);
SetFontAndColor(baseUrlStart, baseUrlEnd, &font, B_FONT_ALL, &black);
}
if (baseUrlEnd < TextLength()) {
font.SetFace(B_REGULAR_FACE);
SetFontAndColor(baseUrlEnd, TextLength(), &font, B_FONT_ALL, &gray);
}
}