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

Unified Diff: chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc

Issue 184213006: Add icon to the streamlined hosted app creation dialog. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ares_hide_search_box
Patch Set: Created 6 years, 9 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
« no previous file with comments | « chrome/browser/ui/views/extensions/bookmark_app_bubble_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc
diff --git a/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc b/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc
index d59679dfe3064699c278530963200a8163c45d15..3f94b717532e01eec250ebe51245f556f37ae237 100644
--- a/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc
+++ b/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc
@@ -6,6 +6,7 @@
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/extensions/app_icon_loader_impl.h"
#include "chrome/browser/extensions/crx_installer.h"
#include "chrome/browser/extensions/launch_util.h"
#include "chrome/browser/profiles/profile.h"
@@ -17,6 +18,7 @@
#include "ui/events/keycodes/keyboard_codes.h"
#include "ui/views/controls/button/checkbox.h"
#include "ui/views/controls/button/label_button.h"
+#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/textfield/textfield.h"
#include "ui/views/layout/grid_layout.h"
@@ -32,6 +34,8 @@ namespace {
const int kMinBubbleWidth = 300;
// Minimum width of the the textfield.
const int kMinTextfieldWidth = 200;
+// Size of the icon.
+const int kIconSize = extension_misc::EXTENSION_ICON_MEDIUM;
} // namespace
@@ -69,7 +73,10 @@ BookmarkAppBubbleView::BookmarkAppBubbleView(
cancel_button_(NULL),
open_as_tab_checkbox_(NULL),
title_tf_(NULL),
- remove_app_(true) {
+ remove_app_(true),
+ app_icon_loader_(new extensions::AppIconLoaderImpl(profile,
+ kIconSize,
+ this)) {
const SkColor background_color = GetNativeTheme()->GetSystemColor(
ui::NativeTheme::kColorId_DialogBackground);
set_arrow(views::BubbleBorder::TOP_CENTER);
@@ -111,11 +118,18 @@ void BookmarkAppBubbleView::Init() {
GridLayout::LEADING, GridLayout::CENTER, 0, GridLayout::USE_PREF, 0, 0);
cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
- // The column layout used for the text box.
+ // The column layout used for the icon and text box.
cs = layout->AddColumnSet(TITLE_TEXT_COLUMN_SET_ID);
cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
+ cs->AddColumn(GridLayout::LEADING,
+ GridLayout::CENTER,
+ 0,
+ GridLayout::USE_PREF,
+ 0,
+ 0);
+ cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
cs->AddColumn(GridLayout::FILL,
- GridLayout::FILL,
+ GridLayout::CENTER,
1,
GridLayout::USE_PREF,
0,
@@ -124,29 +138,37 @@ void BookmarkAppBubbleView::Init() {
// The column layout used for the row with buttons.
cs = layout->AddColumnSet(CONTENT_COLUMN_SET_ID);
- cs->AddPaddingColumn(1, views::kButtonHEdgeMarginNew);
-
+ cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
cs->AddColumn(
- GridLayout::LEADING, GridLayout::TRAILING, 0, GridLayout::USE_PREF, 0, 0);
+ GridLayout::LEADING, GridLayout::CENTER, 0, GridLayout::USE_PREF, 0, 0);
+ cs->AddPaddingColumn(1, views::kUnrelatedControlHorizontalSpacing);
+ cs->AddColumn(
+ GridLayout::LEADING, GridLayout::CENTER, 0, GridLayout::USE_PREF, 0, 0);
cs->AddPaddingColumn(0, views::kRelatedButtonHSpacing);
cs->AddColumn(
- GridLayout::LEADING, GridLayout::TRAILING, 0, GridLayout::USE_PREF, 0, 0);
+ GridLayout::LEADING, GridLayout::CENTER, 0, GridLayout::USE_PREF, 0, 0);
cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
layout->StartRow(0, TITLE_COLUMN_SET_ID);
layout->AddView(title_label);
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
- layout->StartRow(0, TITLE_TEXT_COLUMN_SET_ID);
- title_tf_ = new views::Textfield();
const extensions::Extension* extension =
profile_->GetExtensionService()->GetInstalledExtension(extension_id_);
+
+ layout->StartRow(0, TITLE_TEXT_COLUMN_SET_ID);
+ icon_image_view_ = new views::ImageView();
+ icon_image_view_->SetImageSize(gfx::Size(kIconSize, kIconSize));
+ layout->AddView(icon_image_view_);
+ app_icon_loader_->FetchImage(extension_id_);
+
+ title_tf_ = new views::Textfield();
title_tf_->SetText(extension ? base::UTF8ToUTF16(extension->name())
: web_app_info_.title);
layout->AddView(title_tf_);
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
- layout->StartRow(0, TITLE_COLUMN_SET_ID);
+ layout->StartRow(0, CONTENT_COLUMN_SET_ID);
open_as_tab_checkbox_ = new views::Checkbox(
l10n_util::GetStringUTF16(IDS_BOOKMARK_APP_BUBBLE_OPEN_AS_TAB));
open_as_tab_checkbox_->SetChecked(
@@ -154,9 +176,6 @@ void BookmarkAppBubbleView::Init() {
extensions::pref_names::kBookmarkAppCreationLaunchType) ==
extensions::LAUNCH_TYPE_REGULAR);
layout->AddView(open_as_tab_checkbox_);
- layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
-
- layout->StartRow(0, CONTENT_COLUMN_SET_ID);
layout->AddView(add_button_);
layout->AddView(cancel_button_);
layout->AddPaddingRow(0, views::kUnrelatedControlVerticalSpacing);
@@ -203,6 +222,12 @@ void BookmarkAppBubbleView::ButtonPressed(views::Button* sender,
HandleButtonPressed(sender);
}
+void BookmarkAppBubbleView::SetAppImage(const std::string& id,
+ const gfx::ImageSkia& image) {
+ DCHECK_EQ(extension_id_, id);
+ icon_image_view_->SetImage(image);
+}
+
void BookmarkAppBubbleView::HandleButtonPressed(views::Button* sender) {
// Unset |remove_app_| so we don't delete the bookmark after the window
// closes.
« no previous file with comments | « chrome/browser/ui/views/extensions/bookmark_app_bubble_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698