Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Unified Diff: chrome/browser/ui/views/bookmarks/bookmark_sync_promo_view.cc

Issue 18603006: Bookmark sync promo for Views. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test for CrOS Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/bookmarks/bookmark_sync_promo_view.cc
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_sync_promo_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_sync_promo_view.cc
new file mode 100644
index 0000000000000000000000000000000000000000..ef722e8db27c343305a67bee44bf837ef0539bba
--- /dev/null
+++ b/chrome/browser/ui/views/bookmarks/bookmark_sync_promo_view.cc
@@ -0,0 +1,78 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/views/bookmarks/bookmark_sync_promo_view.h"
+
+#include "base/strings/string16.h"
+#include "chrome/browser/ui/bookmarks/bookmark_bubble_delegate.h"
+#include "grit/generated_resources.h"
+#include "third_party/skia/include/core/SkColor.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/gfx/font.h"
+#include "ui/views/background.h"
+#include "ui/views/border.h"
+#include "ui/views/controls/styled_label.h"
+#include "ui/views/layout/box_layout.h"
+#include "ui/views/layout/layout_constants.h"
+
+namespace {
+// Background color of the promo.
+const SkColor kBackgroundColor = SkColorSetRGB(245, 245, 245);
+
+// Color of the top border of the promo.
+const SkColor kBorderColor = SkColorSetRGB(229, 229, 229);
+
+// Width of the top border of the promo.
+const int kBorderWidth = 1;
+
+// Color of the text of the promo.
+const SkColor kTextColor = SkColorSetRGB(102, 102, 102);
+
+} // namespace
+
+BookmarkSyncPromoView::BookmarkSyncPromoView(BookmarkBubbleDelegate* delegate)
+ : delegate_(delegate) {
+ set_background(views::Background::CreateSolidBackground(kBackgroundColor));
+ set_border(views::Border::CreateSolidSidedBorder(kBorderWidth,
+ 0,
+ 0,
+ 0,
+ kBorderColor));
+ size_t offset;
+ string16 link_text = l10n_util::GetStringUTF16(IDS_BOOKMARK_SYNC_PROMO_LINK);
+ string16 promo_text = l10n_util::GetStringFUTF16(
+ IDS_BOOKMARK_SYNC_PROMO_MESSAGE,
+ link_text,
+ &offset);
+
+ views::StyledLabel* promo_label = new views::StyledLabel(promo_text, this);
+ promo_label->SetDisplayedOnBackgroundColor(kBackgroundColor);
+
+ views::StyledLabel::RangeStyleInfo link_style =
+ views::StyledLabel::RangeStyleInfo::CreateForLink();
+ link_style.font_style = gfx::Font::NORMAL;
+ promo_label->AddStyleRange(ui::Range(offset, offset + link_text.length()),
+ link_style);
+
+ views::StyledLabel::RangeStyleInfo promo_style;
+ promo_style.color = kTextColor;
+ ui::Range before_link_range(0, offset);
+ if (!before_link_range.is_empty())
+ promo_label->AddStyleRange(before_link_range, promo_style);
+ ui::Range after_link_range(offset + link_text.length(), promo_text.length());
+ if (!after_link_range.is_empty())
+ promo_label->AddStyleRange(after_link_range, promo_style);
+
+ views::BoxLayout* layout = new views::BoxLayout(views::BoxLayout::kVertical,
+ views::kButtonHEdgeMarginNew,
+ views::kPanelVertMargin,
+ 0);
+ SetLayoutManager(layout);
+ AddChildView(promo_label);
+}
+
+void BookmarkSyncPromoView::StyledLabelLinkClicked(const ui::Range& range,
+ int event_flags) {
+ delegate_->OnSignInLinkClicked();
+}

Powered by Google App Engine
This is Rietveld 408576698