From 9d150599741158a2e9efd09305020a73b5d0bd8f Mon Sep 17 00:00:00 2001 From: stippi Date: Tue, 20 Apr 2010 22:52:41 +0000 Subject: [PATCH] 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 --- src/apps/webpositive/URLInputGroup.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/apps/webpositive/URLInputGroup.cpp b/src/apps/webpositive/URLInputGroup.cpp index b372fcfbdc..c1f9c999b9 100644 --- a/src/apps/webpositive/URLInputGroup.cpp +++ b/src/apps/webpositive/URLInputGroup.cpp @@ -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); + } }